summaryrefslogtreecommitdiff
path: root/data/en_us/iot/2018-01-20
diff options
context:
space:
mode:
Diffstat (limited to 'data/en_us/iot/2018-01-20')
-rw-r--r--data/en_us/iot/2018-01-20/api-docs.php65926
1 files changed, 65926 insertions, 0 deletions
diff --git a/data/en_us/iot/2018-01-20/api-docs.php b/data/en_us/iot/2018-01-20/api-docs.php
new file mode 100644
index 0000000..23cf9ee
--- /dev/null
+++ b/data/en_us/iot/2018-01-20/api-docs.php
@@ -0,0 +1,65926 @@
+<?php return [
+ 'version' => '1.0',
+ 'info' => [
+ 'style' => 'RPC',
+ 'product' => 'Iot',
+ 'version' => '2018-01-20',
+ ],
+ 'directories' => [
+ [
+ 'id' => 184536,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'BatchGrayMigrationDevice',
+ ],
+ ],
+ [
+ 'id' => 96338,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateProduct',
+ 'QueryProduct',
+ 'QueryProductList',
+ 'UpdateProduct',
+ 'DeleteProduct',
+ 'CreateProductTags',
+ 'UpdateProductTags',
+ 'DeleteProductTags',
+ 'ListProductTags',
+ 'ListProductByTags',
+ 'UpdateProductFilterConfig',
+ 'QueryProductCertInfo',
+ 'SetProductCertInfo',
+ 'ReleaseProduct',
+ 'CancelReleaseProduct',
+ ],
+ ],
+ [
+ 'id' => 96475,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'RegisterDevice',
+ 'QueryClientIds',
+ 'TransformClientId',
+ 'DeleteClientIds',
+ 'QueryDeviceInfo',
+ 'QueryDeviceDetail',
+ 'BatchQueryDeviceDetail',
+ 'QueryDevice',
+ 'DeleteDevice',
+ 'GetDeviceStatus',
+ 'BatchGetDeviceState',
+ 'DisableThing',
+ 'EnableThing',
+ 'ResetThing',
+ 'BatchCheckDeviceNames',
+ 'BatchRegisterDeviceWithApplyId',
+ 'BatchRegisterDevice',
+ 'BatchUpdateDeviceNickname',
+ 'QueryBatchRegisterDeviceStatus',
+ 'QueryPageByApplyId',
+ 'GetGatewayBySubDevice',
+ 'QueryDeviceProp',
+ 'SaveDeviceProp',
+ 'DeleteDeviceProp',
+ 'QueryDeviceByTags',
+ 'GetThingTopo',
+ 'NotifyAddThingTopo',
+ 'BatchAddThingTopo',
+ 'RemoveThingTopo',
+ 'QueryDeviceStatistics',
+ 'QueryLoRaJoinPermissions',
+ 'CreateLoRaNodesTask',
+ 'GetLoraNodesTask',
+ 'QueryDeviceFileList',
+ 'QueryDeviceFile',
+ 'DeleteDeviceFile',
+ 'QueryDeviceCert',
+ 'QueryCertUrlByApplyId',
+ 'QueryDeviceByStatus',
+ 'QueryDeviceBySQL',
+ 'ImportDevice',
+ 'BatchImportDevice',
+ 'QueryImportedDeviceByApplyId',
+ 'BatchCheckImportDevice',
+ 'BatchImportVehicleDevice',
+ 'BatchCheckVehicleDevice',
+ 'QueryVehicleDevice',
+ ],
+ ],
+ [
+ 'id' => 169156,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateDeviceDistributeJob',
+ 'CreateProductDistributeJob',
+ 'QueryDeviceDistributeDetail',
+ 'QueryDeviceDistributeJob',
+ 'ListDeviceDistributeJob',
+ 'DeleteDeviceDistributeJob',
+ 'ListDistributedDevice',
+ 'ListDistributedProduct',
+ 'QueryDeviceProvisioning',
+ ],
+ ],
+ [
+ 'id' => 169267,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateDeviceTunnel',
+ 'CloseDeviceTunnel',
+ 'DeleteDeviceTunnel',
+ 'QueryDeviceTunnel',
+ ],
+ ],
+ [
+ 'id' => 96467,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateDeviceGroup',
+ 'CreateDeviceDynamicGroup',
+ 'UpdateDeviceGroup',
+ 'DeleteDeviceGroup',
+ 'DeleteDeviceDynamicGroup',
+ 'BatchAddDeviceGroupRelations',
+ 'BatchDeleteDeviceGroupRelations',
+ 'QueryDeviceGroupInfo',
+ 'QueryDynamicGroupDevices',
+ 'QueryDeviceGroupList',
+ 'SetDeviceGroupTags',
+ 'QueryDeviceGroupTagList',
+ 'QueryDeviceGroupByDevice',
+ 'QuerySuperDeviceGroup',
+ 'QueryDeviceListByDeviceGroup',
+ 'QueryDeviceGroupByTags',
+ ],
+ ],
+ [
+ 'id' => 96372,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateThingModel',
+ 'UpdateThingModel',
+ 'QueryThingModel',
+ 'CopyThingModel',
+ 'PublishThingModel',
+ 'DeleteThingModel',
+ 'ListThingTemplates',
+ 'GetThingTemplate',
+ 'ListThingModelVersion',
+ 'GetThingModelTsl',
+ 'ImportThingModelTsl',
+ 'QueryThingModelPublished',
+ 'GetThingModelTslPublished',
+ 'QueryThingModelExtendConfig',
+ 'QueryThingModelExtendConfigPublished',
+ 'CreateThingScript',
+ 'UpdateThingScript',
+ 'GetThingScript',
+ ],
+ ],
+ [
+ 'id' => 169268,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'SetDeviceProperty',
+ 'SetDevicesProperty',
+ 'InvokeThingService',
+ 'InvokeThingsService',
+ 'QueryDevicePropertyData',
+ 'QueryDevicePropertiesData',
+ 'QueryDeviceEventData',
+ 'QueryDeviceServiceData',
+ 'SetDeviceDesiredProperty',
+ 'QueryDeviceDesiredProperty',
+ 'QueryDevicePropertyStatus',
+ 'QueryDeviceOriginalPropertyStatus',
+ 'QueryDeviceOriginalPropertyData',
+ 'QueryDeviceOriginalEventData',
+ 'QueryDeviceOriginalServiceData',
+ 'ClearDeviceDesiredProperty',
+ ],
+ ],
+ [
+ 'id' => 96358,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateJob',
+ 'GenerateFileUploadURL',
+ 'UpdateJob',
+ 'QueryJob',
+ 'ListJob',
+ 'CancelJob',
+ 'DeleteJob',
+ 'ListTask',
+ 'QueryTask',
+ 'QueryJobStatistics',
+ 'RerunJob',
+ ],
+ ],
+ [
+ 'id' => 169157,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateProductTopic',
+ 'UpdateProductTopic',
+ 'QueryProductTopic',
+ 'DeleteProductTopic',
+ 'CreateTopicRouteTable',
+ 'QueryTopicRouteTable',
+ 'QueryTopicReverseRouteTable',
+ 'DeleteTopicRouteTable',
+ ],
+ ],
+ [
+ 'id' => 96441,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateRule',
+ 'CreateRuleAction',
+ 'DeleteRule',
+ 'DeleteRuleAction',
+ 'GetRule',
+ 'GetRuleAction',
+ 'ListRule',
+ 'ListRuleActions',
+ 'StartRule',
+ 'StopRule',
+ 'UpdateRule',
+ 'UpdateRuleAction',
+ ],
+ ],
+ [
+ 'id' => 169348,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateParser',
+ 'UpdateParser',
+ 'ListParser',
+ 'GetParser',
+ 'DeleteParser',
+ 'CreateParserDataSource',
+ 'UpdateParserDataSource',
+ 'ListParserDataSource',
+ 'GetParserDataSource',
+ 'DeleteParserDataSource',
+ 'CreateDataSourceItem',
+ 'ListDataSourceItem',
+ 'DeleteDataSourceItem',
+ 'CreateDestination',
+ 'UpdateDestination',
+ 'ListDestination',
+ 'DeleteDestination',
+ 'GetDestination',
+ 'AttachParserDataSource',
+ 'AttachDestination',
+ 'DetachParserDataSource',
+ 'DetachDestination',
+ 'ListParserDestination',
+ 'PublishScript',
+ 'SaveScript',
+ 'StartParser',
+ 'StopParser',
+ ],
+ ],
+ [
+ 'id' => 96431,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'ListAnalyticsData',
+ 'WriteDevicesHotStorageData',
+ 'QueryDevicesHotStorageDataStatus',
+ 'QueryDevicesHotStorageData',
+ 'ResetDeviceTimeline',
+ 'CreateDataAPIService',
+ 'GetDataAPIServiceDetail',
+ 'InvokeDataAPIService',
+ 'AddDataForApiSource',
+ 'BatchAddDataForApiSource',
+ 'CreateDownloadDataJob',
+ 'GetDownloadFile',
+ ],
+ ],
+ [
+ 'id' => 169269,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'BatchPub',
+ 'Pub',
+ 'PubBroadcast',
+ 'RRpc',
+ 'AsyncRRpc',
+ 'QueryMessageInfo',
+ 'SubscribeTopic',
+ 'QueryDeviceSubTopic',
+ 'UpdateTopicConfig',
+ ],
+ ],
+ [
+ 'id' => 96326,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateSubscribeRelation',
+ 'UpdateSubscribeRelation',
+ 'QuerySubscribeRelation',
+ 'DeleteSubscribeRelation',
+ 'CreateConsumerGroup',
+ 'UpdateConsumerGroup',
+ 'QueryConsumerGroupByGroupId',
+ 'QueryConsumerGroupList',
+ 'QueryConsumerGroupStatus',
+ 'ResetConsumerGroupPosition',
+ 'DeleteConsumerGroup',
+ 'CreateConsumerGroupSubscribeRelation',
+ 'DeleteConsumerGroupSubscribeRelation',
+ ],
+ ],
+ [
+ 'id' => 169270,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'GetDeviceShadow',
+ 'UpdateDeviceShadow',
+ ],
+ ],
+ [
+ 'id' => 96400,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'GenerateOTAUploadURL',
+ 'GenerateDeviceNameListURL',
+ 'CreateOTAFirmware',
+ 'ModifyOTAFirmware',
+ 'DeleteOTAFirmware',
+ 'ListOTAFirmware',
+ 'QueryOTAFirmware',
+ 'CreateOTAVerifyJob',
+ 'CreateOTAStaticUpgradeJob',
+ 'CreateOTADynamicUpgradeJob',
+ 'ListOTAJobByFirmware',
+ 'ListOTAJobByDevice',
+ 'ListOTATaskByJob',
+ 'QueryOTAJob',
+ 'CancelOTAStrategyByJob',
+ 'CancelOTATaskByJob',
+ 'CancelOTATaskByDevice',
+ 'CreateOTAModule',
+ 'UpdateOTAModule',
+ 'DeleteOTAModule',
+ 'ListOTAModuleByProduct',
+ 'ConfirmOTATask',
+ 'ListOTAUnfinishedTaskByDevice',
+ 'ReupgradeOTATask',
+ 'ListOTAModuleVersionsByDevice',
+ ],
+ ],
+ [
+ 'id' => 96313,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'OpenIotService',
+ ],
+ ],
+ [
+ 'id' => 169425,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ [
+ 'id' => 169428,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'BindLicenseProduct',
+ 'UnbindLicenseProduct',
+ 'BindLicenseDevice',
+ 'CheckBindLicenseDeviceProgress',
+ 'QueryLicenseDeviceList',
+ 'ReBindLicenseDevice',
+ ],
+ ],
+ [
+ 'id' => 184548,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'ImportDTData',
+ ],
+ ],
+ [
+ 'id' => 169427,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'PrintByTemplate',
+ ],
+ ],
+ [
+ 'id' => 169430,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'GisQueryDeviceLocation',
+ 'GisSearchDeviceTrace',
+ ],
+ ],
+ [
+ 'id' => 169426,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateSpeech',
+ 'UpdateSpeech',
+ 'QuerySpeechLicenseAvailableQuota',
+ 'GetSpeechVoice',
+ 'TestSpeech',
+ 'QuerySpeech',
+ 'QuerySpeechList',
+ 'PushSpeech',
+ 'DeleteSpeech',
+ 'QuerySolutionDeviceGroupPage',
+ 'QuerySpeechPushJob',
+ 'QuerySpeechPushJobDevice',
+ 'QuerySpeechPushJobSpeech',
+ 'SpeechByCombination',
+ 'SyncSpeechByCombination',
+ 'SpeechBySynthesis',
+ 'QuerySpeechDevice',
+ 'QueryDeviceSpeech',
+ 'GetSpeechDeviceDetail',
+ 'DeleteDeviceSpeech',
+ 'GetShareTaskByDeviceOpen',
+ 'GetShareSpeechModelAudio',
+ 'GetSpeechLicenseDeviceStatistics',
+ 'QuerySpeechLicenseDeviceList',
+ 'AddShareTaskDevice',
+ 'DeleteShareTaskDevice',
+ 'QueryProjectShareDeviceList',
+ 'QueryShareTaskDeviceList',
+ 'ShareSpeechByCombination',
+ 'PageQuerySharedSpeechOpen',
+ 'CountSpeechBroadcastHour',
+ 'PageQuerySpeechBroadcastHour',
+ 'CreateSharePromotionActivity',
+ 'QuerySharePromotionActivityAuditResult',
+ 'AddDeviceToSharePromotion',
+ 'CreateSharePromotionSpeechModel',
+ 'QueryShareProductNameByProductKey',
+ ],
+ ],
+ [
+ 'id' => 169429,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateSoundCode',
+ 'DeleteSoundCode',
+ 'QuerySoundCodeList',
+ 'GetSoundCodeAudio',
+ 'CreateSoundCodeSchedule',
+ 'UpdateSoundCodeSchedule',
+ 'DeleteSoundCodeSchedule',
+ 'QuerySoundCodeScheduleList',
+ 'GetSoundCodeSchedule',
+ 'UpdateSchedulePeriod',
+ 'CreateSchedulePeriod',
+ 'DeleteSchedulePeriod',
+ 'QuerySchedulePeriodList',
+ 'CreateSoundCodeLabel',
+ 'UpdateSoundCodeLabel',
+ 'DeleteSoundCodeLabel',
+ 'QuerySoundCodeLabelList',
+ 'BatchCreateSoundCodeLabel',
+ 'BatchCreateSoundCodeLabelWithLabels',
+ 'QuerySoundCodeLabelBatchList',
+ 'QuerySoundCodeLabelBatchFailedResult',
+ 'PackageSoundCodeLabelBatchAudio',
+ 'RetrySoundCodeLabelBatch',
+ 'UpdateSoundCode',
+ ],
+ ],
+ ],
+ ],
+ [
+ 'id' => 96332,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateSceneRule',
+ 'DeleteSceneRule',
+ 'UpdateSceneRule',
+ 'GetSceneRule',
+ 'QuerySceneRule',
+ 'EnableSceneRule',
+ 'DisableSceneRule',
+ 'TriggerSceneRule',
+ 'QuerySummarySceneRuleLog',
+ 'QueryDetailSceneRuleLog',
+ ],
+ ],
+ [
+ 'id' => 96543,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateEdgeInstance',
+ 'DeleteEdgeInstance',
+ 'UpdateEdgeInstance',
+ 'GetEdgeInstance',
+ 'QueryEdgeInstance',
+ 'BindGatewayToEdgeInstance',
+ 'QueryEdgeInstanceGateway',
+ 'BindDriverToEdgeInstance',
+ 'UnbindDriverFromEdgeInstance',
+ 'QueryEdgeInstanceDriver',
+ 'SetEdgeInstanceDriverConfigs',
+ 'ClearEdgeInstanceDriverConfigs',
+ 'BatchGetEdgeInstanceDriverConfigs',
+ 'BatchBindDeviceToEdgeInstanceWithDriver',
+ 'BatchUnbindDeviceFromEdgeInstance',
+ 'QueryEdgeInstanceDevice',
+ 'BatchSetEdgeInstanceDeviceConfig',
+ 'BatchClearEdgeInstanceDeviceConfig',
+ 'BatchGetEdgeInstanceDeviceConfig',
+ 'CreateEdgeInstanceDeployment',
+ 'CloseEdgeInstanceDeployment',
+ 'GetEdgeInstanceDeployment',
+ 'QueryEdgeInstanceHistoricDeployment',
+ ],
+ ],
+ [
+ 'id' => 96388,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateEdgeDriver',
+ 'DeleteEdgeDriver',
+ 'BatchGetEdgeDriver',
+ 'QueryEdgeDriver',
+ 'CreateEdgeDriverVersion',
+ 'DeleteEdgeDriverVersion',
+ 'UpdateEdgeDriverVersion',
+ 'GetEdgeDriverVersion',
+ 'QueryEdgeDriverVersion',
+ 'CreateEdgeOssPreSignedAddress',
+ 'BindApplicationToEdgeInstance',
+ 'UnbindApplicationFromEdgeInstance',
+ 'CreateEdgeInstanceChannel',
+ 'BatchDeleteEdgeInstanceChannel',
+ 'UpdateEdgeInstanceChannel',
+ 'BatchGetEdgeInstanceChannel',
+ 'QueryEdgeInstanceChannel',
+ 'BatchSetEdgeInstanceDeviceChannel',
+ 'BatchGetEdgeInstanceDeviceChannel',
+ 'QueryEdgeInstanceDeviceByDriver',
+ 'BatchGetEdgeInstanceDeviceDriver',
+ 'BatchGetDeviceBindStatus',
+ 'ReplaceEdgeInstanceGateway',
+ 'ReleaseEdgeDriverVersion',
+ 'BindRoleToEdgeInstance',
+ 'UnbindRoleFromEdgeInstance',
+ ],
+ ],
+ [
+ 'id' => 169271,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'BindSceneRuleToEdgeInstance',
+ 'UnbindSceneRuleFromEdgeInstance',
+ 'QueryEdgeInstanceSceneRule',
+ ],
+ ],
+ [
+ 'id' => 169434,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'EnableDeviceTunnel',
+ 'GetDeviceTunnelStatus',
+ 'DisableDeviceTunnel',
+ 'GetDeviceTunnelShareStatus',
+ 'EnableDeviceTunnelShare',
+ 'DisableDeviceTunnelShare',
+ 'RefreshDeviceTunnelSharePassword',
+ ],
+ ],
+ [
+ 'id' => 169435,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateEdgeInstanceMessageRouting',
+ 'DeleteEdgeInstanceMessageRouting',
+ 'UpdateEdgeInstanceMessageRouting',
+ 'GetEdgeInstanceMessageRouting',
+ 'QueryEdgeInstanceMessageRouting',
+ 'QueryEdgeInstanceMessageRouting',
+ ],
+ ],
+ [
+ 'id' => 169158,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'BatchBindProductsIntoProject',
+ 'BatchUnbindProjectProducts',
+ 'BatchBindDevicesIntoProject',
+ 'BatchUnbindProjectDevices',
+ 'QueryStudioProjectList',
+ 'SetStudioProjectCooperation',
+ 'QueryStudioAppList',
+ 'QueryStudioAppPageListOpen',
+ 'QueryStudioAppDomainListOpen',
+ 'DeleteStudioAppDomainOpen',
+ 'CreateStudioAppDomainOpen',
+ 'SetupStudioAppAuthModeOpen',
+ 'GetStudioAppTokenOpen',
+ 'RefreshStudioAppTokenOpen',
+ 'PublishStudioApp',
+ ],
+ ],
+ [
+ 'id' => 186351,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'TestSwitch',
+ 'CreateTopicConfig',
+ 'DeleteTopicConfig',
+ 'QueryTopicConfig',
+ 'DeleteUserDefineTableDataByPrimaryKey',
+ 'AddPowerStation',
+ 'DeletePowerStation',
+ 'ListPowerStation',
+ 'ModifyPowerStation',
+ 'StartPTDetection',
+ 'UpdateOTAJob',
+ 'QueryCustomTimelineTableStatus',
+ 'CopyThingModelAsync',
+ 'GetThingModelStatusInner',
+ 'PublishThingModelAsync',
+ 'PublishThingModelAsyncInner',
+ 'UnsubscribeTopic',
+ ],
+ ],
+ ],
+ 'components' => [
+ 'schemas' => [],
+ ],
+ 'apis' => [
+ 'BatchGrayMigrationDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceNames',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ 'required' => true,
+ 'example' => 'light',
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Details' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'item' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'SUCCEEDEED',
+ ],
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '500',
+ ],
+ 'Message' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'DeviceName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'light',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.device.InvalidParams',
+ 'errorMessage' => 'The parameter is invalid。',
+ ],
+ [
+ 'errorCode' => 'iot.provisioning.TaskNotExist',
+ 'errorMessage' => 'Task not exists.',
+ ],
+ [
+ 'errorCode' => 'iot.provisioning.InvalidDistributionStatus',
+ 'errorMessage' => 'The distribution status is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Details\\": {\\n \\"item\\": [\\n {\\n \\"Status\\": \\"SUCCEEDED\\",\\n \\"Code\\": 500,\\n \\"Message\\": \\"系统错误\\",\\n \\"DeviceName\\": \\"light\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<BatchGrayMigrationDeviceResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Data>\\n <Details>\\n <item>\\n <Status>DEVICE_SUCCEEDED</Status>\\n <DeviceName>light</DeviceName>\\n </item>\\n </Details>\\n</Data>\\n<Success>true</Success>\\n</BatchGrayMigrationDeviceResponse>","errorExample":""}]',
+ 'title' => 'BatchGrayMigrationDevice',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateProduct' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n\n"
+ .'**Important**'."\n"
+ ."\n"
+ .'* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information about the instance, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-***-v64***',
+ ],
+ ],
+ [
+ 'name' => 'ProductName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the product.'."\n"
+ ."\n"
+ .'The name must be 4 to 30 characters in length, and can contain letters, digits, and underscores (\\_).'."\n"
+ ."\n\n"
+ .'**Important** Each product name must be unique within the current instance.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Light',
+ ],
+ ],
+ [
+ 'name' => 'NodeType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The node type of the product. Valid values:'."\n"
+ ."\n"
+ .'* **0**: device. Sub-devices cannot be attached to a device. A device can be directly connected to IoT Platform or connected to IoT Platform as a sub-device of a gateway. If you use the device as a sub-device, you must also configure the **ProtocolType** parameter.'."\n"
+ .'* **1**: gateway. Sub-devices can be attached to a gateway. A gateway can manage sub-devices, maintain topological relationships with sub-devices, and synchronize topological relationships to IoT Platform.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'DataFormat',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The data format.'."\n"
+ ."\n"
+ .'If the **AliyunCommodityCode** parameter is set to **iothub_senior**, you must configure this parameter.'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ ."\n"
+ .'* **0**: custom data format.'."\n"
+ .'* **1**: Alink JSON format.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the product. The description can be up to 100 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Product test',
+ ],
+ ],
+ [
+ 'name' => 'AliyunCommodityCode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The edition of the product.'."\n"
+ ."\n"
+ .'* If you do not configure this parameter, a product of the Basic Edition is automatically created. You cannot use a TSL model to define the product.'."\n"
+ .'* If you want to configure this parameter, set the value to **iothub_senior**. A product that supports TSL models is created. You must also configure the **DataFormat** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iothub_senior',
+ ],
+ ],
+ [
+ 'name' => 'Id2',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'You do not need to configure this parameter.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ProtocolType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The protocol used by the devices of the product to connect to the gateway.'."\n"
+ ."\n"
+ .'If the **AliyunCommodityCode** parameter is set to **iothub_senior** and a gateway is required to connect the devices of the product to IoT Platform, you must configure this parameter.'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ ."\n"
+ .'* **modbus**: Modbus.'."\n"
+ .'* **opc-ua**: Open Platform Communication Unified Architecture (OPC UA).'."\n"
+ .'* **customize**: custom protocol.'."\n"
+ .'* **ble**: Bluetooth Low Energy (BLE).'."\n"
+ .'* **zigbee**: ZigBee.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'modbus',
+ ],
+ ],
+ [
+ 'name' => 'NetType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The network connection method.'."\n"
+ ."\n"
+ .'If the **AliyunCommodityCode** parameter is set to **iothub_senior** and the devices of the product are directly connected devices or gateways, you must configure this parameter.'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ ."\n"
+ .'* **WIFI**: Wi-Fi.'."\n"
+ .'* **CELLULAR**: cellular network.'."\n"
+ .'* **ETHERNET**: Ethernet.'."\n"
+ .'* **OTHER**: other networks.'."\n"
+ ."\n"
+ .'Default value: WIFI.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'WIFI',
+ ],
+ ],
+ [
+ 'name' => 'JoinPermissionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'You do not need to configure this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '8***',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the product belongs. If you specify a value for this parameter, the product is added to the resource group.'."\n"
+ ."\n"
+ .'You can log on to the [Resource Management console](https://resourcemanager.console.aliyun.com/resource-groups) to view the ID of the resource group.'."\n"
+ ."\n\n"
+ .'**Important**'."\n"
+ ."\n"
+ .'You can specify a value for this parameter only if you have activated Resource Management.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmxazb4ph***',
+ ],
+ ],
+ [
+ 'name' => 'AuthType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The verification method that is used to connect the devices of the product to IoT Platform.'."\n"
+ ."\n"
+ .'You do not need to configure this parameter. **secret**: uses DeviceSecrets to verify the devices. Default value: secret. For more information, see [MQTT connections over TCP](~~73742~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'secret',
+ ],
+ ],
+ [
+ 'name' => 'CategoryKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the product category. If you configure this parameter, a TSL model of the product category is used. Otherwise, no TSL model is used.'."\n"
+ ."\n"
+ .'You can call the [ListThingTemplates](~~150316~~) operation to query the details of product categories that are predefined by IoT Platform and obtain category keys.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Lighting',
+ ],
+ ],
+ [
+ 'name' => 'PublishAuto',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to publish the TSL model after the product is created.'."\n"
+ ."\n"
+ .'* **true**: publishes the TSL model after the product is created.'."\n"
+ .'* **false**: does not publish the TSL model after the product is created.'."\n"
+ ."\n"
+ .'Default value: **true**.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ValidateType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The level of data verification. If you do not configure this parameter, the default value is used. Valid values:'."\n"
+ ."\n"
+ .'* **1**: weak verification. Default value: 1. IoT Platform verifies only the identifier and dataType fields of the data. All data is forwarded.'."\n"
+ ."\n"
+ .' In the IoT Platform console, the data is displayed on the **TSL Data** tab of the **Device Details** page. The data that fails to be verified is not displayed.'."\n"
+ ."\n"
+ .' You can view the data that failed to be verified in the **checkFailedData** parameter of the forwarded data. For more information, see [Data formats](~~73736~~).'."\n"
+ ."\n"
+ .'* **2**: no verification. IoT Platform does not verify the data. All data is forwarded.'."\n"
+ ."\n"
+ .' In the IoT Platform console, the data is not displayed on the **TSL Data** tab of the **Device Details** page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The ProductKey of the product. A ProductKey is a GUID that is issued by IoT Platform to a product.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1FlqIQ****',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The product information returned if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'AuthType' => [
+ 'description' => 'The authentication method that is used to connect the devices of the product to IoT Platform. Valid values:'."\n"
+ ."\n"
+ .'* **secret**: uses DeviceSecrets to verify the devices.'."\n"
+ .'* **id2**: uses IoT Internet Device ID to verify the devices.'."\n"
+ .'* **x509**: uses X.509 certificates to verify the devices.'."\n",
+ 'type' => 'string',
+ 'example' => 'secret',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The ProductKey of the product. A ProductKey is a globally unique identifier (GUID) issued by IoT Platform to a new product.'."\n"
+ ."\n"
+ .'> Secure the **ProductKey** of the product. The ProductKey is required when you perform specific operations.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1FlqIQ****',
+ ],
+ 'ProductName' => [
+ 'description' => 'The name of the product.'."\n",
+ 'type' => 'string',
+ 'example' => 'Test',
+ ],
+ 'NodeType' => [
+ 'description' => 'The node type of the product. Valid values:'."\n"
+ ."\n"
+ .'* **0**: device. Sub-devices cannot be attached to a device. A device can be directly connected to IoT Platform or connected to IoT Platform as a sub-device of a gateway.'."\n"
+ .'* **1**: gateway. Sub-devices can be attached to a gateway. A gateway can manage sub-devices, maintain topological relationships with sub-devices, and synchronize topological relationships to IoT Platform.'."\n"
+ ."\n"
+ .'> This parameter is available only if the AliyunCommodityCode parameter is set to iothub_senior.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the product.'."\n",
+ 'type' => 'string',
+ 'example' => 'Product test',
+ ],
+ 'Id2' => [
+ 'description' => 'Indicates whether IoT Internet Device ID was enabled.'."\n"
+ ."\n"
+ .'* **true**: IoT Internet Device ID was enabled.'."\n"
+ .'* **false**: IoT Internet Device ID was disabled.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'ProductSecret' => [
+ 'description' => 'The ProductSecret of the product.'."\n",
+ 'type' => 'string',
+ 'example' => 'U5tW7i44uilc****',
+ ],
+ 'ProtocolType' => [
+ 'description' => 'The protocol used by the devices of the product to connect to the gateway.'."\n"
+ ."\n"
+ .'> This parameter is available only if the AliyunCommodityCode parameter is set to iothub_senior.'."\n",
+ 'type' => 'string',
+ 'example' => 'modbus',
+ ],
+ 'DataFormat' => [
+ 'description' => 'The data format.'."\n"
+ ."\n"
+ .'* **0**: custom data format.'."\n"
+ .'* **1**: Alink JSON format.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the AliyunCommodityCode parameter is set to iothub_senior.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'AliyunCommodityCode' => [
+ 'description' => 'The type of the product.'."\n"
+ ."\n"
+ .'* **iothub_senior**: A TSL model was used.'."\n"
+ .'* **iothub**: No TSL model was used.'."\n",
+ 'type' => 'string',
+ 'example' => 'iothub_senior',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"ProductKey\\": \\"a1FlqIQ****\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"AuthType\\": \\"secret\\",\\n \\"ProductKey\\": \\"a1FlqIQ****\\",\\n \\"ProductName\\": \\"Test\\",\\n \\"NodeType\\": 0,\\n \\"Description\\": \\"Product test\\",\\n \\"Id2\\": false,\\n \\"ProductSecret\\": \\"U5tW7i44uilc****\\",\\n \\"ProtocolType\\": \\"modbus\\",\\n \\"DataFormat\\": 1,\\n \\"AliyunCommodityCode\\": \\"iothub_senior\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<CreateProductResponse>\\n <Data>\\n <Description>Product test</Description>\\n <DataFormat>1</DataFormat>\\n <ProtocolType>modbus</ProtocolType>\\n <ProductKey>a1FlqIQ****</ProductKey>\\n <ProductSecret>U5tW7i44uilc****</ProductSecret>\\n <NodeType>0</NodeType>\\n <ProductName>Test</ProductName>\\n <AliyunCommodityCode>iothub_senior</AliyunCommodityCode>\\n <AuthType>secret</AuthType>\\n <ResourceGroupId>rg-acfmxazb4ph****</ResourceGroupId>\\n </Data>\\n <ProductKey>a1FlqIQ****</ProductKey>\\n <RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n <Success>true</Success>\\n</CreateProductResponse>","errorExample":""}]',
+ 'title' => 'CreateProduct',
+ 'summary' => 'Creates a product.',
+ 'description' => 'If a Thing Specification Language (TSL) model is required to create a product, you must set the **AliyunCommodityCode** parameter to iothub_senior and configure the **DataFormat** parameter.******** For more information, see the "**Request parameters**" section of this topic.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 50 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryProduct' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'> * If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'> * If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product that you want to query. A ProductKey is a GUID that is issued by IoT Platform to a product. You can use the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products within the current account.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E4F94B97-1D64-4080-BFD2-67461667AA43',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The product information returned if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Owner' => [
+ 'description' => 'Indicates whether the operation was called by the owner of the product.'."\n"
+ ."\n"
+ .'* **true**: yes.'."\n"
+ .'* **false**: no.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ProductName' => [
+ 'description' => 'The name of the product.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'ProductSecret' => [
+ 'description' => 'The ProductSecret of the product.'."\n",
+ 'type' => 'string',
+ 'example' => 'U5tW7i44uilc****',
+ ],
+ 'DataFormat' => [
+ 'description' => 'The data format that was used by a communication protocol to transmit data between the devices and IoT Platform. This parameter is available if the AliyunCommodityCode parameter is set to iothub_senior.'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ ."\n"
+ .'* **0**: custom. A custom serial data format was used. In this case, the device can submit raw data, such as binary data streams. IoT Platform converts the raw data into standard Alink JSON data by using a specified data parsing script.'."\n"
+ .'* **1**: Alink JSON. Alink JSON data is transmitted between the devices and IoT Platform. Alink is a data exchange protocol that is pre-defined by IoT Platform.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'CategoryName' => [
+ 'description' => 'The name of the product category.'."\n"
+ ."\n"
+ .'This parameter is returned if the product uses the TSL model of a standard category that is pre-defined by IoT Platform.'."\n"
+ ."\n"
+ .'This parameter is available if the AliyunCommodityCode parameter is set to iothub_senior.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'ProductStatus' => [
+ 'description' => 'The status of the product.'."\n"
+ ."\n"
+ .'* **DEVELOPMENT_STATUS**: The product is being developed.'."\n"
+ .'* **RELEASE_STATUS**: The product was published.'."\n",
+ 'type' => 'string',
+ 'example' => 'DEVELOPMENT_STATUS',
+ ],
+ 'AliyunCommodityCode' => [
+ 'description' => 'The type of the product. This parameter indicates whether a Thing Specification Language (TSL) model was used.'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ ."\n"
+ .'* **iothub_senior**: A TSL model was used.'."\n"
+ .'* **iothub**: No TSL model was used.'."\n",
+ 'type' => 'string',
+ 'example' => 'iothub_senior',
+ ],
+ 'DeviceCount' => [
+ 'description' => 'The number of devices under the product.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'AuthType' => [
+ 'description' => 'The authentication method that was used to connect the devices of the product to IoT Platform. Valid values:'."\n"
+ ."\n"
+ .'* **secret**: DeviceSecrets were used to authenticate the devices.'."\n"
+ .'* **id2**: IoT Internet Device ID was used to authenticate the devices.'."\n"
+ .'* **x509**: X.509 certificates were used to authenticate the devices.'."\n",
+ 'type' => 'string',
+ 'example' => 'secret',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The ProductKey of the product. When you create a product, a ProductKey is the globally unique identifier (GUID) that is issued by IoT Platform to the product.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1T27vz****',
+ ],
+ 'NodeType' => [
+ 'description' => 'The node type of the product. This parameter is available if the AliyunCommodityCode parameter is set to iothub_senior. Valid values:'."\n"
+ ."\n"
+ .'* **0**: device. Sub-devices cannot be attached to a device. A device can connect to IoT Platform directly or as a sub-device of a gateway.'."\n"
+ .'* **1**: gateway. Sub-devices can be attached to a gateway. A gateway can manage sub-devices, maintain the topological relationships with sub-devices, and synchronize the topological relationships to IoT Platform.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the product.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'ValidateType' => [
+ 'description' => 'The level of the data verification. Valid values:'."\n"
+ ."\n"
+ .'* **2**: no verification. IoT Platform does not verify the data. All data is forwarded.'."\n"
+ ."\n"
+ .' In the IoT Platform console, the data is not displayed on the TSL Data tab of the Device Details page.'."\n"
+ ."\n"
+ .'* **1**: low-level verification. IoT Platform verifies only the identifier and dataType fields of the data. All data is forwarded.'."\n"
+ ."\n"
+ .'* **0**: high-level verification. IoT Platform verifies all fields of the data. Only the data that passes the verification is forwarded.'."\n"
+ ."\n"
+ .' The products that were created before October 14, 2020 support only high-level verification.'."\n"
+ ."\n"
+ .'The products that were created on October 14, 2020 or later support low-level verification or no verification.'."\n"
+ ."\n"
+ .'After verification, you can view the data that passes or fails the verification.'."\n"
+ ."\n"
+ .'* In the IoT Platform console, the data is displayed on the **TSL Data** tab of the **Device Details** page. The data that fails the verification is not displayed.'."\n"
+ .'* You can view the data that fails the verification in the **checkFailedData** parameter of the forwarded data. For more information, see [Data formats](~~73736~~).'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Id2' => [
+ 'description' => 'Indicates whether IoT Internet Device ID was enabled. Valid values:'."\n"
+ ."\n"
+ .'* **true**: IoT Internet Device ID was enabled.'."\n"
+ .'* **false**: IoT Internet Device ID was disabled.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'NetType' => [
+ 'description' => 'The network connection method. Valid values:'."\n"
+ ."\n"
+ .'* **3**: Wi-Fi.'."\n"
+ .'* **6**: cellular network (2G/3G/4G/5G).'."\n"
+ .'* **7**: Ethernet.'."\n"
+ .'* **8**: others.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The time when the product was created. The value is a timestamp in milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581595942000',
+ ],
+ 'ProtocolType' => [
+ 'description' => 'The type of the protocol that was used by the sub-devices to connect with a gateway.'."\n"
+ ."\n"
+ .'This parameter is available if the AliyunCommodityCode parameter is set to iothub_senior and the NodeType parameter is set to 1. Valid values:'."\n"
+ ."\n"
+ .'* **modbus**: Modbus.'."\n"
+ .'* **opc-ua**: OPC UA.'."\n"
+ .'* **customize**: custom protocol.'."\n"
+ .'* **ble**: BLE.'."\n"
+ .'* **zigbee**: ZigBee.'."\n",
+ 'type' => 'string',
+ 'example' => 'modbus',
+ ],
+ 'CategoryKey' => [
+ 'description' => 'The identifier of the category to which the product belongs.'."\n"
+ ."\n"
+ .'This parameter is returned if the product uses the TSL model of a standard category that is pre-defined by IoT Platform.'."\n"
+ ."\n"
+ .'This parameter is available if the AliyunCommodityCode parameter is set to iothub_senior.'."\n",
+ 'type' => 'string',
+ 'example' => 'Lighting',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4F94B97-1D64-4080-BFD2-67461667AA43\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Owner\\": true,\\n \\"ProductName\\": \\"路灯\\",\\n \\"ProductSecret\\": \\"U5tW7i44uilc****\\",\\n \\"DataFormat\\": 1,\\n \\"CategoryName\\": \\"路灯照明\\",\\n \\"ProductStatus\\": \\"DEVELOPMENT_STATUS\\",\\n \\"AliyunCommodityCode\\": \\"iothub_senior\\",\\n \\"DeviceCount\\": 0,\\n \\"AuthType\\": \\"secret\\",\\n \\"ProductKey\\": \\"a1T27vz****\\",\\n \\"NodeType\\": 0,\\n \\"Description\\": \\"智能路灯\\",\\n \\"ValidateType\\": 1,\\n \\"Id2\\": false,\\n \\"NetType\\": 3,\\n \\"GmtCreate\\": 1581595942000,\\n \\"ProtocolType\\": \\"modbus\\",\\n \\"CategoryKey\\": \\"Lighting\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryProductResponse>\\n<Data>\\n <Owner>true</Owner>\\n <CategoryName>路灯照明</CategoryName>\\n <DataFormat>1</DataFormat>\\n <ProductKey>a1BwAGV****</ProductKey>\\n <ProductStatus>DEVELOPMENT_STATUS</ProductStatus>\\n <GmtCreate>1581595942000</GmtCreate>\\n <ProductSecret>U5tW7i44uilc****</ProductSecret>\\n <NodeType>0</NodeType>\\n <ProductName>路灯</ProductName>\\n <ValidateType>1</ValidateType>\\n <DeviceCount>0</DeviceCount>\\n <NetType>3</NetType>\\n <AuthType>secret</AuthType>\\n <CategoryKey>Lighting</CategoryKey>\\n <Id2>false</Id2>\\n <AliyunCommodityCode>iothub_senior</AliyunCommodityCode>\\n</Data>\\n<RequestId>DA5A3C45-D457-48ED-9A20-AEDEA8503401</RequestId>\\n<Success>true</Success>\\n</QueryProductResponse>","errorExample":""}]',
+ 'title' => 'QueryProduct',
+ 'summary' => 'Queries the details of a product.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryProductList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n\n"
+ .'> * If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'> * If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: 1 to 200.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '2',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the product belongs. You can log on to the [Resource Management](https://resourcemanager.console.aliyun.com/resource-groups) console to view the details of the resource group.'."\n"
+ ."\n"
+ .'> You can specify a value for this parameter only if you have activated Resource Management.'."\n"
+ ."\n"
+ .'If you leave this parameter empty, the information about all products in the current account is queried.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmxazb4ph****',
+ ],
+ ],
+ [
+ 'name' => 'AliyunCommodityCode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the product. Valid values:'."\n"
+ ."\n"
+ .'* **iothub_senior**: A Thing Specification Language (TSL) model is used for the product.'."\n"
+ .'* **iothub**: No TSL model is used for the product.'."\n"
+ ."\n"
+ .'> If you do not configure this parameter, all products are returned.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iothub_senior',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '4B4ECF2C-6222-42EC-A4B5-C12202E71CEA',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The product information returned if the call is successful. For more information, see the following parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'CurrentPage' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of products.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '184',
+ ],
+ 'PageCount' => [
+ 'description' => 'The total number of returned pages.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '92',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'ProductInfo' => [
+ 'description' => 'The details of the products.'."\n"
+ ."\n"
+ .'> The returned product information is sorted in reverse-chronological order based on the time when the products were created.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'AuthType' => [
+ 'description' => 'The authentication method that was used to connect the devices of the product to IoT Platform. Valid values:'."\n"
+ ."\n"
+ .'* **secret**: DeviceSecrets were used to authenticate the devices.'."\n"
+ .'* **id2**: IoT Internet Device ID was used to authenticate the devices.'."\n"
+ .'* **x509**: X.509 certificates were used to authenticate the devices.'."\n",
+ 'type' => 'string',
+ 'example' => 'secret',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The ProductKey of the product. When you create a product, a ProductKey is a globally unique identifier (GUID) that is issued by IoT Platform to the product.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1T27vz****',
+ ],
+ 'ProductName' => [
+ 'description' => 'The name of the service.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the product.'."\n",
+ 'type' => 'string',
+ 'example' => 'This is a test product.',
+ ],
+ 'NodeType' => [
+ 'description' => 'The node type of the product. This parameter is available only if the AliyunCommodityCode parameter is set to iothub_senior. Valid values:'."\n"
+ ."\n"
+ .'* **0**: device. Sub-devices cannot be attached to a device. A device can be directly connected to IoT Platform or connected to IoT Platform as a sub-device of a gateway.'."\n"
+ .'* **1**: gateway. Sub-devices can be attached to a gateway. A gateway can manage sub-devices, maintain topological relationships with sub-devices, and synchronize topological relationships to IoT Platform.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The time when the product was created. The value is a timestamp in milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581595942000',
+ ],
+ 'DataFormat' => [
+ 'description' => 'The data format that was used by a communication protocol to transmit data between the devices and IoT Platform. This parameter is available only if the AliyunCommodityCode parameter is set to iothub_senior.'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ ."\n"
+ .'* **0**: custom. A custom serial data format was used. In this case, the device can submit raw data, such as binary data streams. IoT Platform converts the raw data into standard Alink JSON data by using a specified data parsing script.'."\n"
+ .'* **1**: Alink JSON. Alink JSON data is transmitted between the devices and IoT Platform. Alink is a data exchange protocol that is pre-defined by IoT Platform.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'DeviceCount' => [
+ 'description' => 'The number of devices in the product.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '128',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"4B4ECF2C-6222-42EC-A4B5-C12202E71CEA\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 2,\\n \\"Total\\": 184,\\n \\"PageCount\\": 92,\\n \\"List\\": {\\n \\"ProductInfo\\": [\\n {\\n \\"AuthType\\": \\"secret\\",\\n \\"ProductKey\\": \\"a1T27vz****\\",\\n \\"ProductName\\": \\"路灯\\",\\n \\"Description\\": \\"This is a test product.\\",\\n \\"NodeType\\": 0,\\n \\"GmtCreate\\": 1581595942000,\\n \\"DataFormat\\": 1,\\n \\"DeviceCount\\": 128\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<QueryProductListResponse>\\n<Data>\\n <PageCount>92</PageCount>\\n <PageSize>2</PageSize>\\n <List>\\n <ProductInfo>\\n <DataFormat>1</DataFormat>\\n <ProductKey>a1A0D4t****</ProductKey>\\n <NodeType>0</NodeType>\\n <ProductName>路灯产品</ProductName>\\n <DeviceCount>1</DeviceCount>\\n <GmtCreate>1569233025000</GmtCreate>\\n <AuthType>secret</AuthType>\\n </ProductInfo>\\n <ProductInfo>\\n <DataFormat>1</DataFormat>\\n <ProductKey>a1dEvuQ****</ProductKey>\\n <NodeType>0</NodeType>\\n <ProductName>子设备custom</ProductName>\\n <DeviceCount>0</DeviceCount>\\n <GmtCreate>1568690432000</GmtCreate>\\n <AuthType>secret</AuthType>\\n </ProductInfo>\\n </List>\\n <CurrentPage>1</CurrentPage>\\n <Total>184</Total>\\n</Data>\\n<RequestId>4B4ECF2C-6222-42EC-A4B5-C12202E71CEA</RequestId>\\n<Success>true</Success>\\n</QueryProductListResponse>","errorExample":""}]',
+ 'title' => 'QueryProductList',
+ 'summary' => 'Queries all products.',
+ 'description' => '## QPS limits'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run up to 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account.'."\n"
+ ."\n"
+ .'* If the product of the value of the **CurrentPage** parameter and the value of the **PageSize** parameter is greater than or equal to 100,000, the QPS of this operation decreases.'."\n"
+ ."\n"
+ .' In this case, each Alibaba Cloud account can run up to 2 QPS.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateProduct' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n\n"
+ ."\n"
+ .'**Important**'."\n"
+ ."\n"
+ .'* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n"
+ .'* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the product. The description must be 1 to 100 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product. A ProductKey is a GUID that is issued by IoT Platform to the product.****'."\n"
+ ."\n"
+ .'You can use the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products within the current Alibaba Cloud account.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'ProductName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new product name that you want to use.'."\n"
+ ."\n"
+ .'The name must be 4 to 30 characters in length, and can contain letters, digits, and underscores (\\_).'."\n"
+ ."\n\n"
+ .'**Important** Each product name must be unique within the current Alibaba Cloud account.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateProductResponse>\\n<RequestId>C4FDA54C-4201-487F-92E9-022F42387458</RequestId>\\n<Success>true</Success>\\n</UpdateProductResponse>","errorExample":""}]',
+ 'title' => 'UpdateProduct',
+ 'summary' => 'Modifies the information about a product.',
+ 'description' => '## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 10 times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteProduct' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-64***',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product that you want to delete. A ProductKey is a GUID that is issued by IoT Platform to a product. You can use the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products within the current account.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n <DeleteDeviceResponse>\\n <RequestId>57b144cf-09fc-4916-a272-a62902d5b207</RequestId>\\n <Success>true</Success>\\n </DeleteDeviceResponse>","errorExample":""}]',
+ 'title' => 'DeleteProduct',
+ 'summary' => 'Deletes a product.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* After a product is deleted, the ProductKey of the product is invalid. The related information about the product is also deleted. You cannot perform the required operations on the product.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateProductTags' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n\n"
+ .'**Important**'."\n"
+ ."\n"
+ .'* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product. A **ProductKey** is a GUID that is issued by IoT Platform to a product.'."\n"
+ ."\n"
+ .'You can use the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products within the current account.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'ProductTag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TagValue' => [
+ 'description' => 'The values of the product tags. Each tag value must be 1 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'TagValue',
+ ],
+ 'TagKey' => [
+ 'description' => 'The keys of product tags. Each key must be 1 to 30 characters in length, and can contain letters, digits, and periods (.).'."\n"
+ ."\n\n"
+ .'**Important** `abc` is a **key** that is reserved by IoT Platform. You cannot set a **key** to `abc`. If you set a `key` to abc, the key is automatically filtered when you query tags.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'room',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful. The tags were attached to the product.'."\n"
+ .'* **false**: The call failed. This value indicates that the tags failed to be attached to the product.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'InvalidProductTags' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'ProductTag' => [
+ 'description' => 'The invalid product tags returned if the call fails.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TagValue' => [
+ 'description' => 'The value of the tag.'."\n",
+ 'type' => 'string',
+ 'example' => '123$',
+ ],
+ 'TagKey' => [
+ 'description' => 'The key of the tag.'."\n",
+ 'type' => 'string',
+ 'example' => 'room',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"InvalidProductTags\\": {\\n \\"ProductTag\\": [\\n {\\n \\"TagValue\\": \\"123$\\",\\n \\"TagKey\\": \\"room\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateProductTagsResponse>\\n <RequestId>57b144cf-09fc-4916-a272-a62902d5b207</RequestId>\\n <Success>true</Success>\\n</CreateProductTagsResponse>","errorExample":""}]',
+ 'title' => 'CreateProductTags',
+ 'summary' => 'Creates tags for a product.',
+ 'description' => '* You can create a maximum of 10 tags for a product in a single call.'."\n"
+ .'* Each product can have a maximum of 100 tags.'."\n"
+ ."\n\n"
+ .'> You must specify the tag keys and tag values. Otherwise, the call fails. For description about the tag values, see the "**Request parameters**" section of this topic.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateProductTags' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'>* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product. A ProductKey is a GUID that is issued by IoT Platform to a product. You can use the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products within the current account.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'ProductTag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TagValue' => [
+ 'description' => 'The new values of the product tags. Each tag value must be 1 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '202',
+ ],
+ 'TagKey' => [
+ 'description' => 'The keys of the product tags. Each key must be 1 to 30 characters in length, and can contain letters, digits, and periods (.).'."\n"
+ ."\n"
+ .'> Each tag key that you specify must already exist. Each tag value that you specify must be unique.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'room',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'InvalidProductTags' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'ProductTag' => [
+ 'description' => 'The invalid product tags returned if the call fails. The details are included in the **ProductTag** parameter.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TagValue' => [
+ 'description' => 'The value of the tag.'."\n",
+ 'type' => 'string',
+ 'example' => '123',
+ ],
+ 'TagKey' => [
+ 'description' => 'The key of the tag.'."\n",
+ 'type' => 'string',
+ 'example' => 'room',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"InvalidProductTags\\": {\\n \\"ProductTag\\": [\\n {\\n \\"TagValue\\": \\"123\\",\\n \\"TagKey\\": \\"room\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<UpdateProductTagsResponse>\\n <RequestId>57b144cf-09fc-4916-a272-a62902d5b207</RequestId>\\n <Success>true</Success>\\n</UpdateProductTagsResponse>","errorExample":""}]',
+ 'title' => 'UpdateProductTags',
+ 'summary' => 'Updates product tags.',
+ 'description' => 'You can update a maximum of 10 tags in a single call.'."\n"
+ ."\n\n"
+ .'> You must specify the tag keys and tag values. Otherwise, the call fails. For description about the tag values, see the "**Request parameters**" section of this topic.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteProductTags' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-v64***',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product. A ProductKey is a GUID that is issued by IoT Platform to a product. You can use the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products within the current account.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'ProductTagKey',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The keys of the tags.'."\n",
+ ],
+ 'required' => true,
+ 'example' => 'room',
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteProductTagsResponse>\\n<RequestId>E7E8456E-EDD7-41D3-83B1-62FF4F5ED6BD</RequestId>\\n<Success>true</Success>\\n</DeleteProductTagsResponse>","errorExample":""}]',
+ 'title' => 'DeleteProductTags',
+ 'summary' => 'Deletes the tags of a product.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* You can delete a maximum of 10 tags in a single call.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListProductTags' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-v64***',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product. A ProductKey is a GUID that is issued by IoT Platform to a product. You can use the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products within the current account.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'ProductTag' => [
+ 'description' => 'The product tags returned if the call succeeds. For more information, see the parameters that are included in the **ProductTag** parameter.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TagValue' => [
+ 'description' => 'The value of the tag.'."\n",
+ 'type' => 'string',
+ 'example' => '102',
+ ],
+ 'TagKey' => [
+ 'description' => 'The key of each tag.'."\n",
+ 'type' => 'string',
+ 'example' => 'room',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ProductTag\\": [\\n {\\n \\"TagValue\\": \\"102\\",\\n \\"TagKey\\": \\"room\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<ListProductTagsResponse>\\n <Data>\\n <ProductTag>\\n <TagValue>alterTable</TagValue>\\n <TagKey>binary</TagKey>\\n </ProductTag>\\n <ProductTag>\\n <TagValue>json2</TagValue>\\n <TagKey>extt</TagKey>\\n </ProductTag>\\n <ProductTag>\\n <TagValue>1234</TagValue>\\n <TagKey>Lock</TagKey>\\n </ProductTag>\\n <ProductTag>\\n <TagValue>support</TagValue>\\n <TagKey>Lockk</TagKey>\\n </ProductTag>\\n <ProductTag>\\n <TagValue>reen</TagValue>\\n <TagKey>Reen</TagKey>\\n </ProductTag>\\n <ProductTag>\\n <TagValue>try</TagValue>\\n <TagKey>Reenn</TagKey>\\n </ProductTag>\\n <ProductTag>\\n <TagValue>DropTable</TagValue>\\n <TagKey>roc</TagKey>\\n </ProductTag>\\n </Data>\\n <RequestId>7FBE60F8-4AB5-4A8C-AFCB-F4F38851F01F</RequestId>\\n <Success>true</Success>\\n</ListProductTagsResponse>","errorExample":""}]',
+ 'title' => 'ListProductTags',
+ 'summary' => 'Queries all the tags of a product.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListProductByTags' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-v64***',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Maximum value: 50.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ProductTag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TagValue' => [
+ 'description' => 'The values of the product tags.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '102',
+ ],
+ 'TagKey' => [
+ 'description' => 'The keys of the product tags.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'room',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ProductInfos' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'ProductInfo' => [
+ 'description' => 'The details of the products returned if the call is successful. The details are included in the **ProductInfo** parameter.'."\n"
+ ."\n"
+ .'> The returned product information is sorted in reverse-chronological order based on the time when the products were created.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => 'The ProductKey of the product. A ProductKey is a globally unique identifier (GUID) issued by IoT Platform to a new product.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1BwAGV****',
+ ],
+ 'ProductName' => [
+ 'description' => 'The name of the product.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'NodeType' => [
+ 'description' => 'The node type of the product. Valid values:'."\n"
+ ."\n"
+ .'* **0**: device. Sub-devices cannot be attached to a device. A device can connect to IoT Platform directly or as a sub-device of a gateway.'."\n"
+ .'* **1**: gateway. Sub-devices can be attached to a gateway. A gateway can manage sub-devices, maintain the topological relationships with sub-devices, and synchronize the topological relationships to IoT Platform.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the product.'."\n",
+ 'type' => 'string',
+ 'example' => 'This is a test product.',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the product was created.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1545355537000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"ProductInfos\\": {\\n \\"ProductInfo\\": [\\n {\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"ProductName\\": \\"路灯\\",\\n \\"NodeType\\": 0,\\n \\"Description\\": \\"This is a test product.\\",\\n \\"CreateTime\\": 1545355537000\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListProductByTagsResponse>\\n<RequestId>09AA366E-81EC-4CF0-B49E-61BCD7C95338</RequestId>\\n<Success>true</Success>\\n<ProductInfos>\\n <ProductInfo>\\n <ProductKey>a1BwAGV****</ProductKey>\\n <NodeType>0</NodeType>\\n <CreateTime>1581595942000</CreateTime>\\n <ProductName>路灯</ProductName>\\n </ProductInfo>\\n <ProductInfo>\\n <ProductKey>a1PO***</ProductKey>\\n <NodeType>0</NodeType>\\n <CreateTime>1580898565000</CreateTime>\\n <ProductName>传感器</ProductName>\\n </ProductInfo>\\n</ProductInfos>\\n</ListProductByTagsResponse>","errorExample":""}]',
+ 'title' => 'ListProductByTags',
+ 'summary' => 'Queries products by tag.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n"
+ ."\n"
+ .'* You can specify a tag key or a tag key-value pair for search.'."\n"
+ ."\n"
+ .'* If you specify multiple tags, the logical relationship among these tags is **OR**.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateProductFilterConfig' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product. A ProductKey is a GUID that is issued by IoT Platform to a product.'."\n"
+ ."\n"
+ .'You can use the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products within the current account.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'PropertyTimestampFilter',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to deduplicate messages based on the submission time of each property. Valid values:'."\n"
+ ."\n"
+ .'* **true**: deduplicates property messages that have the same timestamp.'."\n"
+ .'* **false**: does not deduplicate messages based on timestamps.'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'PropertyValueFilter',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to deduplicate messages based on the value of each property. Valid values:'."\n"
+ ."\n"
+ .'* **true**: deduplicates property messages that have the same property value.'."\n"
+ .'* **false**: does not deduplicate messages based on property values.'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateProductFilterConfigResponse>\\n<RequestId>2E19BDAF-0FD0-4608-9F41-82D230CFEE38</RequestId>\\n<Success>true</Success>\\n</UpdateProductFilterConfigResponse>","errorExample":""}]',
+ 'title' => 'UpdateProductFilterConfig',
+ 'summary' => 'Updates the deduplication rules for property messages that are submitted by the devices of a product. If the call succeeds, the new rules are applied to all the devices of the product.',
+ 'description' => '## Message deduplication rules'."\n"
+ ."\n"
+ .'Based on the rules that you set, IoT Platform determines whether to use the rules engine or server-side subscriptions to forward property data that is submitted by devices to a specified destination.'."\n"
+ ."\n"
+ .'The triggering conditions of rules are related by the logic AND relation. For example, if you set the PropertyValueFilter=true and PropertyTimestampFilter=true conditions, the rule to remove duplicate messages is triggered only when both of the conditions are met.'."\n"
+ ."\n"
+ .'## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS). '."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryProductCertInfo' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.****'."\n"
+ ."\n"
+ .'> If your instance has an ID, you must specify the ID for this parameter. If you do not specify the instance ID, the call fails. If no Overview page or ID is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a2YwD23****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'MissingProductKey',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'ProductKey is mandatory for this action.',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '57b144cf-09fc-4916-a272-a62902d5b207',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ProductCertInfo' => [
+ 'description' => 'The returned certificate information that includes the value of the **IssueModel** parameter.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'IssueModel' => [
+ 'description' => 'The source from which the X.509 certificate is issued.'."\n"
+ ."\n"
+ .'* **1**: The X.509 certificate is issued by IoT Platform.'."\n"
+ .'* **3**: The X.509 certificate is issued by a third-party platform.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"MissingProductKey\\",\\n \\"ErrorMessage\\": \\"ProductKey is mandatory for this action.\\",\\n \\"RequestId\\": \\"57b144cf-09fc-4916-a272-a62902d5b207\\",\\n \\"Success\\": true,\\n \\"ProductCertInfo\\": {\\n \\"IssueModel\\": 1\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryProductCertInfo>\\n<RequestId>57b144cf-09fc-4916-a272-a62902d5b207</RequestId>\\n<Success>true</Success>\\n<ProductCertInfo>\\n <IssueModel>1</IssueModel>\\n</ProductCertInfo>\\n</QueryProductCertInfo>","errorExample":""}]',
+ 'title' => 'QueryProductCertInfo',
+ 'summary' => 'Queries the X.509 certificate information of a product.',
+ 'description' => '## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 30 times per second per account.'."\n"
+ ."\n"
+ .'>The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'SetProductCertInfo' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.****'."\n"
+ ."\n"
+ .'> If your instance has an ID, you must specify the ID for the parameter. Otherwise, the call fails. If no Overview page or ID is generated for your instance, you do not need configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'aS2dewS****',
+ ],
+ ],
+ [
+ 'name' => 'IssueModel',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The source from which the X.509 certificate is issued.'."\n"
+ ."\n"
+ .'* **1**: The X.509 certificate is issued by IoT Platform.'."\n"
+ .'* **3**: The X.509 certificate is issued by a third-party platform.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'MissingProductKey',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'ProductKey is mandatory for this action.',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '57b144cf-09fc-4916-a272-a62902d5b207',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"MissingProductKey\\",\\n \\"ErrorMessage\\": \\"ProductKey is mandatory for this action.\\",\\n \\"RequestId\\": \\"57b144cf-09fc-4916-a272-a62902d5b207\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<SetProductCertInfo>\\n<RequestId>57b144cf-09fc-4916-a272-a62902d5b207</RequestId>\\n<Success>true</Success>\\n</SetProductCertInfo>","errorExample":""}]',
+ 'title' => 'SetProductCertInfo',
+ 'summary' => 'Specifies X.509 certificate information for a product.',
+ 'description' => '## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 30 times per second per account.'."\n"
+ ."\n"
+ .'>The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ReleaseProduct' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-v64***',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to be published.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E4F94B97-1D64-4080-BFD2-67461667AA43',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E4F94B97-1D64-4080-BFD2-67461667AA43\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ReleaseProductResponse>\\r\\n <RequestId>57b144cf-09fc-4916-a272-a62902d5b207</RequestId>\\r\\n <Success>true</Success>\\r\\n</ReleaseProductResponse>","errorExample":""}]',
+ 'title' => 'ReleaseProduct',
+ 'summary' => 'Publishes a product.',
+ 'description' => '* After a product is published, you cannot call the [CreateThingModel](~~150323~~), [UpdateThingModel](~~151240~~), [ImportThingModelTSL](~~150320~~), [PublishThingModel](~~150311~~), [DeleteThingModel](~~150312~~), or [CopyThingModel](~~150322~~) operation to edit the Thing Specification Language (TSL) model of the product. To edit the TSL model, you must call the [CancelReleaseProduct](~~213875~~) operation to unpublish the product.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CancelReleaseProduct' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to be unpublished.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CancelReleaseProductResponse>\\r\\n <RequestId>5573D217-8E3E-47AD-9331-2083B88E64B2</RequestId>\\r\\n <Success>true</Success>\\r\\n</CancelReleaseProductResponse>","errorExample":""}]',
+ 'title' => 'CancelReleaseProduct',
+ 'summary' => 'Unpublishes a specified product.',
+ 'description' => 'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'RegisterDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs. A ProductKey is a GUID that is issued by IoT Platform to a product.'."\n"
+ ."\n"
+ .'You can use the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products within the current account.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device. The name must be 4 to 32 characters in length, and can contain letters, digits, hyphens (-), underscores (\\_), at signs (@), periods (.), and colons (:).'."\n"
+ ."\n"
+ .'You can use a combination of the DeviceName and ProductKey parameters to identify a device.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, IoT Platform randomly generates a DeviceName.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'DevEui',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DevEUI of the LoRaWAN device.'."\n"
+ ."\n"
+ .'This parameter is required when you create a LoRaWAN device.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'e8SDdgeIlk3nED****',
+ ],
+ ],
+ [
+ 'name' => 'Nickname',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The alias of the device. The alias must be 4 to 64 characters in length, and can contain letters, digits, and underscores (\\_).'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, IoT Platform does not generate an alias for the device.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'PinCode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The PIN code of the LoRaWAN device. This parameter is used to verify the DevEUI.'."\n"
+ ."\n"
+ .'When you create a LoRaWAN device, set **LoraNodeType** to **ALIYUNDEFINED**. This parameter is required.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'DIe80dfeg*****',
+ ],
+ ],
+ [
+ 'name' => 'JoinEui',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The JoinEUI of the LoRaWAN device.'."\n"
+ ."\n"
+ .'When you create a LoRaWAN device, set **LoraNodeType** to **USERDEFINED**. This parameter is required.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Ede4tde8erth****',
+ ],
+ ],
+ [
+ 'name' => 'AppKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The AppKey of the LoRaWAN device.'."\n"
+ ."\n"
+ .'When you create a LoRaWAN device, set **LoraNodeType** to **USERDEFINED**. This parameter is required.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '674f***',
+ ],
+ ],
+ [
+ 'name' => 'LoraNodeType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the LoRaWAN device. Valid values:'."\n"
+ ."\n"
+ .'* **ALIYUNDEFINED**: The device is issued by Alibaba Cloud. You must specify **DevEui** and **PinCode**.'."\n"
+ .'* **USERDEFINED**: The device is user-defined. You must specify **DevEui**, **JoinEui**, and **AppKey**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ALIYUNDEFINED',
+ 'default' => 'ALIYUNDEFINED',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The device information returned if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1BwAGV****',
+ ],
+ 'DevEui' => [
+ 'description' => 'The DevEUI of the LoRaWAN device. This parameter is returned only when you create a LoRaWAN device.'."\n",
+ 'type' => 'string',
+ 'example' => 'e8SDdgeIlk3nED****',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'> Keep the information confidential.',
+ 'type' => 'string',
+ 'example' => 'light',
+ ],
+ 'JoinEui' => [
+ 'description' => 'The JoinEUI of the LoRaWAN device. This parameter is returned only when you create a LoRaWAN device.'."\n",
+ 'type' => 'string',
+ 'example' => 'Ede4tde8erth****',
+ ],
+ 'DeviceSecret' => [
+ 'description' => 'The DeviceSecret of the device.'."\n"
+ ."\n"
+ .'> Keep the information confidential.',
+ 'type' => 'string',
+ 'example' => 'mz2Canp4GB7qRVf1OYPNtRqB2anu****',
+ ],
+ 'Nickname' => [
+ 'description' => 'The alias of the device.'."\n"
+ ."\n"
+ .'If you do not specify an alias for the device, this parameter is empty.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'IotId' => [
+ 'description' => 'The ID of the device. The ID is the unique identifier that is issued by IoT Platform to the device.'."\n"
+ ."\n"
+ .'> Keep the information confidential.',
+ 'type' => 'string',
+ 'example' => '1O4YPNtRqB2anumz2Canp4GB7q****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"DevEui\\": \\"e8SDdgeIlk3nED****\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"JoinEui\\": \\"Ede4tde8erth****\\",\\n \\"DeviceSecret\\": \\"mz2Canp4GB7qRVf1OYPNtRqB2anu****\\",\\n \\"Nickname\\": \\"园区灯\\",\\n \\"IotId\\": \\"1O4YPNtRqB2anumz2Canp4GB7q****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<RegisterDeviceResponse>\\n<RequestId>57b144cf-09fc-4916-a272-a62902d5b207</RequestId>\\n<Success>true</Success>\\n<Data>\\n <DeviceName>device1</DeviceName>\\n <ProductKey>a1rYuVF****</ProductKey>\\n <DeviceSecret>tXHf4ezGEHcwdyMwoCDHGBmk9avi****</DeviceSecret>\\n <IotId>CqXL5h5ysRTA4NxjABjj0010fa****</IotId>\\n <Nickname>detectors_in_beijing</Nickname>\\n</Data>\\n</RegisterDeviceResponse>","errorExample":""}]',
+ 'title' => 'RegisterDevice',
+ 'summary' => 'Registers a device under a product.',
+ 'description' => 'If you call this operation to register a device under a product, the device is added to the product in the IoT Platform console. After the device is registered, IoT Platform issues the IotId parameter to the device. This parameter is a globally unique identifier (GUID) of the device. To perform operations on a device, you must use the IotId parameter to identify the device.'."\n"
+ ."\n"
+ .'You can also use a combination of the ProductKey and DeviceName parameters to identify a device. A ProductKey is issued by IoT Platform to a product when you create the product. A DeviceName is specified or randomly generated when you create a device. The IotId parameter has a higher priority than a combination of the ProductKey and DeviceName parameters.'."\n"
+ ."\n"
+ .'For information about how to register multiple devices under a product at the same time, see [BatchRegisterDeviceWithApplyId](~~69514~~).'."\n"
+ ."\n\n"
+ .'## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 30 queries per second (QPS). '."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryClientIds' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device. You can call the [QueryDeviceInfo](~~257184~~) operation to query the **IotId** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'y4u2weAIrpp****WHMle1234',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-a****13l',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '89F22330-BAEE-****-****-41BA46D6E267',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The ClientIDs returned if the call is successful. For more information, see **DynamicRegClientIds**.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'IotId' => [
+ 'description' => 'The ID of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'y4u2weAI********HMle1234',
+ ],
+ 'DynamicRegClientIds' => [
+ 'description' => 'The list of ClientIDs.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CreateTime' => [
+ 'description' => 'The time when the ClientID was created.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1636514022424',
+ ],
+ 'ClientId' => [
+ 'description' => 'The ClientID of the device.'."\n",
+ 'type' => 'string',
+ 'example' => '9rSzYt4js92********f000112',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"89F22330-BAEE-****-****-41BA46D6E267\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"IotId\\": \\"y4u2weAI********HMle1234\\",\\n \\"DynamicRegClientIds\\": [\\n {\\n \\"CreateTime\\": 1636514022424,\\n \\"ClientId\\": \\"9rSzYt4js92********f000112\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryClientIdsResponse>\\n<RequestId>CA991E7C-BDE7-5887-B3B7-E08C68C0D346</RequestId>\\n<Data>\\n <IotId>kRLP***0000</IotId>\\n <DynamicRegClientIds>\\n <CreateTime>1635847637823</CreateTime>\\n <ClientId>K19uYV***000100</ClientId>\\n </DynamicRegClientIds>\\n <DynamicRegClientIds>\\n <CreateTime>1635846982286</CreateTime>\\n <ClientId>bpQwyW***000100</ClientId>\\n </DynamicRegClientIds>\\n <DynamicRegClientIds>\\n <CreateTime>1635847426368</CreateTime>\\n <ClientId>ntnIvez***000100</ClientId>\\n </DynamicRegClientIds>\\n</Data>\\n<Success>true</Success>\\n</QueryClientIdsResponse>","errorExample":""}]',
+ 'title' => 'QueryClientIds',
+ 'summary' => 'Queries the ClientIDs of a device. This API operation applies to preregistration-free unique-certificate-per-product authentication.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'TransformClientId' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'BXPV9Ks3bxwM9fD****0000101',
+ ],
+ ],
+ [
+ 'name' => 'ClientId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ClientID of the device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '9rSz********UNMWj33f000112',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-02****43',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The value Success indicates that the call was successful. Other values indicate that errors occurred. For more information about error codes, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '89F22330-BAEE-****-****-41BA46D6E267',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"89F22330-BAEE-****-****-41BA46D6E267\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<TransformClientIdResponse>\\n<RequestId>89F22330-BAEE-****-****-41BA46D6E267</RequestId>\\n<Code>Success</Code>\\n<Success>true</Success>\\n</TransformClientIdResponse>","errorExample":""}]',
+ 'title' => 'TransformClientId',
+ 'summary' => 'Specifies a valid ClientID for a device to prevent illegal logons if the device contains multiple ClientIDs. This API operation applies to preregistration-free unique-certificate-per-product authentication.',
+ 'description' => 'You can call the [QueryClientIds](~~371985~~) operation to view the ClientIDs of a device.'."\n"
+ ."\n"
+ .'## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS). '."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteClientIds' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'BXPV9Ks3bxwM9fD****0000101',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-12****78',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. The value Success indicates that the call was successful. Other values indicate that errors occurred. For more information about error codes, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '89F22330-BAEE-****-****-41BA46D6E267',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"89F22330-BAEE-****-****-41BA46D6E267\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteClientIdsResponse>\\n<RequestId>89F22330-BAEE-****-****-41BA46D6E267</RequestId>\\n<Code>Success</Code>\\n<Success>true</Success>\\n</DeleteClientIdsResponse>","errorExample":""}]',
+ 'title' => 'DeleteClientIds',
+ 'summary' => 'Deletes all ClientIDs of a device if the number of ClientIDs exceeds the limit 5. This API operation applies to preregistration-free unique-certificate-per-product authentication.',
+ 'description' => '* You can call the [QueryClientIds](~~371985~~) operation to view the ClientIDs of a device and obtain the number of ClientIDs.'."\n"
+ .'* After you call the DeleteClientIds operation, all ClientIDs of the device are deleted and cannot be resumed. To obtain a new ClientID, you can register the device again.'."\n"
+ ."\n"
+ .'## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS). '."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceInfo' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **DeviceName** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-v64***',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **ProductKey** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'The information about the device returned if the call is successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The alias of the device.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Nickname' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'detectors_in_beijing',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1rYuVF****',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The DeviceSecret of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'light',
+ ],
+ 'DeviceSecret' => [
+ 'description' => 'The ID of the device. The ID is the unique identifier that is issued by IoT Platform to the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'mz2Canp4GB7qRVf1OYPNtRqB2anu****',
+ ],
+ 'IotId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Iot.Device.NotExistedDevice',
+ 'errorMessage' => 'The device does not exist.',
+ ],
+ [
+ 'errorCode' => 'Iot.common.QueryDeviceActionError',
+ 'errorMessage' => 'An error occurred while querying the device.',
+ ],
+ [
+ 'errorCode' => 'iot.device.InvalidFormattedDeviceNameInNameArray',
+ 'errorMessage' => 'The DeviceName list contains an invalid DeviceName.',
+ ],
+ [
+ 'errorCode' => 'iot.common.InvalidTenant',
+ 'errorMessage' => 'The tenant is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.device.InvalidFormattedDeviceName',
+ 'errorMessage' => 'The DeviceName format is invalid.',
+ ],
+ [
+ 'errorCode' => 'Iot.digitaltwin.DTInstanceInvalidThingType',
+ 'errorMessage' => 'The digital twin operation is not supported.',
+ ],
+ [
+ 'errorCode' => 'iot.gateway.BackEndServiceInvalid',
+ 'errorMessage' => 'Request has failed due to invalid backend server',
+ ],
+ [
+ 'errorCode' => 'Iot.device.InvalidIoTId',
+ 'errorMessage' => 'The specified device ID is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.device.NullDeviceName',
+ 'errorMessage' => 'The deviceName is empty.',
+ ],
+ [
+ 'errorCode' => 'iot.device.DeviceInstanceInconsistency',
+ 'errorMessage' => 'The instance of devices is inconsistency.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.NotExistedProduct',
+ 'errorMessage' => 'The specified product does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.NullProductKey',
+ 'errorMessage' => 'The productKey is empty.',
+ ],
+ [
+ 'errorCode' => 'iot.common.QueryDevicePropertyActionError',
+ 'errorMessage' => 'An error occurred while querying the device property.',
+ ],
+ [
+ 'errorCode' => 'iot.common.QueryManyDevicesActionError',
+ 'errorMessage' => 'An error occurred while querying the devices',
+ ],
+ [
+ 'errorCode' => 'iot.Sre.IotInstanceStatusForbidden',
+ 'errorMessage' => 'Instance status forbidden.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Nickname\\": \\"detectors_in_beijing\\",\\n \\"ProductKey\\": \\"a1rYuVF****\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"DeviceSecret\\": \\"mz2Canp4GB7qRVf1OYPNtRqB2anu****\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceInfoResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Data>\\n <IotId>Q7uOhVRdZRRlDnTLv****00100</IotId>\\n <DeviceSecret>mz2Canp4GB7qRVf1OYPNtRqB2anu****</DeviceSecret>\\n <ProductKey>a1rYuVF****</ProductKey>\\n <Nickname>detectors_in_beijing</Nickname>\\n <DeviceName>light</DeviceName>\\n</Data>\\n<Success>true</Success>\\n</QueryDeviceInfoResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceInfo',
+ 'summary' => 'Queries the basic information about a specified device. The information includes the device ID, device certificate, and alias.',
+ 'description' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'requestParamsDescription' => 'The operation that you want to perform. Set the value to QueryDeviceInfo.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceDetail' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'>* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-v64***',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you specify a value for this parameter, you must also specify a value for the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'> If you specify a value for this parameter, you must also specify a value for the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device.'."\n"
+ ."\n"
+ .'> If you specify a value for this parameter, you do not need to specify a value for the **ProductKey** or **DeviceName** parameter. The **IotId** parameter specifies a globally unique identifier (GUID) for the device. The value of the IotId parameter corresponds to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify a value for the **IotId** parameter and values for the **ProductKey** and **DeviceName** parameters, the value of the **IotId** takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The device details returned if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The device status. Valid values: Valid values:'."\n"
+ ."\n"
+ .'* **ONLINE**: The device is online.'."\n"
+ .'* **OFFLINE**: The device is offline.'."\n"
+ .'* **UNACTIVE**: The device is not activated.'."\n"
+ .'* **DISABLE**: The device is disabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'ONLINE',
+ ],
+ 'Owner' => [
+ 'description' => 'Indicates whether the operation is called by the owner of the device.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'UtcActive' => [
+ 'description' => 'The time when the device was activated. The time is in the UTC format.'."\n",
+ 'type' => 'string',
+ 'example' => '2018-08-06T02:48:41.000Z',
+ ],
+ 'ProductName' => [
+ 'description' => 'The name of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'light',
+ ],
+ 'UtcCreate' => [
+ 'description' => 'The time when the device was created. The time is in the UTC format.'."\n",
+ 'type' => 'string',
+ 'example' => '2018-08-06T02:47:50.000Z',
+ ],
+ 'FirmwareVersion' => [
+ 'description' => 'The version number of the default OTA module of the device.'."\n"
+ ."\n"
+ .'If you want to query the version information about other OTA modules, call the [ListOTAModuleVersionsByDevice](~~190622~~) operation. The version information is submitted by the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'V1.0.0.0',
+ ],
+ 'GmtOnline' => [
+ 'description' => 'The most recent time when the device was online. The time is in the GMT format.'."\n",
+ 'type' => 'string',
+ 'example' => '2018-08-06 13:43:12',
+ ],
+ 'UtcOnline' => [
+ 'description' => 'The most recent time when the device was online. The time is in the UTC format.'."\n",
+ 'type' => 'string',
+ 'example' => '2018-08-06T05:43:12.000Z',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1rYuVF****',
+ ],
+ 'IpAddress' => [
+ 'description' => 'The IP address of the device.'."\n",
+ 'type' => 'string',
+ 'example' => '10.0.0.1',
+ ],
+ 'NodeType' => [
+ 'description' => 'The type of the node. Valid values:'."\n"
+ ."\n"
+ .'* **0**: device. Sub-devices cannot be attached to a device. A device can connect to IoT Platform directly or as a sub-device of a gateway.'."\n"
+ .'* **1**: gateway. Sub-devices can be attached to a gateway. A gateway can manage sub-devices, maintain the topological relationships with sub-devices, and synchronize the topological relationships to IoT Platform.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'Region' => [
+ 'description' => 'The ID of the region where the device resides. The region is the same as the region where IoT Platform resides. You can view the region in the IoT Platform console.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ 'DeviceSecret' => [
+ 'description' => 'The DeviceSecret of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'mz2Canp4GB7qRVf1OYPNtRqB2anu****',
+ ],
+ 'GmtActive' => [
+ 'description' => 'The time when the device was activated. The time is in the GMT format.'."\n",
+ 'type' => 'string',
+ 'example' => '2018-08-06 10:48:41',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The time when the device was created. The time is in the GMT format.'."\n",
+ 'type' => 'string',
+ 'example' => '2018-08-06 10:47:50',
+ ],
+ 'Nickname' => [
+ 'description' => 'The alias of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'detectors_in_beijing',
+ ],
+ 'IotId' => [
+ 'description' => 'The ID of the device. The ID is the unique identifier that is issued by IoT Platform to the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Status\\": \\"ONLINE\\",\\n \\"Owner\\": true,\\n \\"UtcActive\\": \\"2018-08-06T02:48:41.000Z\\",\\n \\"ProductName\\": \\"test\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"UtcCreate\\": \\"2018-08-06T02:47:50.000Z\\",\\n \\"FirmwareVersion\\": \\"V1.0.0.0\\",\\n \\"GmtOnline\\": \\"2018-08-06 13:43:12\\",\\n \\"UtcOnline\\": \\"2018-08-06T05:43:12.000Z\\",\\n \\"ProductKey\\": \\"a1rYuVF****\\",\\n \\"IpAddress\\": \\"10.0.0.1\\",\\n \\"NodeType\\": 0,\\n \\"Region\\": \\"cn-shanghai\\",\\n \\"DeviceSecret\\": \\"mz2Canp4GB7qRVf1OYPNtRqB2anu****\\",\\n \\"GmtActive\\": \\"2018-08-06 10:48:41\\",\\n \\"GmtCreate\\": \\"2018-08-06 10:47:50\\",\\n \\"Nickname\\": \\"detectors_in_beijing\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceDetailResponse>\\n<Data>\\n <Owner>true</Owner>\\n <GmtActive>2020-01-16 13:33:37</GmtActive>\\n <DeviceName>Humidity</DeviceName>\\n <ProductKey>a1ttsqu****</ProductKey>\\n <DeviceSecret>sLefbFmN9SYfnWLJTePG893XNuRV****</DeviceSecret>\\n <IpAddress>42.120.75.144</IpAddress>\\n <GmtCreate>2020-01-08 14:47:08</GmtCreate>\\n <UtcCreate>2020-01-08T06:47:08.000Z</UtcCreate>\\n <IotId>dwnS41bhNxjslDAIF****00100</IotId>\\n <Status>OFFLINE</Status>\\n <UtcOnline>2020-01-17T08:19:11.091Z</UtcOnline>\\n <Region>cn-shanghai</Region>\\n <UtcActive>2020-01-16T05:33:37.830Z</UtcActive>\\n <Nickname>温湿度</Nickname>\\n <NodeType>0</NodeType>\\n <GmtOnline>2020-01-17 16:19:11</GmtOnline>\\n <ProductName>光照温湿度传感器</ProductName>\\n</Data>\\n<RequestId>D2D2DE90-DD0F-44EA-9F56-63F07A59F65B</RequestId>\\n<Success>true</Success>\\n</QueryDeviceDetailResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceDetail',
+ 'summary' => 'Queries the details of a device.',
+ 'description' => '## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchQueryDeviceDetail' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the devices specified by the **DeviceName.N** parameter belong.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-v64***',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The DeviceNames of the devices. You can specify a maximum of 100 DeviceNames.'."\n"
+ ."\n"
+ .'> The specified devices must belong to the same product.'."\n",
+ ],
+ 'required' => true,
+ 'example' => 'light',
+ 'maxItems' => 100,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Data' => [
+ 'description' => 'The device details returned if the call is successful.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the device. Valid values:'."\n"
+ ."\n"
+ .'* **ONLINE**: The device is online.'."\n"
+ .'* **OFFLINE**: The device is offline.'."\n"
+ .'* **UNACTIVE**: The device is not activated.'."\n"
+ .'* **DISABLE**: The device is disabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'ONLINE',
+ ],
+ 'UtcActive' => [
+ 'description' => 'The activation time of the device. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-06-21T12:31:42.000Z',
+ ],
+ 'ProductName' => [
+ 'description' => 'The name of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'light',
+ ],
+ 'UtcCreate' => [
+ 'description' => 'The creation time of the device. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-06-21T12:31:42.000Z',
+ ],
+ 'FirmwareVersion' => [
+ 'description' => 'The firmware version number of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'V1.0.0.0',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1BwAGV****',
+ ],
+ 'NodeType' => [
+ 'description' => 'The type of the node. Valid values:'."\n"
+ ."\n"
+ .'* **0**: device. Sub-devices cannot be mounted on a gateway. A device can connect to IoT Platform directly or as a sub-device of a gateway.'."\n"
+ .'* **1**: gateway. Sub-devices can be attached to a gateway. A gateway can manage sub-devices, maintain the topological relationships with sub-devices, and synchronize the topological relationships to IoT Platform.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'Region' => [
+ 'description' => 'The ID of the region where the device resides. The region is the same as the region where IoT Platform resides. You can view the region in the IoT Platform console.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ 'DeviceSecret' => [
+ 'description' => 'The DeviceSecret of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'mz2Canp4GB7qRVf1OYPNtRqB2anu****',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The creation time of the device. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-06-21 20:31:42',
+ ],
+ 'GmtActive' => [
+ 'description' => 'The activation time of the device. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-06-21 20:33:00',
+ ],
+ 'Nickname' => [
+ 'description' => 'The alias of the device.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'IotId' => [
+ 'description' => 'The unique ID of the device. The device ID is issued by IoT Platform.'."\n",
+ 'type' => 'string',
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Data\\": [\\n {\\n \\"Status\\": \\"ONLINE\\",\\n \\"UtcActive\\": \\"2019-06-21T12:31:42.000Z\\",\\n \\"ProductName\\": \\"路灯产品\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"UtcCreate\\": \\"2019-06-21T12:31:42.000Z\\",\\n \\"FirmwareVersion\\": \\"V1.0.0.0\\",\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"NodeType\\": 0,\\n \\"Region\\": \\"cn-shanghai\\",\\n \\"DeviceSecret\\": \\"mz2Canp4GB7qRVf1OYPNtRqB2anu****\\",\\n \\"GmtCreate\\": \\"2019-06-21 20:31:42\\",\\n \\"GmtActive\\": \\"2019-06-21 20:33:00\\",\\n \\"Nickname\\": \\"智能路灯\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<BatchQueryDeviceDetailResponse>\\n<Data>\\n <Data>\\n <DeviceName>Humidity</DeviceName>\\n <GmtActive>2020-01-16 13:33:37</GmtActive>\\n <ProductKey>a1ttsqu****</ProductKey>\\n <DeviceSecret>sLefbFmN9SYfnWLJTePG893XNuRV****</DeviceSecret>\\n <GmtCreate>2020-01-08 14:47:08</GmtCreate>\\n <UtcCreate>2020-01-08T06:47:08.000Z</UtcCreate>\\n <IotId>dwnS41bhNxjslDAIF****00100</IotId>\\n <Status>OFFLINE</Status>\\n <UtcActive>2020-01-08T06:47:08.000Z</UtcActive>\\n <Region>cn-shanghai</Region>\\n <Nickname>温湿度</Nickname>\\n <NodeType>0</NodeType>\\n <ProductName>光照温湿度传感器</ProductName>\\n </Data>\\n <Data>\\n <Status>OFFLINE</Status>\\n <GmtActive>2020-01-17 16:23:15</GmtActive>\\n <DeviceName>TH_sensor</DeviceName>\\n <Region>cn-shanghai</Region>\\n <UtcActive>2020-01-17T03:39:14.000Z</UtcActive>\\n <ProductKey>a1ttsqu****</ProductKey>\\n <NodeType>0</NodeType>\\n <DeviceSecret>dCYdTU3gw5Z77bsHjPk6lPHPVnBT****</DeviceSecret>\\n <ProductName>光照温湿度传感器</ProductName>\\n <GmtCreate>2020-01-17 11:39:14</GmtCreate>\\n <UtcCreate>2020-01-17T03:39:14.000Z</UtcCreate>\\n <IotId>RKYkCRstfGBh5SZXL****00100</IotId>\\n </Data>\\n</Data>\\n<RequestId>D4C12DD8-4390-4877-B1DC-4049CF4868BC</RequestId>\\n<Success>true</Success>\\n</BatchQueryDeviceDetailResponse>","errorExample":""}]',
+ 'title' => 'BatchQueryDeviceDetail',
+ 'summary' => 'Queries the details of multiple devices under a product.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* You can query a maximum of 100 devices in a single call.'."\n"
+ ."\n"
+ .'* You can query the details of devices that belong only to the current Alibaba Cloud account. If you specify a device that does not belong to the current account, an error message is returned.'."\n"
+ ."\n"
+ .'* If you specify multiple devices and some devices do not exist, only the details of existing devices are returned.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: 1 to 50. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The token that is used to retrieve the next page of the query results. The first time you perform a query operation, you do not need to configure this parameter. You must specify the token that is obtained from the previous query for the **NextToken** parameter.'."\n"
+ ."\n"
+ .'If the product of the value of the **PageSize** parameter and the value of the **CurrentPage** parameter is greater than 10,000, you must configure the **NextToken** parameter. Otherwise, data cannot be returned.'."\n"
+ ."\n\n"
+ .'>If you configure the **NextToken** parameter, the product of the value of the **PageSize** parameter and the value of the **CurrentPage** parameter must be less than 1,000,000. Otherwise, data cannot be returned.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'TGlzdFJlc291cm***',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'NextToken' => [
+ 'description' => 'The token that is used to retrieve the subsequent page of the query results. You can specify this parameter in the subsequent query to obtain the next page of results.'."\n"
+ ."\n"
+ .'If the **NextToken** parameter is empty, no subsequent page exists.'."\n",
+ 'type' => 'string',
+ 'example' => 'TGlzdFJlc291cm***',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'PageCount' => [
+ 'description' => 'The total number of pages returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of devices.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'Page' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DeviceInfo' => [
+ 'description' => 'The device information returned if the call is successful. The details of the devices are included in the **DeviceInfo** parameter.'."\n"
+ ."\n"
+ .'> The returned device information is sorted in reverse chronological order based on the time when the devices were created.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DeviceName' => [
+ 'description' => 'The name of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'light',
+ ],
+ 'DeviceId' => [
+ 'description' => 'The ID of the device.'."\n"
+ ."\n"
+ .'> This parameter is deprecated. Do not use this parameter to identify a device. You can use the **IotId** parameter or a combination of the **ProductKey** and **DeviceName** parameters to identify a device.'."\n",
+ 'type' => 'string',
+ 'example' => 'dwnS41bhNxjslDAI****',
+ ],
+ 'DeviceType' => [
+ 'description' => 'The category of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> This parameter is not returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'Lighting',
+ ],
+ 'UtcCreate' => [
+ 'description' => 'The time when the device was created. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-02-20T02:16:09.000Z',
+ ],
+ 'DeviceStatus' => [
+ 'description' => 'The status of the device. Valid values:'."\n"
+ ."\n"
+ .'* **ONLINE**: The device is online.'."\n"
+ .'* **OFFLINE**: The device is offline.'."\n"
+ .'* **UNACTIVE**: The device is not activated.'."\n"
+ .'* **DISABLE**: The device is deactivated.'."\n",
+ 'type' => 'string',
+ 'example' => 'ONLINE',
+ ],
+ 'GmtModified' => [
+ 'description' => 'The time when the device information was last updated. The time is in the GMT format.'."\n",
+ 'type' => 'string',
+ 'example' => 'Wed, 20-Feb-2019 02:16:09 GMT',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1BwAGV****',
+ ],
+ 'UtcModified' => [
+ 'description' => 'The time when the device information was last updated. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-02-20T02:16:09.000Z',
+ ],
+ 'DeviceSecret' => [
+ 'description' => 'The DeviceSecret of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'sLefbFmN9SYfnWLJTePG893XNuRV****',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The time when the device was created. The time is in the GMT format.'."\n",
+ 'type' => 'string',
+ 'example' => 'Wed, 20-Feb-2019 02:16:09 GMT',
+ ],
+ 'Nickname' => [
+ 'description' => 'The alias of the device.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'IotId' => [
+ 'description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"TGlzdFJlc291cm***\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"PageCount\\": 1,\\n \\"Total\\": 2,\\n \\"Page\\": 1,\\n \\"Data\\": {\\n \\"DeviceInfo\\": [\\n {\\n \\"DeviceName\\": \\"light\\",\\n \\"DeviceId\\": \\"dwnS41bhNxjslDAI****\\",\\n \\"DeviceType\\": \\"Lighting\\",\\n \\"UtcCreate\\": \\"2019-02-20T02:16:09.000Z\\",\\n \\"DeviceStatus\\": \\"ONLINE\\",\\n \\"GmtModified\\": \\"Wed, 20-Feb-2019 02:16:09 GMT\\",\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"UtcModified\\": \\"2019-02-20T02:16:09.000Z\\",\\n \\"DeviceSecret\\": \\"sLefbFmN9SYfnWLJTePG893XNuRV****\\",\\n \\"GmtCreate\\": \\"Wed, 20-Feb-2019 02:16:09 GMT\\",\\n \\"Nickname\\": \\"智能灯设备\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceResponse>\\n<PageCount>1</PageCount>\\n<NextToken>TGlzdFJlc291cm***</NextToken>\\n<Data>\\n <DeviceInfo>\\n <DeviceId>Av8NGHGtwPrH9BYG****</DeviceId>\\n <DeviceName>Av8NGHGtwPrH9BYGLMBi</DeviceName>\\n <ProductKey>a1dafDE****</ProductKey>\\n <DeviceSecret>d7GYhf5hfcPHDe1bXSd3n9MjO1G3****</DeviceSecret>\\n <UtcModified>2019-02-20T02:16:09.000Z</UtcModified>\\n <GmtCreate>Wed, 20-Feb-2019 02:16:09 GMT</GmtCreate>\\n <UtcCreate>2019-02-20T02:16:09.000Z</UtcCreate>\\n <GmtModified>Wed, 20-Feb-2019 02:16:09 GMT</GmtModified>\\n <IotId>Av8NGHGtwPrH9BYGLMBi00****</IotId>\\n <DeviceStatus>UNACTIVE</DeviceStatus>\\n <Nickname>SensorInShanghai</Nickname>\\n </DeviceInfo>\\n <DeviceInfo>\\n <DeviceId>zNIcSmWQ9BPJlmkj****</DeviceId>\\n <DeviceName>zNIcSmWQ9BPJlmkjn3H1</DeviceName>\\n <ProductKey>a1dafDE****</ProductKey>\\n <DeviceSecret>C27XXmC18yLIEDXvUj6FSlvgO7ag****</DeviceSecret>\\n <UtcModified>2019-02-20T02:16:09.000Z</UtcModified>\\n <GmtCreate>Wed, 20-Feb-2019 02:16:09 GMT</GmtCreate>\\n <UtcCreate>2019-02-20T02:16:09.000Z</UtcCreate>\\n <GmtModified>Wed, 20-Feb-2019 02:16:09 GMT</GmtModified>\\n <IotId>zNIcSmWQ9BPJlmkjn3H100****</IotId>\\n <DeviceStatus>UNACTIVE</DeviceStatus>\\n <Nickname>DriverInShanghai</Nickname>\\n </DeviceInfo>\\n</Data>\\n<Page>1</Page>\\n<PageSize>10</PageSize>\\n<RequestId>CD9E5F99-A095-4A05-9256-D924EA3075E8</RequestId>\\n<Success>true</Success>\\n<Total>2</Total>\\n</QueryDeviceResponse>","errorExample":""}]',
+ 'title' => 'QueryDevice',
+ 'summary' => 'Queries the devices of a product.',
+ 'description' => 'The QueryDevice operation can return up to one million devices each time you call the operation.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'- You can call this API operation up to 50 times per second per account. > The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account.'."\n"
+ .'- If the product of the value of the **CurrentPage** parameter and the value of the **PageSize** parameter is greater than or equal to 100,000, the queries per second (QPS) of this operation decreases. '."\n"
+ ."\n"
+ .'In this case, you can call this API operation up to two times per second per account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n"
+ ."\n\n"
+ ."\n"
+ .'> If you configure this parameter, you must specify a value for the **DeviceName** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1FlqIQ****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n\n"
+ .'> If you configure this parameter, you must specify a value for the **ProductKey** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device.'."\n"
+ ."\n\n"
+ ."\n"
+ .'**Important** The IotId parameter specifies a globally unique identifier (GUID) for the device. The value of the **IotId** parameter corresponds to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify a value for this parameter, you do not need to configure the **ProductKey** or **DeviceName** parameter. If you specify values for the **IotId**, **ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'MpEKNuEUJzIORNANAWJX0010929900*****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.prod.NullProductKey',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '57b144cf-09fc-4916-a272-a62902d5b207',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.prod.NullProductKey\\",\\n \\"ErrorMessage\\": \\"入参产品ID没有赋值。\\",\\n \\"RequestId\\": \\"57b144cf-09fc-4916-a272-a62902d5b207\\",\\n \\"Success\\": false\\n}","errorExample":""},{"type":"xml","example":"<DeleteDeviceResponse>\\n<RequestId>57b144cf-09fc-4916-a272-a62902d5b207</RequestId>\\n<Success>true</Success>\\n</DeleteDeviceResponse>","errorExample":""}]',
+ 'title' => 'DeleteDevice',
+ 'summary' => 'Deletes a device. You can also call this operation to delete the topological relationships between a gateway and the sub-devices that are connected to the gateway.',
+ 'description' => '* When you call this operation with an Alibaba Cloud account, IoT Platform sends a verification code by text message to confirm your identity.'."\n"
+ .'* When you call this operation with a RAM user, IoT Platform does not send a verification code. To ensure device security, you can create custom permission policies to perform fine-grained permission management. For more information, see [Mapping of IoT Platform operations and RAM policies](~~47485~~) and [Custom permissions](~~47495~~).'."\n"
+ ."\n\n"
+ .'**Warning**'."\n"
+ ."\n"
+ .'* After a device is deleted, the device ID (**IotId**) becomes invalid, and all other information associated with the device is deleted. In addition, you can no longer perform an operation on the device.'."\n"
+ .'* Before you delete a device in the IoT Platform console, make sure that the corresponding actual device is offline. Otherwise, after the device is deleted from IoT Platform, the actual device continues to initiate connection requests to IoT Platform. If the number of requests exceeds the upper limit, IoT Platform starts request throttling. In this case, access of other devices within your Alibaba Cloud account is affected.'."\n"
+ .'* After you delete a device, the certificate of the device becomes invalid and cannot be restored. Proceed with caution.'."\n"
+ ."\n"
+ .'****'."\n"
+ ."\n"
+ .'* You must specify a value for the **IotId** parameter or values for the **ProductKey** and **DeviceName** parameters to identify a device.'."\n"
+ .'* If you specify a gateway and the number of sub-devices that belong to the gateway exceeds 2,000, you can call this operation to create a device job to delete the topological relationships in an asynchronous manner. The operation returns the **JobId** parameter.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 50 times per second per account. '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetDeviceStatus' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The device status returned if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the device. Valid values:'."\n"
+ ."\n"
+ .'* **ONLINE**: The device is online.'."\n"
+ .'* **OFFLINE**: The device is offline.'."\n"
+ .'* **UNACTIVE**: The device is not activated.'."\n"
+ .'* **DISABLE**: The device is disabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'ONLINE',
+ ],
+ 'Timestamp' => [
+ 'description' => 'The time when the device status changed.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1557062301656',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Status\\": \\"ONLINE\\",\\n \\"Timestamp\\": 1557062301656\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetDeviceStatusResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Data>\\n <Status>ONLINE</Status>\\n <Timestamp>1557062301656</Timestamp>\\n</Data>\\n<Success>true</Success>\\n</GetDeviceStatusResponse>","errorExample":""}]',
+ 'title' => 'GetDeviceStatus',
+ 'summary' => 'Queries the status of a device.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchGetDeviceState' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n\n"
+ .'> If you configure this parameter, you must also specify a value for the **DeviceName** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The names of the devices.'."\n"
+ ."\n\n"
+ .'> If you configure this parameter, you must also specify a value for the **ProductKey** parameter.',
+ ],
+ 'required' => false,
+ 'example' => 'light',
+ 'maxItems' => 51,
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The IDs of the devices.'."\n"
+ ."\n\n"
+ ."\n"
+ .'> The IotId parameter specifies a globally unique identifier (GUID) for the device. The value of the **IotId** parameter corresponds to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you configure this parameter, you do not need to configure the **ProductKey** or **DeviceName** parameter. If you specify values for the **IotId**, **ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.',
+ ],
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ 'maxItems' => 51,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DeviceStatusList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DeviceStatus' => [
+ 'description' => 'The device status information returned if the call is successful. For more information, see the following parameters that are included in the DeviceStatus parameter.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the device. Valid values: Valid values:'."\n"
+ ."\n"
+ .'* **ONLINE**: The device is online.'."\n"
+ .'* **OFFLINE**: The device is offline.'."\n"
+ .'* **UNACTIVE**: The device is not activated.'."\n"
+ .'* **DISABLE**: The device is disabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'OFFLINE',
+ ],
+ 'LastOnlineTime' => [
+ 'description' => 'The last time when the device was online.'."\n",
+ 'type' => 'string',
+ 'example' => '2020-01-17 16:19:11',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'light',
+ ],
+ 'DeviceId' => [
+ 'description' => 'The ID of the device (expired).'."\n"
+ ."\n"
+ .'> This parameter is no longer supported. Do not use this parameter to identify a device. You can use the value of the **IotId**** parameter or a combination of the values of the ****ProductKey** and DeviceName parameters to identify a device.'."\n",
+ 'type' => 'string',
+ 'example' => 'dwnS41bhNxjslDAI****',
+ ],
+ 'Timestamp' => [
+ 'type' => 'integer',
+ 'format' => 'int64',
+ ],
+ 'AsAddress' => [
+ 'description' => 'The IP address of the device.'."\n",
+ 'type' => 'string',
+ 'example' => '192.0.2.1',
+ ],
+ 'IotId' => [
+ 'description' => 'The ID of the device. The ID is the unique identifier that is issued by IoT Platform to the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'dwnS41bhNxjslDAI****000100',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"DeviceStatusList\\": {\\n \\"DeviceStatus\\": [\\n {\\n \\"Status\\": \\"OFFLINE\\",\\n \\"LastOnlineTime\\": \\"2020-01-17 16:19:11\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"DeviceId\\": \\"dwnS41bhNxjslDAI****\\",\\n \\"Timestamp\\": 1557062301656,\\n \\"AsAddress\\": \\"192.0.2.1\\",\\n \\"IotId\\": \\"dwnS41bhNxjslDAI****000100\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<BatchGetDeviceStateResponse>\\n<DeviceStatusList>\\n <DeviceStatus>\\n <Status>OFFLINE</Status>\\n <DeviceId>dwnS41bhNxjslDAI****</DeviceId>\\n <DeviceName>Humidity</DeviceName>\\n <AsAddress>192.0.2.1</AsAddress>\\n <LastOnlineTime>2020-01-17 16:19:11</LastOnlineTime>\\n <Timestamp>1557062301656</Timestamp>\\n <IotId>dwnS41bhNxjslDAI****000100</IotId>\\n </DeviceStatus>\\n</DeviceStatusList>\\n<RequestId>3258D872-EDC5-4039-B564-C27ED7176741</RequestId>\\n<Success>true</Success>\\n</BatchGetDeviceStateResponse>","errorExample":""}]',
+ 'title' => 'BatchGetDeviceState',
+ 'summary' => 'Queries the status of multiple devices at a time.',
+ 'description' => 'When you call this operation, you can perform the following operations:'."\n"
+ ."\n"
+ .'* You can specify a value for the **ProductKey** parameter and multiple values for the **DeviceName** parameter to query the status of devices that belong to a product.'."\n"
+ .'* You can specify multiple values for the **IotId** parameter to query the status of devices that belong to different products.****'."\n"
+ ."\n\n"
+ .'>You can query the status of up to 50 devices in a call.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 50 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must also configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DisableThing' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DisableThingResponse>\\n<RequestId>57b144cf-09fc-4916-a272-a62902d5b207</RequestId>\\n<Success>true</Success>\\n</DisableThingResponse>","errorExample":""}]',
+ 'summary' => 'Disables a device.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* After a device is disabled, you cannot connect the device to IoT Platform. You can perform device-specific operations on the device. However, the information about the device is still retained in IoT Platform. You can use the [EnableThing](~~69603~~) API operation to connect the disabled device to IoT Platform again.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'EnableThing' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n"
+ ."\n"
+ .'> If you provide this parameter, you do not need to provide the **ProductKey** or **DeviceName** parameters. As the GUID of the device, **IotId** corresponds to the combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<EnableThingResponse>\\n<RequestId>57b144cf-09fc-4916-a272-a62902d5b207</RequestId>\\n<Success>true</Success>\\n</EnableThingResponse>","errorExample":""}]',
+ 'summary' => 'Enables a device that has been disabled.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ResetThing' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'>* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Instance overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you specify a value for this parameter, you must also specify a value for the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1KiV******',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'> If you specify a value for this parameter, you must also specify a value for the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'device1',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device.'."\n"
+ ."\n"
+ .'> If you specify a value for this parameter, you do not need to specify a value for the **ProductKey** or **DeviceName** parameter. The **IotId** parameter specifies a globally unique identifier (GUID) for the device. The value of the IotId parameter corresponds to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify a value for the **IotId** parameter and values for the **ProductKey** and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'SR8FiTu1R9tlUR2V1bmi0010a5****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '57b144cf-09fc-4916-a272-a62902d5b207',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values: **true** indicates that the call was successful. **false** indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'JobId' => [
+ 'description' => 'The ID of the device job.'."\n",
+ 'type' => 'string',
+ 'example' => '450407b***',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"57b144cf-09fc-4916-a272-a62902d5b207\\",\\n \\"Success\\": true,\\n \\"JobId\\": \\"450407b***\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\'1.0\' encoding=\'utf-8\'?>\\r\\n<ResetThingResponse>\\r\\n <RequestId>57b144cf-09fc-4916-a272-a62902d5b207</RequestId>\\r\\n <Success>true</Success>\\r\\n</ResetThingResponse>","errorExample":""}]',
+ 'title' => 'ResetThing',
+ 'summary' => 'Resets the unique-certificate-per-product registration status of a device that is directly connected to IoT Platform, or deletes the current topology of the device.',
+ 'description' => '* After you use dynamic registration to obtain the device certificate information of a directly connected device and activate the device, you can call this operation to reset the dynamic registration status of the status to unregistered in the IoT Platform console. Then, you can use dynamic registration again to obtain the device certificate information. The device certificate information includes ProductKey, DeviceName, and DeviceSecret.'."\n"
+ ."\n"
+ .'> This operation is called to reset the dynamic registration status instead of activation status of a device. After you call the operation to reset the dynamic registration status of a device, the status of the device in the IoT Platform console is not reset to inactive.'."\n"
+ ."\n"
+ .'* If you specify a gateway and the number of sub-devices that belong to the gateway exceeds 2,000, you can call this operation to create a device job to delete the topological relationships in an asynchronous manner. The operation returns the **JobId** parameter.'."\n"
+ ."\n\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 500 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchCheckDeviceNames' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the devices belong.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => 'The alias of the device. The alias must be 4 to 64 characters in length, and can contain letters, digits, and underscores (\\_).'."\n"
+ ."\n"
+ .'If this parameter is specified, you must specify the **DeviceNameList.N.DeviceName** parameter.'."\n",
+ ],
+ 'required' => false,
+ 'maxItems' => 10000,
+ 'description' => '',
+ 'example' => 'The DeviceName of the device. The DeviceName must be unique within the product. The name must be 4 to 32 characters in length, and can contain letters, digits, hyphens (-), underscores (\\_), periods (.), at signs (@), and colons (:).'."\n"
+ ."\n"
+ .'You must specify this parameter or the **DeviceName.N** parameter. If you specify this parameter and the **DeviceName.N** parameter at the same time, this parameter is used by default.'."\n"
+ ."\n"
+ .'> You can specify up to 10,000 DeviceNames in a single call. If the size of a message exceeds this limit, the message is discarded.'."\n",
+ ],
+ ],
+ [
+ 'name' => 'DeviceNameList',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DeviceNickname' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'example' => '',
+ ],
+ 'DeviceName' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => 'The ID of the request.'."\n",
+ 'example' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 10000,
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The returned data.'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The application ID (ApplyId) returned if the call is successful. When you call the [BatchRegisterDeviceWithApplyId](~~69514~~) operation to register the devices, this parameter is required.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The list of invalid device aliases returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'The list of invalid DeviceNames returned if the call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'ApplyId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1295006',
+ ],
+ 'InvalidDetailList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'InvalidDetailList' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'NickName' => [
+ 'type' => 'string',
+ ],
+ 'ErrorMsg' => [
+ 'type' => 'string',
+ ],
+ 'DeviceName' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'RepeatedDeviceNameList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'RepeatDevieNameList' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ 'InvalidDeviceNameList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'InvalidDeviceName' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{ "InvalidDeviceName": [ "APT$", "aw" ] }',
+ ],
+ ],
+ ],
+ ],
+ 'InvalidDeviceNicknameList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'InvalidDeviceNickname' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{ "InvalidDeviceNickname": [ "APT$", "aw" ] }',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ApplyId\\": 1295006,\\n \\"InvalidDetailList\\": {\\n \\"InvalidDetailList\\": [\\n {\\n \\"NickName\\": \\"\\",\\n \\"ErrorMsg\\": \\"\\",\\n \\"DeviceName\\": \\"\\"\\n }\\n ]\\n },\\n \\"RepeatedDeviceNameList\\": {\\n \\"RepeatDevieNameList\\": [\\n \\"\\"\\n ]\\n },\\n \\"InvalidDeviceNameList\\": {\\n \\"InvalidDeviceName\\": [\\n \\"{ \\\\\\"InvalidDeviceName\\\\\\": [ \\\\\\"APT$\\\\\\", \\\\\\"aw\\\\\\" ] }\\"\\n ]\\n },\\n \\"InvalidDeviceNicknameList\\": {\\n \\"InvalidDeviceNickname\\": [\\n \\"{ \\\\\\"InvalidDeviceNickname\\\\\\": [ \\\\\\"APT$\\\\\\", \\\\\\"aw\\\\\\" ] }\\"\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<BatchCheckDeviceNamesResponse>\\n<Data>\\n <ApplyId>1234567</ApplyId>\\n</Data>\\n<RequestId>E976E36B-6874-4FA4-8BC0-55F9BEC5E2EF</RequestId>\\n<Success>true</Success>\\n</BatchCheckDeviceNamesResponse>","errorExample":""}]',
+ 'title' => 'BatchCheckDeviceNames',
+ 'summary' => 'Creates multiple custom DeviceNames under a specified product. IoT Platform checks the validity of these DeviceNames.',
+ 'description' => 'You can call this operation with the **BatchRegisterDeviceWithApplyId** operation to register multiple devices under a product. Each device carries a unique DeviceName.'."\n"
+ ."\n"
+ .'Procedure:'."\n"
+ ."\n"
+ .'1\\. Call this operation to specify the DeviceNames of the devices to be registered. IoT Platform returns an application ID (**ApplyId**). A successful response indicates that the request to verify the DeviceNames is submitted. The actual registration process is asynchronously implemented and takes some minutes.'."\n"
+ ."\n"
+ .'2\\. Call the [QueryBatchRegisterDeviceStatus](~~69483~~) operation to query the name setting result.'."\n"
+ ."\n"
+ .'3\\. Call the [BatchRegisterDeviceWithApplyId](~~69514~~) operation to register multiple devices.'."\n"
+ ."\n"
+ .'4\\. Optional. Call the [QueryBatchRegisterDeviceStatus](~~69483~~) operation to view the registration result.'."\n"
+ ."\n"
+ .'5\\. Call the [QueryPageByApplyId](~~69518~~) operation to query the information about the registered devices.'."\n"
+ ."\n"
+ .'## Limits'."\n"
+ ."\n"
+ .'- You can specify a maximum of 10,000 DeviceNames in a single call.'."\n"
+ .'- Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS). > RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchRegisterDeviceWithApplyId' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'>* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'ApplyId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the application. The application ID is returned by the [BatchCheckDeviceNames](~~69482~~) operation.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1295006',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data returned if the call succeeds. For more information, see the following parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ApplyId' => [
+ 'description' => 'The application ID.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1295006',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ApplyId\\": 1295006\\n }\\n}","errorExample":""},{"type":"xml","example":"<BatchRegisterDeviceWithApplyIdResponse>\\n<Data>\\n <ApplyId>1234567</ApplyId>\\n</Data>\\n<RequestId>82C16DC1-41B5-45F8-9AFD-1FB42448D405</RequestId>\\n<Success>true</Success>\\n</BatchRegisterDeviceWithApplyIdResponse>","errorExample":""}]',
+ 'title' => 'BatchRegisterDeviceWithApplyId',
+ 'summary' => 'Registers multiple devices by using an application ID at a time.',
+ 'description' => 'You can use one of the following methods to register multiple devices at a time:'."\n"
+ ."\n"
+ .'* Call the [BatchRegisterDevice](~~69473~~) operation to generate random DeviceNames.'."\n"
+ ."\n"
+ .'* Call the BatchRegisterDeviceWithApplyId and **BatchCheckDeviceNames** operations to specify custom DeviceNames. Procedure:'."\n"
+ ."\n"
+ .' Call the [BatchCheckDeviceNames](~~69482~~) operation and specify the names of devices that you want to register. If the DeviceNames are valid, IoT Platform returns an application ID that is specified by the **ApplyId** parameter. You can query the DeviceName setting results, device registration results, and device details by **ApplyId**.'."\n"
+ ."\n"
+ .' Call the [QueryBatchRegisterDeviceStatus](~~69483~~) operation to query the name setting result.'."\n"
+ ."\n"
+ .' Call the BatchRegisterDeviceWithApplyId operation to register multiple devices. The successful result that is returned by this operation indicates that only the batch registration request is submitted. In actual scenarios, the registration process takes a few minutes.'."\n"
+ ."\n"
+ .' Optional. Call the [QueryBatchRegisterDeviceStatus](~~69483~~) operation to query the device registration result.'."\n"
+ ."\n"
+ .' Call the [QueryPageByApplyId](~~69518~~) operation to view the details of devices that are registered in batches.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 500 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchRegisterDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the devices belong.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'Count',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of devices to be registered.'."\n"
+ ."\n"
+ .'> You can register up to 10,000 devices in a single call.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '100',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data returned if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ApplyId' => [
+ 'description' => 'The application ID (ApplyId) returned for the request if the call is successful.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1295006',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ApplyId\\": 1295006\\n }\\n}","errorExample":""},{"type":"xml","example":"<BatchRegisterDeviceResponse>\\n<Data>\\n <ApplyId>12345678</ApplyId>\\n</Data>\\n<RequestId>92C67DC1-41B5-45F8-9AFD-1FB42448D405</RequestId>\\n<Success>true</Success>\\n</BatchRegisterDeviceResponse>","errorExample":""}]',
+ 'title' => 'BatchRegisterDevice',
+ 'summary' => 'Registers multiple devices under a product. The DeviceNames of these devices are randomly generated.',
+ 'description' => 'You can use one of the following methods to register multiple devices:'."\n"
+ ."\n"
+ .'* If you want to generate random DeviceNames, call the BatchRegisterDevice operation.'."\n"
+ ."\n"
+ .' Perform the following steps to register devices and view the result:'."\n"
+ ."\n"
+ .' 1\\. Call the BatchRegisterDevice operation to register multiple devices. A successful response indicates that the registration request is submitted. The actual registration process is asynchronously implemented and takes some minutes.'."\n"
+ ."\n"
+ .' 2\\. Call the [QueryBatchRegisterDeviceStatus](~~69483~~) operation to query the device registration result.'."\n"
+ ."\n"
+ .' 3\\. Call the [QueryPageByApplyId](~~69518~~) operation to view the details of registered devices. The details include the DeviceName, DeviceSecret, and IotId parameters.'."\n"
+ ."\n"
+ .'* If you want to specify custom DeviceNames, call the BatchRegisterDeviceWithApplyId operation. For more information, see [BatchRegisterDeviceWithApplyId](~~69514~~).'."\n"
+ ."\n"
+ .'## Limits'."\n"
+ ."\n"
+ .'- You can create a maximum of 10,000 devices in a single call.'."\n"
+ .'- Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS). > RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchUpdateDeviceNickname' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'DeviceNicknameInfo',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ 'Nickname' => [
+ 'description' => 'The new alias of the device. The alias must be 4 to 32 characters in length, and can contain letters, digits, and underscores (\\_). Each Chinese character is counted as two characters.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the original alias of the device will be deleted.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'AliyunDataCenter',
+ ],
+ 'IotId' => [
+ 'description' => 'The ID of the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'maxItems' => 50,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BatchUpdateDeviceNicknameResponse>\\n<RequestId>57b144cf-09fc-4916-a272-a62902d5b207</RequestId>\\n<Success>true</Success>\\n</BatchUpdateDeviceNicknameResponse>","errorExample":""}]',
+ 'title' => 'BatchUpdateDeviceNickname',
+ 'summary' => 'Modifies the aliases of multiple devices.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryBatchRegisterDeviceStatus' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n\n"
+ .'**Important**'."\n"
+ ."\n"
+ .'* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'* If no **Overview** page or ID is generated for your instance, you do not need configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'ApplyId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The application ID. If the call of the [BatchRegisterDeviceWithApplyId](~~69514~~) or [BatchRegisterDevice](~~69473~~) operation is successful, the application ID is returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1295006',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n"
+ ."\n"
+ .'> X.509 certificates are available only for devices in the China (Shanghai) region. If devices do not reside in the China (Shanghai) region, you cannot generate X.509 certificates for the devices and the iot.device.RegionNotSupportX509 error code is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The status information returned if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The processing status and result. Valid values:'."\n"
+ ."\n"
+ .'* **CHECK**: The system is verifying device names.'."\n"
+ ."\n"
+ .'* **CHECK_SUCCESS**: All devices in the application form are verified.'."\n"
+ ."\n"
+ .'* **CHECK_FAILED**: All devices in the application form failed to be verified.'."\n"
+ ."\n"
+ .'* **CREATE**: The system is creating devices.'."\n"
+ ."\n"
+ .'* **CREATE_SUCCESS**: All devices in the application form are created.'."\n"
+ ."\n"
+ .'> If the authentication type of the product to which the devices belong is X.509, all devices and the related X.509 certificates are created.'."\n"
+ ."\n"
+ .'* **CREATE_FAILED**: Some devices in the application form failed to be created.'."\n"
+ ."\n"
+ .'> If a device or X.509 certificate fails to be created in the current batch when the authentication type is X.509, all devices fail to be created.',
+ 'type' => 'string',
+ 'example' => 'CREATE_SUCCESS',
+ ],
+ 'InvalidDetailList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'invalidDetailList' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMsg' => [
+ 'type' => 'string',
+ ],
+ 'NickName' => [
+ 'type' => 'string',
+ ],
+ 'DeviceName' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'InvalidList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Name' => [
+ 'description' => '* If the value of the **Status** parameter is **CHECK_FAILED** or **CREATE_FAILED**, some devices failed to be created and the names of the devices that failed to be created are returned in this parameter.'."\n"
+ .'* If the value of the **Status** parameter is **CHECK_SUCCESS** or **CREATE_SUCCESS**, all devices are created and an empty array is returned in this parameter.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{ "Name": ["Elec_instrument"] }',
+ ],
+ ],
+ ],
+ ],
+ 'ValidList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Name' => [
+ 'description' => '* If the value of the **Status** parameter is **CHECK_FAILED** or **CREATE_FAILED**, some devices failed to be created and the names of the created devices are returned in this parameter.'."\n"
+ .'* If the value of the **Status** parameter is **CHECK_SUCCESS** or **CREATE_SUCCESS**, all devices are created and an empty array is returned in this parameter.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{ "Name": ["light3"] }',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Status\\": \\"CREATE_SUCCESS\\",\\n \\"InvalidDetailList\\": {\\n \\"invalidDetailList\\": [\\n {\\n \\"ErrorMsg\\": \\"The nick name is illegal.\\",\\n \\"NickName\\": \\"园区灯-1\\",\\n \\"DeviceName\\": \\"light\\"\\n }\\n ]\\n },\\n \\"InvalidList\\": {\\n \\"Name\\": [\\n \\"{ \\\\\\"Name\\\\\\": [\\\\\\"Elec_instrument\\\\\\"] }\\"\\n ]\\n },\\n \\"ValidList\\": {\\n \\"Name\\": [\\n \\"{ \\\\\\"Name\\\\\\": [\\\\\\"light3\\\\\\"] }\\"\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryBatchCheckDeviceNamesStatusResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Data>\\n <Status>CREATE_SUCCESS</Status>\\n <InvalidDetailList>\\n <invalidDetailList>\\n <ErrorMsg>The nick name is illegal. | The nick name is illegal.</ErrorMsg>\\n <NickName>园区灯-1</NickName>\\n <DeviceName>Elec_instrument</DeviceName>\\n </invalidDetailList>\\n </InvalidDetailList>\\n <ValidList>\\n <Name>light3</Name>\\n </ValidList>\\n <InvalidList>\\n <Name>Elec_instrument</Name>\\n </InvalidList>\\n</Data>\\n<Code/>\\n<Success>true</Success>\\n</QueryBatchCheckDeviceNamesStatusResponse>","errorExample":""}]',
+ 'title' => 'QueryBatchRegisterDeviceStatus',
+ 'summary' => 'Queries the processing status and result of device registration for multiple devices.',
+ 'description' => '## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 30 times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryPageByApplyId' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Maximum value: 50. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ApplyId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the application. You can view the application ID in the response of the [BatchRegisterDeviceWithApplyId](~~69514~~) or [BatchRegisterDevice](~~69473~~) operation.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1295006',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](/help/en/iot-platform/latest/bce100).',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of devices.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'PageCount' => [
+ 'description' => 'The total number of pages.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Page' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'ApplyDeviceList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'ApplyDeviceInfo' => [
+ 'description' => 'The registered device list information returned if the call succeeds. The **ApplyDeviceInfo** parameter includes the details of the registered devices.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DeviceName' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'light',
+ ],
+ 'DeviceId' => [
+ 'description' => 'The ID of the device (expired).'."\n"
+ ."\n"
+ .'> This parameter is no longer used. Do not use this parameter to identify a device. You can use the **IotId** parameter or a combination of the **ProductKey** and **DeviceName** parameters to identify a device.'."\n",
+ 'type' => 'string',
+ 'example' => 'gQG2GJ2y10m6hIk8****',
+ ],
+ 'IotId' => [
+ 'description' => 'The ID of the device. The ID is the unique identifier that is issued by IoT Platform to the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'vWxNur6BUApsqjv9****000100',
+ ],
+ 'DeviceSecret' => [
+ 'description' => 'The DeviceSecret of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'SkfeXXKrTgp1DbDxYr74mfJ5cnui****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"Total\\": 2,\\n \\"PageCount\\": 1,\\n \\"Page\\": 1,\\n \\"ApplyDeviceList\\": {\\n \\"ApplyDeviceInfo\\": [\\n {\\n \\"DeviceName\\": \\"light\\",\\n \\"DeviceId\\": \\"gQG2GJ2y10m6hIk8****\\",\\n \\"IotId\\": \\"vWxNur6BUApsqjv9****000100\\",\\n \\"DeviceSecret\\": \\"SkfeXXKrTgp1DbDxYr74mfJ5cnui****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryPageByApplyIdResponse>\\n<PageCount>1</PageCount>\\n<ApplyDeviceList>\\n <ApplyDeviceInfo>\\n <DeviceId>vWxNur6BUApsqjv9****</DeviceId>\\n <DeviceName>APItest</DeviceName>\\n <DeviceSecret>tXXEtily4XuV7WS1fosJoDkhRIIU****</DeviceSecret>\\n <IotId>vWxNur6BUApsqjv****4000100</IotId>\\n </ApplyDeviceInfo>\\n <ApplyDeviceInfo>\\n <DeviceId>hoiwszKPYmHk074H****</DeviceId>\\n <DeviceName>awfg</DeviceName>\\n <DeviceSecret>BYpg1b2nmuq21BO7fxOogYQQZd9z****</DeviceSecret>\\n <IotId>hoiwszKPYmHk074HA****000100</IotId>\\n </ApplyDeviceInfo>\\n</ApplyDeviceList>\\n<Page>1</Page>\\n<PageSize>10</PageSize>\\n<RequestId>762F7AAD-8B87-4C65-BBF3-4575B002B384</RequestId>\\n<Success>true</Success>\\n<Total>2</Total>\\n</QueryPageByApplyIdResponse>","errorExample":""}]',
+ 'title' => 'QueryPageByApplyId',
+ 'summary' => 'Queries the information of multiple devices that you have registered.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetGatewayBySubDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the sub-device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the sub-device. The ID is a unique identifier that is issued by IoT Platform to the sub-device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The gateway details returned if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the gateway device. Valid values:'."\n"
+ ."\n"
+ .'* **online**: The device is online.'."\n"
+ .'* **offline**: The device is offline.'."\n"
+ .'* **unactive**: The device is not activated.'."\n"
+ .'* **disable**: The device is disabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'online',
+ ],
+ 'UtcActive' => [
+ 'description' => 'The activation time of the gateway. The time is displayed in UTC. The actual time of the region where the gateway resides is calculated based on the time zone of the region.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-12-18T15:25:30.176Z',
+ ],
+ 'ProductName' => [
+ 'description' => 'The name of the product to which the gateway belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'LinkIoT',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The DeviceName of the gateway.'."\n",
+ 'type' => 'string',
+ 'example' => 'gateway',
+ ],
+ 'FirmwareVersion' => [
+ 'description' => 'The firmware version number of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'V1.0.1',
+ ],
+ 'UtcCreate' => [
+ 'description' => 'The creation time of the gateway. The time is displayed in UTC. The actual time of the region where the gateway resides is calculated based on the time zone of the region.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-12-18T08:58:33.000Z',
+ ],
+ 'region' => [
+ 'description' => 'The region where the gateway resides. This region corresponds to the region that is displayed in the IoT Platform console.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ 'GmtOnline' => [
+ 'description' => 'The last online time of the gateway. The time is displayed in GMT. The time is the local time of the region where the gateway resides.'."\n",
+ 'type' => 'string',
+ 'example' => '2020-01-20 17:41:04',
+ ],
+ 'iotId' => [
+ 'description' => 'The ID of the gateway device. The ID is the unique identifier that is issued by IoT Platform to the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'WuyjPSDQE1L22z1d****000100',
+ ],
+ 'UtcOnline' => [
+ 'description' => 'The last online time of the gateway. The time is displayed in UTC. The actual time of the region where the gateway resides is calculated based on the time zone of the region.'."\n",
+ 'type' => 'string',
+ 'example' => '2020-01-20T09:41:04.879Z',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The **ProductKey** of the product to which the gateway belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1BwAGV****',
+ ],
+ 'IpAddress' => [
+ 'description' => 'The IP address of the gateway.'."\n",
+ 'type' => 'string',
+ 'example' => '106.**.1**.**',
+ ],
+ 'NodeType' => [
+ 'description' => 'The node type. The value 1 indicates that the device is a gateway.'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'DeviceSecret' => [
+ 'description' => 'The DeviceSecret of the gateway.'."\n",
+ 'type' => 'string',
+ 'example' => 'dCYdTU3gw5Z77bsHjPk6lPHPVnBT****',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The creation time of the gateway. The time is displayed in GMT. The time is the local time of the region where the gateway resides.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-12-18 16:58:33',
+ ],
+ 'GmtActive' => [
+ 'description' => 'The activation time of the gateway. The time is displayed in GMT. The time is the local time of the region where the gateway resides.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-12-18 23:25:30',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Status\\": \\"online\\",\\n \\"UtcActive\\": \\"2019-12-18T15:25:30.176Z\\",\\n \\"ProductName\\": \\"LinkIoT\\",\\n \\"DeviceName\\": \\"gateway\\",\\n \\"FirmwareVersion\\": \\"V1.0.1\\",\\n \\"UtcCreate\\": \\"2019-12-18T08:58:33.000Z\\",\\n \\"region\\": \\"cn-shanghai\\",\\n \\"GmtOnline\\": \\"2020-01-20 17:41:04\\",\\n \\"iotId\\": \\"WuyjPSDQE1L22z1d****000100\\",\\n \\"UtcOnline\\": \\"2020-01-20T09:41:04.879Z\\",\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"IpAddress\\": \\"106.**.1**.**\\",\\n \\"NodeType\\": \\"1\\",\\n \\"DeviceSecret\\": \\"dCYdTU3gw5Z77bsHjPk6lPHPVnBT****\\",\\n \\"GmtCreate\\": \\"2019-12-18 16:58:33\\",\\n \\"GmtActive\\": \\"2019-12-18 23:25:30\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetGatewayBySubDeviceResponse>\\n<Data>\\n <region>cn-shanghai</region>\\n <DeviceName>gateway_04</DeviceName>\\n <GmtActive>2019-12-18 23:25:30</GmtActive>\\n <ProductKey>a1vL7cp****</ProductKey>\\n <IpAddress>106.**.1**.**</IpAddress>\\n <GmtCreate>2019-12-18 16:58:33</GmtCreate>\\n <UtcCreate>2019-12-18T08:58:33.000Z</UtcCreate>\\n <UtcOnline>2020-01-20T09:41:04.879Z</UtcOnline>\\n <UtcActive>2019-12-18T15:25:30.176Z</UtcActive>\\n <Status>online</Status>\\n <NodeType>1</NodeType>\\n <GmtOnline>2020-01-20 17:41:04</GmtOnline>\\n <ProductName>LinkIoTEdge_Gateway</ProductName>\\n <iotId>WuyjPSDQE1L22z1****000100</iotId>\\n</Data>\\n<RequestId>0377D5A9-BDE1-48C2-96C9-BDC048899186</RequestId>\\n<Success>true</Success>\\n</GetGatewayBySubDeviceResponse>","errorExample":""}]',
+ 'title' => 'GetGatewayBySubDevice',
+ 'summary' => 'Queries the information of a gateway based on sub-device information.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceProp' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n\n"
+ .'**Important**'."\n"
+ ."\n"
+ .'* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device. The device ID is issued by IoT Platform.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Props' => [
+ 'description' => 'A JSON string returned if the call is successful. The JSON string includes the details of the device tags.'."\n",
+ 'type' => 'string',
+ 'example' => '{"coordinate":"104.07086:30.549169"}',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Props\\": \\"{\\\\\\"coordinate\\\\\\":\\\\\\"104.07086:30.549169\\\\\\"}\\",\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<QueryDevicePropResponse>\\n<RequestId>D8CEF5E7-1484-4164-A242-C06BA3A54E0F</RequestId>\\n<Props>{\\"coordinate\\":\\"104.07086:30.549169\\"}</Props>\\n<Success>true</Success>\\n</QueryDevicePropResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceProp',
+ 'summary' => 'Queries the tags of a device.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'SaveDeviceProp' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. On the **Overview** page in the IoT Platform console, you can view the **ID** of the instance.'."\n"
+ ."\n\n"
+ .'**Important**'."\n"
+ ."\n"
+ .'* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'* If the **Overview** page or instance ID is not displayed in the IoT Platform console, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information about the instance, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'Props',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The tag that you want to specify for the device. You can specify multiple tags.'."\n"
+ ."\n"
+ .'The tags must be JSON data in the **Key:Value** format. **Key** indicates the tag name, and **Value** indicates the tag value.'."\n"
+ ."\n"
+ .'Separate multiple tags with commas (,). Example: **Props={"color":"red","shape":"round"}**'."\n"
+ ."\n\n"
+ .'**Important**'."\n"
+ ."\n"
+ .'* The maximum size of the **Props** parameter is 5 KB.'."\n"
+ .'* `abc` is a **key** that is reserved by IoT Platform. You cannot set **Key** to abc. If you set `Key` to abc, the abc tag is automatically filtered when you query tags.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '{"color":"red"}',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you do not need to specify the **ProductKey** or **DeviceName** parameters. The **IotId** parameter specifies a globally unique identifier (GUID) for the device. The value of the IotId parameter corresponds to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify the **IotId**, **ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information about error codes, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<SaveDevicePropResponse>\\n<RequestId>57b144cf-09fc-4916-a272-a62902d5b207</RequestId>\\n<Success>true</Success>\\n</SaveDevicePropResponse>","errorExample":""}]',
+ 'title' => 'SaveDeviceProp',
+ 'summary' => 'Specifies a tag for a device.',
+ 'description' => '* A device can have a maximum of 100 tags.'."\n"
+ .'* You can modify or add a maximum of 100 tags at a time.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 50 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteDeviceProp' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'PropKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The key of the tag.'."\n"
+ ."\n"
+ .'> IoT Platform searches for the specified tag key and then deletes the tag. If no result is found, no operation is performed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'room',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteDevicePropResponse>\\n<RequestId>57b144cf-09fc-4916-a272-a62902d5b207</RequestId>\\n<Success>true</Success>\\n</DeleteDevicePropResponse>","errorExample":""}]',
+ 'title' => 'DeleteDeviceProp',
+ 'summary' => 'Deletes a tag from a device.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceByTags' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Maximum value: 50. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TagValue' => [
+ 'description' => 'The value of the device tag.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '101',
+ ],
+ 'TagKey' => [
+ 'description' => 'The key of the device tag.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'room',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned on each page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of records.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageCount' => [
+ 'description' => 'The total number of pages.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Page' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'SimpleDeviceInfo' => [
+ 'description' => 'The device information returned if the call succeeds. The **SimpleDeviceInfo** parameter includes the details of the devices.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1BwAGV****',
+ ],
+ 'ProductName' => [
+ 'description' => 'The name of the product.'."\n",
+ 'type' => 'string',
+ 'example' => 'lamp',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'light1',
+ ],
+ 'IotId' => [
+ 'description' => 'The ID of the device. The ID is the unique identifier that is issued by IoT Platform to the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"Total\\": 1,\\n \\"PageCount\\": 1,\\n \\"Page\\": 1,\\n \\"Data\\": {\\n \\"SimpleDeviceInfo\\": [\\n {\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"ProductName\\": \\"lamp\\",\\n \\"DeviceName\\": \\"light1\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceByTags>\\n<PageCount>1</PageCount>\\n<Data>\\n <SimpleDeviceInfo>\\n <DeviceName>1102jichu02</DeviceName>\\n <ProductKey>a1SM5S1****</ProductKey>\\n <IotId>GookTiUcwqRbHosp9Ta10****3a00</IotId>\\n <ProductName>TEST</ProductName>\\n </SimpleDeviceInfo>\\n</Data>\\n<PageSize>10</PageSize>\\n<Page>1</Page>\\n<RequestId>2B5091E4-32D5-4884-A5B2-2E8E713D84AF</RequestId>\\n<Success>true</Success>\\n<Total>1</Total>\\n</QueryDeviceByTags>","errorExample":""}]',
+ 'title' => 'QueryDeviceByTags',
+ 'summary' => 'Queries devices by tag.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* You can specify a maximum of 10 tags in a single call.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetThingTopo' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for public instances. However, this parameter is required for enterprise-edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Maximum value: 50.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the gateway device belongs.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the gateway device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'PageNo',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the gateway device. The ID is the unique identifier that is issued by IoT Platform to the gateway device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you do not need to specify the **ProductKey** or **DeviceName** parameter. The **IotId** parameter specifies a unique identifier for the device, and corresponds to a combination of the **ProductKey** and **DeviceName** parameters. If you specify the **IotId** parameter and a combination of the **ProductKey** and **DeviceName** parameters at the same time, the **IotId** parameter takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call succeeds.'."\n"
+ ."\n"
+ .'* **true**: The call succeeds.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data returned if the call succeeds. For more information, see the following parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'CurrentPage' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned on each page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'PageCount' => [
+ 'description' => 'The total number of pages returned.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'deviceInfo' => [
+ 'description' => 'The details of the sub-device. The details of the sub-device are included in the **deviceInfo** parameter.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => 'The ProductKey of the product to which the sub-device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1BwAGV****',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The DeviceName of the sub-device.'."\n",
+ 'type' => 'string',
+ 'example' => 'light',
+ ],
+ 'IotId' => [
+ 'description' => 'The ID of the sub-device. The ID is the unique identifier that is issued by IoT Platform to the sub-device.'."\n",
+ 'type' => 'string',
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"NextToken\\": \\"TGlzdFJlc291***\\",\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"PageCount\\": 1,\\n \\"Total\\": 1,\\n \\"List\\": {\\n \\"deviceInfo\\": [\\n {\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetThingTopoResponse>\\n<Data>\\n <PageCount>1</PageCount>\\n <PageSize>2</PageSize>\\n <CurrentPage>1</CurrentPage>\\n <NextToken>TGlzdFJlc291***</NextToken>\\n <List>\\n <deviceInfo>\\n <DeviceName>APItest</DeviceName>\\n <ProductKey>a1T27vz****</ProductKey>\\n <IotId>vWxNur6BUApsqjv****000100</IotId>\\n </deviceInfo>\\n </List>\\n <Total>1</Total>\\n</Data>\\n<RequestId>93F05C63-9FD1-4CC8-B0FF-6D6C1A6632D1</RequestId>\\n<Success>true</Success>\\n</GetThingTopoResponse>","errorExample":""}]',
+ 'title' => 'GetThingTopo',
+ 'summary' => 'Queries the sub-devices of a specified gateway device.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can initiate a maximum of 500 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this API operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'NotifyAddThingTopo' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'DeviceListStr',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'A JSON array of the sub-device identity information. You can use a combination of **ProductKey** and **DeviceName** or only **IotId** to specify a device, such as **\\[{"productKey":"a1BwAGxxx","deviceName":"device1"},{"IotId":"Q7uOhxxx"}]**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[{"productKey":"a1BwAGV****","deviceName":"device1"},{"IotId":"Q7uOhVRdZRRlDnTLv****00100"}]',
+ ],
+ ],
+ [
+ 'name' => 'GwIotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the gateway device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'vWxNur6BUApsqjv****4000100',
+ ],
+ ],
+ [
+ 'name' => 'GwProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the gateway belongs.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1T27vz****',
+ ],
+ ],
+ [
+ 'name' => 'GwDeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the gateway.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'gateway',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data returned if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'MessageId' => [
+ 'description' => 'The ID of the message that IoT Platform sends to the gateway. The message is used to notify the gateway to add a topology.'."\n",
+ 'type' => 'string',
+ 'example' => '5443123',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"MessageId\\": \\"5443123\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<NotifyAddThingTopoResponse>\\n<RequestId>419A3FC1-B517-4958-9414-5546765FA51F</RequestId>\\n<Success>true</Success>\\n<Data>\\n <MessageId>2345123</MessageId>\\n</Data>\\n</NotifyAddThingTopoResponse>","errorExample":""}]',
+ 'title' => 'NotifyAddThingTopo',
+ 'summary' => 'Notifies a gateway to add topological relationships.',
+ 'description' => 'A successful response indicates that the command to add topological relationships is sent to the gateway. It does not indicate that the topological relationships are added.'."\n"
+ ."\n"
+ .'When you develop the gateway, you must subscribe to the topic that is used to send notifications when you add topological relationships. For more information about the topic and message format, see [Manage topological relationships](~~89299~~).'."\n"
+ ."\n"
+ .'## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS). '."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchAddThingTopo' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. On the **Overview** page in the IoT Platform console, you can view the ID of the instance.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify this parameter. Otherwise, the call fails.'."\n"
+ .'>* If no **Overview** page or instance ID appears in the IoT Platform console, ignore this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'GwProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The key of the product to which the gateway belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1vL7cp****',
+ ],
+ ],
+ [
+ 'name' => 'GwDeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the gateway.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'gateway',
+ ],
+ ],
+ [
+ 'name' => 'TopoAddItem',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => 'The key of the product to which the sub-device belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The name of each sub-device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'light',
+ ],
+ 'Sign' => [
+ 'description' => 'The signature of the sub-device.'."\n"
+ ."\n"
+ .'Set the Sign parameter to the result of the **SignMethod(deviceSecret,content)** function.'."\n"
+ ."\n"
+ .'To obtain the **content** parameter, sort all sub-device parameters that are submitted to the server, except the Sign and SignMethod parameters, in alphabetical order. Then, concatenate the parameters and values in sequence. No concatenation symbol is required to separate these parameters and values.'."\n"
+ ."\n"
+ .'For example, you want to specify the following parameters for a sub-device: **ClientId=868575026974305, DeviceName=868575026974305, ProductKey=a1PB5fp1234, SignMethod=hmacmd5, timestamp=1646277090411, and deviceSecret=1234**. In this case, the signature function is `hmacmd5(1234, clientId868575026974305deviceName868575026974305productKeya1PB5fp1234timestamp1646277090411)`, and the calculation result is `3BA0DFA4C477B40C007D84D30D6466CC`.'."\n"
+ ."\n"
+ .'> In the preceding example, **ClientId** indicates the client ID of the sub-device. You can specify a custom client ID.'."\n"
+ ."\n"
+ .'For more information about how to calculate the signature value, see [How do I obtain MQTT parameters for authentication?](~~292635~~). The signature value is the calculated value of the passwd parameter.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'C1C1606D61884C5F16C9EA6622E5****',
+ ],
+ 'Timestamp' => [
+ 'description' => 'The timestamp in UTC. This parameter is optional.'."\n"
+ ."\n"
+ .'> If this parameter is included in the value of the **TopoAddItem.N.Sign** parameter, you must specify this parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1579335899000',
+ ],
+ 'SignMethod' => [
+ 'description' => 'The signature algorithm. Valid values: **hmacSha1**, **hmacSha256**, **hmacMd5**, and **Sha256**. The value is not case-sensitive.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'hmacMd5',
+ ],
+ 'ClientId' => [
+ 'description' => 'The client ID of the sub-device. The ID can be the serial number (SN) or media access control (MAC) address of the device. This parameter is optional.'."\n"
+ ."\n"
+ .'> If this parameter is included in the value of the **TopoAddItem.N.Sign** parameter, you must specify this parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****device1',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'maxItems' => 50,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BatchAddThingTopoResponse>\\n<RequestId>2E19BDAF-0FD0-4608-9F41-82D230CFEE38</RequestId>\\n<Success>true</Success>\\n</BatchAddThingTopoResponse>","errorExample":""}]',
+ 'title' => 'BatchAddThingTopo',
+ 'summary' => 'Establishes multiple topological relationships at a time.',
+ 'description' => '* You can attach up to 10 sub-devices to a gateway in a single call.'."\n"
+ .'* The API operation caller must be the gateway owner.'."\n"
+ .'* If you specify a sub-device that is already attached to a gateway, the original gateway is replaced with the specified gateway.'."\n"
+ .'* If one of the specified sub-devices fails to establish a topological relationship with the gateway, the system rolls back, and all specified sub-devices fail to establish topological relationships with the gateway.'."\n"
+ .'* After you call this operation to establish topological relationships between sub-devices and the gateway, IoT Platform uses the `/sys/${productKey}/${deviceName}/thing/topo/change` topic to push information that includes the result of this operation to the gateway. For more information, see [Notify gateways of changes of topological relationships](~~89299~~).'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 10 times per second per Alibaba Cloud account. '."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'RemoveThingTopo' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n\n"
+ .'**Important**'."\n"
+ ."\n"
+ .'* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you specify a value for this parameter, you must also specify a value for the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'> If you specify a value for this parameter, you must also specify a value for the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n"
+ ."\n"
+ .'> If you specify a value for this parameter, you do not need to specify a value for the **ProductKey** or **DeviceName** parameter. The IotId parameter specifies a globally unique identifier (GUID) for the device. The value of the **IotId** parameter corresponds to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify a value for the **IotId** parameter and values for the **ProductKey** and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'Data' => [
+ 'description' => 'Indicates whether the topological relationship was deleted.'."\n"
+ ."\n"
+ .'* **true**: The topological relationship was deleted.'."\n"
+ .'* **false**: The topological relationship failed to be deleted.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Data\\": true,\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"JobId\\": \\"450407b***\\",\\n \\"Code\\": \\"iot.system.SystemException\\"\\n}","errorExample":""},{"type":"xml","example":"<RemoveThingTopoResponse>\\n<Data>true</Data>\\n<RequestId>098BEEF4-58F4-4181-A891-5D37DB6C4C3B</RequestId>\\n<Success>true</Success>\\n</RemoveThingTopoResponse>","errorExample":""}]',
+ 'title' => 'RemoveThingTopo',
+ 'summary' => 'Deletes the topological relationships between a gateway and all attached sub-devices, or the topological relationship between a sub-device and the gateway to which the sub-device is attached.',
+ 'description' => '* If you specify a gateway, this operation removes the topological relationships between the gateway and all attached sub-devices.'."\n"
+ .'* If you specify a sub-device, this operation removes the topological relationship between the sub-device and the gateway to which the sub-device is attached.'."\n"
+ ."\n"
+ .'# QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 500 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceStatistics' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the devices belong.'."\n"
+ ."\n"
+ .'* If you specify this parameter, the statistics of the devices under the product is returned. If you also specify **GroupId**, the statistics of the devices that are created under the product and added to the group is returned.'."\n"
+ .'* If you do not specify this parameter and **GroupId**, the statistics of all devices within the current account is returned.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the group to which the devices belong.'."\n"
+ ."\n"
+ .'* If you specify this parameter, the statistics of the devices that are added to the group is returned. If you also specify **ProductKey**, the statistics of the devices that are created under the product and added to the group is returned.'."\n"
+ .'* If you do not specify this parameter and **ProductKey**, the statistics of all devices within the current account is returned.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'W16X8Tvdosec****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The device statistics returned if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'deviceCount' => [
+ 'description' => 'The total number of devices.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '100',
+ ],
+ 'activeCount' => [
+ 'description' => 'The number of activated devices.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '10',
+ ],
+ 'onlineCount' => [
+ 'description' => 'The number of online devices.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '10',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"deviceCount\\": 100,\\n \\"activeCount\\": 10,\\n \\"onlineCount\\": 10\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceStatisticsResponse>\\n<Data>\\n <deviceCount>2</deviceCount>\\n <activeCount>2</activeCount>\\n <onlineCount>0</onlineCount>\\n</Data>\\n<RequestId>8AC026D2-6F16-4719-A396-969D63DCA138</RequestId>\\n<Success>true</Success>\\n</QueryDeviceStatisticsResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceStatistics',
+ 'summary' => 'Queries the statistics of devices, including the number of online devices, the number of activated devices, and the total number of created devices.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryLoRaJoinPermissions' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ProductKey' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'a1BwAGV****',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'JoinPermissions' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'JoinPermission' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Enabled' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'JoinPermissionType' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'LOCAL',
+ ],
+ 'JoinPermissionId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '80***',
+ ],
+ 'JoinPermissionName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'ForTest',
+ ],
+ 'OwnerAliyunPk' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '1375364789****',
+ ],
+ 'ClassMode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'A',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"JoinPermissions\\": {\\n \\"JoinPermission\\": [\\n {\\n \\"Enabled\\": true,\\n \\"JoinPermissionType\\": \\"LOCAL\\",\\n \\"JoinPermissionId\\": \\"80***\\",\\n \\"JoinPermissionName\\": \\"ForTest\\",\\n \\"OwnerAliyunPk\\": \\"1375364789****\\",\\n \\"ClassMode\\": \\"A\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryLoRaJoinPermissions>\\n<RequestId>1C1BD4E7-2FD3-4535-9D97-DE51803192AD</RequestId>\\n<Success>true</Success>\\n<JoinPermissions>\\n <JoinPermission>\\n <Enabled>true</Enabled>\\n <JoinPermissionType>LOCAL</JoinPermissionType>\\n <JoinPermissionId>50***</JoinPermissionId>\\n <OwnerAliyunPk>198426864326****</OwnerAliyunPk>\\n <ClassMode>A</ClassMode>\\n <JoinPermissionName>给开发者B使用</JoinPermissionName>\\n </JoinPermission>\\n</JoinPermissions>\\n</QueryLoRaJoinPermissions>","errorExample":""}]',
+ 'title' => 'QueryLoRaJoinPermissions',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateLoRaNodesTask' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the devices belong.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceInfo',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The LoRaWAN devices.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DevEui' => [
+ 'description' => 'The DevEUI of the LoRaWAN device.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'd896e0efff00****',
+ ],
+ 'PinCode' => [
+ 'description' => 'The PIN code of the LoRaWAN device. The value of the parameter is used to verify the DevEUI.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123***',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'maxItems' => 1000,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'A system exception occurred.'."\n",
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'TaskId' => [
+ 'description' => 'The task ID returned if the request was successful.'."\n"
+ ."\n"
+ .'> Record the ID. You must use the ID to query the status of the device creation task.'."\n",
+ 'type' => 'string',
+ 'example' => '62146',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"TaskId\\": \\"62146\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateLoRaNodesTask>\\n<RequestId>38D5FDA5-19B9-445D-8713-213B743266DE</RequestId>\\n<TaskId>62146</TaskId>\\n<Success>true</Success>\\n</CreateLoRaNodesTask>","errorExample":""}]',
+ 'title' => 'CreateLoRaNodesTask',
+ 'summary' => 'Creates multiple Long Range Wide Area Networking (LoRaWAN) devices.',
+ 'description' => '## Usage notes'."\n"
+ ."\n"
+ .'You can call this operation to create up to 500 devices.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 50 times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetLoraNodesTask' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID.'."\n"
+ ."\n"
+ .'You can obtain the **ID** of the instance on the **Overview** page in the IoT Platform console. If your instance has an ID, you must specify this parameter. Otherwise, the request fails.'."\n"
+ ."\n"
+ .'> The ID of a public instance may not be displayed on the Overview page. For more information about how to obtain the instance ID, see [How do I obtain an instance ID?](~~267533~~)'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'TaskId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the task for creating the LoRaWAN devices. You can call the [CreateLoRaNodesTask](~~109299~~) operation and obtain the task ID from the value of the **TaskId** response parameter.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '623***',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'A system exception occurred.'."\n",
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'TaskState' => [
+ 'description' => 'The task status.'."\n"
+ ."\n"
+ .'* **RUNNING**: The task is in progress.'."\n"
+ .'* **FINISH**: The task is completed.'."\n",
+ 'type' => 'string',
+ 'example' => 'RUNNING',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'SuccessCount' => [
+ 'description' => 'The number of devices that were created.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '100',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of devices that you want to create.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '200',
+ ],
+ 'TaskId' => [
+ 'description' => 'The task ID returned if the request is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '625***',
+ ],
+ 'SuccessDevEuis' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'SuccessDevEui' => [
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '[ "d896e0ffff01****","d896e0ffff01****"]',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"TaskState\\": \\"RUNNING\\",\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"SuccessCount\\": 100,\\n \\"TotalCount\\": 200,\\n \\"TaskId\\": \\"625***\\",\\n \\"SuccessDevEuis\\": {\\n \\"SuccessDevEui\\": [\\n \\"[ \\\\\\"d896e0ffff01****\\\\\\",\\\\\\"d896e0ffff01****\\\\\\"]\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetLoraNodesTask>\\n<TotalCount>2</TotalCount>\\n<RequestId>1C0BBCD4-A271-4853-A5B0-3C246565E68C</RequestId>\\n<SuccessCount>2</SuccessCount>\\n<SuccessDevEuis>\\n <SuccessDevEui>d896e0ffff01****</SuccessDevEui>\\n <SuccessDevEui>d896e0ffff01****</SuccessDevEui>\\n</SuccessDevEuis>\\n<TaskId>156***</TaskId>\\n<Success>true</Success>\\n<TaskState>FINISH</TaskState>\\n</GetLoraNodesTask>","errorExample":""}]',
+ 'title' => 'GetLoraNodesTask',
+ 'summary' => 'Queries the status of the task for creating multiple Long Range Wide Area Networking (LoRaWAN) devices at the same time.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 50 times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceFileList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Maximum value: 200. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device. The device ID is issued by IoT Platform.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Pages start from page 1. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CurrentPage' => [
+ 'description' => 'The number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of files.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'PageCount' => [
+ 'description' => 'The total number of pages.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'FileSummary' => [
+ 'description' => 'The file list information returned if the call succeeds.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'UtcCreatedOn' => [
+ 'description' => 'The time when the file was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-03-21T08:45:42.000Z',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the file.'."\n",
+ 'type' => 'string',
+ 'example' => 'testFile2.txt',
+ ],
+ 'Size' => [
+ 'description' => 'The size of the file. Unit: KB.'."\n",
+ 'type' => 'string',
+ 'example' => '1024000',
+ ],
+ 'FileId' => [
+ 'description' => 'The ID of each file. The ID is the unique identifier for the file.'."\n",
+ 'type' => 'string',
+ 'example' => 'xL0G67MBLBDtkR7GCfT******',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"Total\\": 2,\\n \\"PageCount\\": 1,\\n \\"Data\\": {\\n \\"FileSummary\\": [\\n {\\n \\"UtcCreatedOn\\": \\"2019-03-21T08:45:42.000Z\\",\\n \\"Name\\": \\"testFile2.txt\\",\\n \\"Size\\": \\"1024000\\",\\n \\"FileId\\": \\"xL0G67MBLBDtkR7GCfT******\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceFileListResponse>\\n<PageCount>1</PageCount>\\n<Data>\\n <FileStoreSummary>\\n <Name>testFile2.txt</Name>\\n <FileId>xL0G67MBLBDtkR7GCfT******</FileId>\\n <UtcCreatedOn>2019-03-21T08:45:42.000Z</UtcCreatedOn>\\n <Size>102400</Size>\\n </FileStoreSummary>\\n <FileStoreSummary>\\n <Name>testFile3.txt</Name>\\n <FileId>6UCo1SqbqnQEoh9aKqD******</FileId>\\n <UtcCreatedOn>2019-03-21T08:45:42.000Z</UtcCreatedOn>\\n <Size>102400</Size>\\n </FileStoreSummary>\\n <FileStoreSummary>\\n <Name>testFile1.txt</Name>\\n <FileId>IhXXww3Eeu6uzSOSCyu******</FileId>\\n <UtcCreatedOn>2019-03-21T08:45:40.000Z</UtcCreatedOn>\\n <Size>102400</Size>\\n </FileStoreSummary>\\n</Data>\\n<PageSize>10</PageSize>\\n<RequestId>7C7BA526-826D-46AA-A45E-55D21E6D1583</RequestId>\\n<CurrentPage>1</CurrentPage>\\n<Success>true</Success>\\n<Total>3</Total>\\n</QueryDeviceFileListResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceFileList',
+ 'summary' => 'Queries information about all files that are uploaded to IoT Platform from a device.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* The returned file information for this operation call does not contain download URLs. To obtain the download URL of a file, call [QueryDeviceFile](~~112002~~).'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).'."\n"
+ ."\n"
+ .'>RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceFile' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device. The device ID is issued by IoT Platform.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ [
+ 'name' => 'FileId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the file. You can call the [QueryDeviceFileList](~~112001~~) operation and view the file ID in the response.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'xL0G67MBLBDtkR7GCfT******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The file information returned if the call succeeds.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'UtcCreatedOn' => [
+ 'description' => 'The time when the file was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-03-21T08:45:42.000Z',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the file.'."\n",
+ 'type' => 'string',
+ 'example' => 'testFile3.txt',
+ ],
+ 'DownloadUrl' => [
+ 'description' => 'The download URL of the file.'."\n",
+ 'type' => 'string',
+ 'example' => 'http://iotx-file-store.oss-cn-shanghai.aliyuncs.com/device_file/A849E4E5CFF64804A18D9384AC9D****/aGEKIpp5NAGxdP2oo90000****/testFile3.txt?Expires=1553162075&OSSAccessKeyId=LTAIYLScbHiV****&Signature=%2F88xdEFPukJ****%2F8****%2Bdv3io%3D',
+ ],
+ 'Size' => [
+ 'description' => 'The size of the file. Unit: KB.'."\n",
+ 'type' => 'string',
+ 'example' => '102400',
+ ],
+ 'FileId' => [
+ 'description' => 'The ID of the file.'."\n",
+ 'type' => 'string',
+ 'example' => '6UCo1SqbqnQEoh9aKqDQ01****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"UtcCreatedOn\\": \\"2019-03-21T08:45:42.000Z\\",\\n \\"Name\\": \\"testFile3.txt\\",\\n \\"DownloadUrl\\": \\"http://iotx-file-store.oss-cn-shanghai.aliyuncs.com/device_file/A849******/aGE******/testFile3.txt?Expires=1553162075&OSSAccessKeyId=LTAI****************&Signature=%2F8******\\",\\n \\"Size\\": \\"102400\\",\\n \\"FileId\\": \\"6UCo1SqbqnQEoh9aKqDQ01****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceFileResponse>\\n<RequestId>93C5276D-5C8A-40D9-BFD6-4BD5B8C1A08F</RequestId>\\n<Data>\\n <Name>testFile3.txt</Name>\\n <DownloadUrl>http://iotx-file-store.oss-cn-shanghai.aliyuncs.com/device_file/A849******/aGE******/testFile3.txt?Expires=1553162075&OSSAccessKeyId=LTAI****************&Signature=%2F8******</DownloadUrl>\\n <FileId>6UCo1SqbqnQEoh9aKqDQ01****</FileId>\\n <UtcCreatedOn>2019-03-21T08:45:42.000Z</UtcCreatedOn>\\n <Size>102400</Size>\\n</Data>\\n<Success>true</Success>\\n</QueryDeviceFileResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceFile',
+ 'summary' => 'Queries the information about a file that is uploaded to IoT Platform from a device.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteDeviceFile' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ [
+ 'name' => 'FileId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the file. You can call the [QueryDeviceFileList](~~112001~~) operation and view the file ID in the response.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '6UCo1SqbqnQEoh9aK4561****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteDeviceFileResponse>\\n<RequestId>C25255EA-9F6E-4E04-85FE-AC1E9C136EBB</RequestId>\\n<Success>true</Success>\\n</DeleteDeviceFileResponse>","errorExample":""}]',
+ 'title' => 'DeleteDeviceFile',
+ 'summary' => 'Deletes a file that is uploaded to IoT Platform from a device.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceCert' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'light',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DeviceCertInfo' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'Certificate' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'tXHf4ezGEHcwdyMwoCDHGBmk9avi****',
+ ],
+ 'PrivateKey' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'CqXL5h5ysRTA4NxjABjj0010fa****',
+ ],
+ 'CertSN' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '636217374433****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"DeviceCertInfo\\": {\\n \\"Status\\": 2,\\n \\"Certificate\\": \\"tXHf4ezGEHcwdyMwoCDHGBmk9avi****\\",\\n \\"PrivateKey\\": \\"CqXL5h5ysRTA4NxjABjj0010fa****\\",\\n \\"CertSN\\": \\"636217374433****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceCertResponse>\\n<RequestId>57b144cf-09fc-4916-a272-a62902d5b207</RequestId>\\n<Success>true</Success>\\n<DeviceCertInfo>\\n <Status>2</Status>\\n <Certificate>tXHf4ezGEHcwdyMwoCDHGBmk9avi****</Certificate>\\n <PrivateKey>CqXL5h5ysRTA4NxjABjj0010fa****</PrivateKey>\\n <CertSN>636217374433****</CertSN>\\n</DeviceCertInfo>\\n</QueryDeviceCertResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceCert',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryCertUrlByApplyId' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID.'."\n"
+ ."\n"
+ .'You can obtain the **ID** of the instance on the **Overview** page in the IoT Platform console. If your instance has an ID, you must specify this parameter. Otherwise, the request fails.'."\n"
+ ."\n"
+ .'> The ID of a public instance may not be displayed on the Overview page. For information about how to obtain the instance ID, see [How do I obtain an instance ID?](~~267533~~)'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ApplyId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The application ID. You can view the application ID in the result that is returned by the [BatchRegisterDeviceWithApplyId](~~69514~~) or [BatchRegisterDevice](~~69473~~) operation.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1234567',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CertUrl' => [
+ 'description' => 'The URL from which you can download the X.509 certificates of created devices.'."\n",
+ 'type' => 'string',
+ 'example' => 'https://****',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'A system exception occurred.'."\n",
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"CertUrl\\": \\"https://****\\",\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<QueryCertUrlByApplyIdResponse>\\n<RequestId>57b144cf-09fc-4916-a272-a62902d5b207</RequestId>\\n<Success>true</Success>\\n<CertUrl>https://****</CertUrl>\\n</QueryCertUrlByApplyIdResponse>","errorExample":""}]',
+ 'title' => 'QueryCertUrlByApplyId',
+ 'summary' => 'Queries the URL from which you can download the X.509 certificates of created devices.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 10 times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceByStatus' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n\n"
+ .'**Important**'."\n"
+ ."\n"
+ .'* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The status of the devices. Valid values:'."\n"
+ ."\n"
+ .'* **0**: inactive'."\n"
+ .'* **1**: online'."\n"
+ .'* **3**: offline'."\n"
+ .'* **8**: disabled'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the product belongs. You can view the resource group ID in the IoT Platform console.'."\n"
+ ."\n"
+ .'> If you specify this parameter, the system returns devices of the specified status in the resource group. If you do not specify this parameter, the system returns all devices of the specified status in the current account.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm4l5tcwd***',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of devices returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'PageCount' => [
+ 'description' => 'The total number of pages.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Page' => [
+ 'description' => 'The number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'SimpleDeviceInfo' => [
+ 'description' => 'The device list information returned if the call succeeds. The **SimpleDeviceInfo** parameter includes the details of the devices.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the device. Valid values:'."\n"
+ ."\n"
+ .'* **UNACTIVE**: The device is not activated.'."\n"
+ .'* **ONLINE**: The device is online.'."\n"
+ .'* **OFFLINE**: The device is offline.'."\n"
+ .'* **DISABLE**: The device is disabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'ONLINE',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1BwAGV****',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'light',
+ ],
+ 'UtcModified' => [
+ 'description' => 'The time when the device information was last modified. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-02-18T02:46:32.000Z',
+ ],
+ 'DeviceSecret' => [
+ 'description' => 'The secret of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'sLefbFmN9SYfnWLJTePG893XNuRV****',
+ ],
+ 'UtcCreate' => [
+ 'description' => 'The time when the device was created. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-02-18T02:46:32.000Z',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The time when the device was created. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-02-18 10:46:32',
+ ],
+ 'Nickname' => [
+ 'description' => 'The alias of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'SensorInShanghai',
+ ],
+ 'GmtModified' => [
+ 'description' => 'The time when the device information was last modified. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-02-18 10:46:32',
+ ],
+ 'IotId' => [
+ 'description' => 'The ID of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'Av8NGHGtwPrH9BYGLMBi00****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"Total\\": 2,\\n \\"PageCount\\": 1,\\n \\"Page\\": 1,\\n \\"Data\\": {\\n \\"SimpleDeviceInfo\\": [\\n {\\n \\"Status\\": \\"ONLINE\\",\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"UtcModified\\": \\"2021-02-18T02:46:32.000Z\\",\\n \\"DeviceSecret\\": \\"sLefbFmN9SYfnWLJTePG893XNuRV****\\",\\n \\"UtcCreate\\": \\"2021-02-18T02:46:32.000Z\\",\\n \\"GmtCreate\\": \\"2021-02-18 10:46:32\\",\\n \\"Nickname\\": \\"SensorInShanghai\\",\\n \\"GmtModified\\": \\"2021-02-18 10:46:32\\",\\n \\"IotId\\": \\"Av8NGHGtwPrH9BYGLMBi00****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceByStatusResponse>\\n <RequestId>CD9E5F99-A095-4A05-9256-D924EA3075E8</RequestId>\\n <Success>true</Success>\\n <CurrentPage>1</CurrentPage>\\n <PageSize>10</PageSize>\\n <TotalPageCount>1</TotalPageCount>\\n <TotalCount>2</TotalCount>\\n <Data>\\n <SimpleDeviceInfo>\\n <IotId>Av8NGHGtwPrH9BYGLMBi00****</IotId>\\n <DeviceName>Av8NGHG***</DeviceName>\\n <ProductKey>a1dafDE****</ProductKey>\\n <DeviceSecret>d7GYhf5hfcPHDe1bXSd3n9MjO1G3****</DeviceSecret>\\n <UtcModified>2021-02-18T02:46:32.000Z</UtcModified>\\n <GmtCreate>2021-02-18 10:46:32</GmtCreate>\\n <UtcCreate>2021-02-18T02:46:32.000Z</UtcCreate>\\n <GmtModified>2021-02-18 10:46:32</GmtModified>\\n <Status>UNACTIVE</Status>\\n <Nickname>SensorInShanghai</Nickname>\\n </SimpleDeviceInfo>\\n <SimpleDeviceInfo>\\n <IotId>zNIcSmWQ9BPJlmkjn3H100****</IotId>\\n <DeviceName>zNIcSmWQ***</DeviceName>\\n <ProductKey>a1dafDE****</ProductKey>\\n <DeviceSecret>C27XXmC18yLIEDXvUj6FSlvgO7ag****</DeviceSecret>\\n <UtcModified>2021-02-09T09:44:55.000Z</UtcModified>\\n <GmtCreate>2021-02-09 17:44:55</GmtCreate>\\n <UtcCreate>2021-02-09T09:44:55.000Z</UtcCreate>\\n <GmtModified>2021-02-09 17:44:55</GmtModified>\\n <DeviceStatus>UNACTIVE</DeviceStatus>\\n <Nickname>DriverInShanghai</Nickname>\\n </SimpleDeviceInfo>\\n </Data>\\n</QueryDeviceByStatusResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceByStatus',
+ 'summary' => 'Queries devices by status.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* After the status of a device changes, the new status is applied within 10 seconds. After the new status is applied, you can search for the device by using the new status. Before the new status is applied, you can search for the device by using the previous status.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceBySQL' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the **ID** of the instance on the **Instance Overview** page in the IoT Platform console.'."\n"
+ ."\n\n"
+ .'**Important**'."\n"
+ ."\n"
+ .'* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n"
+ .'* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'SQL',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The SQL-like statement that you want to execute to query devices. For more information about specific requirements and examples, see the following section.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'SELECT * FROM device where product_key = "a1*********" limit 100, 20',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'TotalCount' => [
+ 'description' => 'If you specify `SELECT count(*) FROM device` in the SQL-like statement, the number of rows that match the specified conditions is returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '100',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The device information returned if the call is successful.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the device. Valid values:'."\n"
+ ."\n"
+ .'* **ONLINE**: The device is online.'."\n"
+ .'* **OFFLINE**: The device is offline.'."\n"
+ .'* **UNACTIVE**: The device is not activated.'."\n"
+ .'* **DISABLE**: The device is disabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'ONLINE',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1BwAGV**** ',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The name of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'light',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The time when the device was created. The time is in the GMT format.'."\n",
+ 'type' => 'string',
+ 'example' => '2020-04-04 16:38:17.000',
+ ],
+ 'Nickname' => [
+ 'description' => 'The alias of the device.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'ActiveTime' => [
+ 'description' => 'The time when the device was activated. The time is in the GMT format.'."\n",
+ 'type' => 'string',
+ 'example' => '2020-04-04 16:38:18.607',
+ ],
+ 'GmtModified' => [
+ 'description' => 'The time when the device information was last updated. The time is in the GMT format.'."\n",
+ 'type' => 'string',
+ 'example' => '2020-04-04 16:38:19.000',
+ ],
+ 'IotId' => [
+ 'description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100 ',
+ ],
+ 'Groups' => [
+ 'description' => 'The information about the groups to which the device belongs.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'GroupId' => [
+ 'description' => 'The ID of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1d21d2fas',
+ ],
+ ],
+ ],
+ ],
+ 'Tags' => [
+ 'description' => 'The information about device tags.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TagName' => [
+ 'description' => 'The tag key.'."\n",
+ 'type' => 'string',
+ 'example' => 'Color',
+ ],
+ 'TagValue' => [
+ 'description' => 'The tag value.'."\n",
+ 'type' => 'string',
+ 'example' => 'Red',
+ ],
+ ],
+ ],
+ ],
+ 'OTAModules' => [
+ 'description' => 'The information about the firmware of each device module.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ModuleName' => [
+ 'description' => 'The name of the OTA module.'."\n",
+ 'type' => 'string',
+ 'example' => 'SomeSampleModule',
+ ],
+ 'FirmwareVersion' => [
+ 'description' => 'The version number of each OTA module.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1-dads2-dad2',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"TotalCount\\": 100,\\n \\"Success\\": true,\\n \\"Data\\": [\\n {\\n \\"Status\\": \\"ONLINE\\",\\n \\"ProductKey\\": \\"a1BwAGV****\\\\t\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"GmtCreate\\": \\"2020-04-04 16:38:17.000\\",\\n \\"Nickname\\": \\"智能灯设备\\",\\n \\"ActiveTime\\": \\"2020-04-04 16:38:18.607\\",\\n \\"GmtModified\\": \\"2020-04-04 16:38:19.000\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\\\t\\",\\n \\"Groups\\": [\\n {\\n \\"GroupId\\": \\"a1d21d2fas\\"\\n }\\n ],\\n \\"Tags\\": [\\n {\\n \\"TagName\\": \\"Color\\",\\n \\"TagValue\\": \\"Red\\"\\n }\\n ],\\n \\"OTAModules\\": [\\n {\\n \\"ModuleName\\": \\"SomeSampleModule\\",\\n \\"FirmwareVersion\\": \\"a1-dads2-dad2\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceBySQLResponse>\\n<RequestId>501CFABA-2C48-468D-B88C-3AA8E3B3A8F3</RequestId>\\n<Data>\\n <Status>OFFLINE</Status>\\n <IotId>ii1*******</IotId>\\n <GmtCreate>2020-04-04 16:38:17.000</GmtCreate>\\n <ActiveTime>2020-04-04 16:38:18.607</ActiveTime>\\n <GmtModified>2020-04-04 16:38:19.000</GmtModified>\\n <ProductKey>a1*********</ProductKey>\\n <DeviceName>testDevcieae7f3a</DeviceName>\\n</Data>\\n<Data>\\n <Status>UNACTIVE</Status>\\n <IotId>5wt*******</IotId>\\n <GmtCreate>2020-04-04 16:37:32.000</GmtCreate>\\n <Groups>\\n <GroupId>Ix4*******</GroupId>\\n </Groups>\\n <Groups>\\n <GroupId>Xrn*******</GroupId>\\n </Groups>\\n <Groups>\\n <GroupId>J9l*******</GroupId>\\n </Groups>\\n <OTAModules>\\n <ModuleName>SomeSampleModule</ModuleName>\\n <FirmwareVersion>a1-dads2-dad2</FirmwareVersion>\\n </OTAModules>\\n <OTAModules>\\n <ModuleName>SampleModule</ModuleName>\\n <FirmwareVersion>a1-dads2-dad1</FirmwareVersion>\\n </OTAModules>\\n <GmtModified>2020-04-04 16:37:32.000</GmtModified>\\n <ProductKey>a1*********</ProductKey>\\n <DeviceName>testDevcie676a22</DeviceName>\\n</Data>\\n<Success>true</Success>\\n</QueryDeviceBySQLResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceBySQL',
+ 'summary' => 'Queries devices by executing an SQL-like statement. This operation returns the devices that meet the conditions that you specified in the SQL-like statement.',
+ 'description' => '* You can query devices on Enterprise Edition instances only in the China (Shanghai) and Japan (Tokyo) regions.'."\n"
+ .'* The QueryDeviceBySQL operation can return up to 10,000 devices each time you call the operation. For more information, see the "`Syntax of LIMIT clauses`" section of this topic.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 10 times per second per account. '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'If you want to call the QueryDeviceBySQL operation to query devices, you must specify an SQL-like statement. The SQL-like statement must contain a SELECT clause and a WHERE clause. The statement can also contain an ORDER BY clause and a LIMIT clause. Each statement cannot exceed 400 characters in length. '."\n"
+ ."\n"
+ .'Examples:'."\n"
+ ."\n"
+ .'`SELECT * FROM device WHERE product_key = "a1*********" order by active_time limit 0,10`| SQL clause | Description |'."\n"
+ .'| ---------- | ----------- |'."\n"
+ .'| SELECT clause | `SELECT [field]/[count(*)] FROM device`The field parameter specifies the fields that you want to obtain. The following table describes the fields. If you want to obtain all fields, specify an asterisk (*). '."\n"
+ ."\n"
+ .'If you want to obtain the number of rows that match the specified conditions, specify count(*). |'."\n"
+ .'| WHERE clause | `WHERE [condition1] AND [condition2]`You can specify up to five conditions. Nesting is not supported. The following table describes the fields and operators. '."\n"
+ ."\n"
+ .'You can use the AND or OR logical operator to connect conditions. You can use up to five logical operators. |'."\n"
+ .'| ORDER BY clause (optional) | The ORDER BY clause is used to sort fields. The following fields can be sorted: gmt_create, gmt_modified, and active_time. '."\n"
+ ."\n"
+ .'This clause is optional. If you do not specify this clause, the results are randomly sorted. |'."\n"
+ .'| LIMIT clause (optional) | The LIMIT clause specifies the maximum number of rows to return on each page and the total number of rows to return. For more information, see the "Syntax of LIMIT clauses" section of this topic. '."\n"
+ ."\n"
+ .'If you do not specify a LIMIT cause, limit 20 is specified by default. |'."\n"
+ .'Syntax of LIMIT clauses'."\n"
+ ."\n"
+ .'| Syntax | Description |'."\n"
+ .'| ------ | ----------- |'."\n"
+ .'| limit k | The value of k must be less than or equal to 50, which specifies that the number of rows to return on each page cannot exceed 50. Examples: '."\n"
+ ."\n"
+ .'`SELECT * FROM device WHERE product_key = "a1*****" limit 10` |'."\n"
+ .'| limit n,k | The sum of the values of n and k must be less than or equal to 10,000 and the value of k must be less than or equal to 50. This specifies that the total number of rows to return cannot exceed 10,000 and the maximum number of rows to return on each page cannot exceed 50. Examples: '."\n"
+ ."\n"
+ .'`SELECT * FROM device WHERE product_key = "a1*****" limit 40,10` |'."\n"
+ .'**Fields**| Field | Type | Description |'."\n"
+ .'| ----- | ---- | ----------- |'."\n"
+ .'| product_key | text | The ProductKey of the product to which the device belongs. |'."\n"
+ .'| iot_id | text | The ID of the device. By default, iot_id is returned. |'."\n"
+ .'| name | text | The name of the device. |'."\n"
+ .'| active_time | date | The time when the device was activated. The time is in the yyyy-MM-dd HH:mm:ss.SSS format and is accurate to the millisecond. |'."\n"
+ .'| nickname | text | The alias of the device. |'."\n"
+ .'| gmt_create | date | The time when the device was created. The time is in the yyyy-MM-dd HH:mm:ss.SSS format and is accurate to the millisecond. |'."\n"
+ .'| gmt_modified | date | The time when the device information was last updated. The time is in the yyyy-MM-dd HH:mm:ss.SSS format and is accurate to the millisecond. |'."\n"
+ .'| status | text | The status of the device. Valid values:'."\n"
+ ."\n"
+ .'ONLINE: The device is online. '."\n"
+ ."\n"
+ .'OFFLINE: The device is offline. '."\n"
+ ."\n"
+ .'UNACTIVE: The device is not activated. '."\n"
+ ."\n"
+ .'DISABLE: The device is disabled. |'."\n"
+ .'| group.group_id | text | The ID of the device group. |'."\n"
+ .'| tag.tag_name | text | The tag key of the device. |'."\n"
+ .'| tag.tag_value | text | The tag value of the device. |'."\n"
+ .'| ota_module.name | text | The name of the over-the-air (OTA) module. '."\n"
+ ."\n"
+ .'We recommend that you use this field together with the ota_module.version field to specify the OTA module corresponding to the current OTA version number of the device. '."\n"
+ ."\n"
+ .'If you do not configure the ota_module.version field, you cannot query devices by OTA module name. |'."\n"
+ .'| ota_module.version | text | The firmware version of the OTA module. |'."\n"
+ .'**Operators**| Operator | Supported data type |'."\n"
+ .'| -------- | ------------------- |'."\n"
+ .'| = | number, date, and text |'."\n"
+ .'| != | number, date, and text |'."\n"
+ .'| > | number and date |'."\n"
+ .'| < | number and date |'."\n"
+ .'| LIKE | text |'."\n"
+ .'Description:'."\n"
+ ."\n"
+ .'- = and !=: If you use these operators, the values of the fields that you want to query can be null.'."\n"
+ .'- LIKE: If you use this operator, only prefix match is supported. The prefix must be at least four characters in length and cannot contain special characters, such as backslashes (\\), forward slashes (/), ampersands (&), plus signs (+), hyphens (-), exclamation points (!), parentheses (), colons (:), tildes (~), braces {}, asterisks (*), and question marks (?). The prefix must end with a percent sign (`%`). '."\n"
+ ."\n"
+ .'Example: `SELECT * FROM device where product_key = "a1*********" and name LIKE "test%" limit 10`.'."\n"
+ ."\n"
+ .'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](/help/en/iot-platform/latest/836ef4).',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ImportDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~) of IoT instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the gateway product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'The DeviceName must be 4 to 32 characters in length, and can contain letters, digits, hyphens (-), underscores (\\_), at signs (@), periods (.), and colons (:).'."\n"
+ ."\n"
+ .'The DeviceName must be unique in the product.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'Nickname',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The alias of the device.'."\n"
+ ."\n"
+ .'The alias must be 1 to 64 characters in length, and can contain letters, digits, and underscores (\\_).'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, IoT Platform does not generate an alias for the device.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Campus light'."\n",
+ ],
+ ],
+ [
+ 'name' => 'Sn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number (SN) of the device.'."\n"
+ ."\n"
+ .'The SN must be 1 to 64 characters in length, and can contain letters, digits, and underscores (\\_).'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, IoT Platform does not generate an SN for the device.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'QC4******001',
+ ],
+ ],
+ [
+ 'name' => 'DeviceSecret',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceSecret of the device.'."\n"
+ ."\n"
+ .'The DeviceSecret must be 1 to 32 characters in length, and can contain letters, digits, hyphens (-), underscores (\\_), at signs (@), periods (.), and colons (:).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'b4d43f7******10ba5e5',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'A system exception occurred.'."\n",
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The device information returned if the request is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1BwAGV****',
+ ],
+ 'Sn' => [
+ 'description' => 'The SN of the device.'."\n"
+ ."\n"
+ .'> If you did not specify an SN for the device, the response parameter is empty.'."\n",
+ 'type' => 'string',
+ 'example' => 'QC4******001',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'> Keep the information confidential.'."\n",
+ 'type' => 'string',
+ 'example' => 'light',
+ ],
+ 'DeviceSecret' => [
+ 'description' => 'The DeviceSecret of the device.'."\n"
+ ."\n"
+ .'> Keep the information confidential.'."\n",
+ 'type' => 'string',
+ 'example' => 'b4d43f7******10ba5e5',
+ ],
+ 'Nickname' => [
+ 'description' => 'The alias of the device.'."\n"
+ ."\n"
+ .'> If you did not specify an alias for the device, the response parameter is empty.'."\n",
+ 'type' => 'string',
+ 'example' => 'Campus light'."\n",
+ ],
+ 'IotId' => [
+ 'description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n"
+ ."\n"
+ .'> Keep the information confidential.'."\n",
+ 'type' => 'string',
+ 'example' => '1O4YPNtRqB2anumz2Canp4GB7*****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 200 => [
+ [
+ 'errorCode' => 'iot.device.CreateDeviceFailed',
+ 'errorMessage' => 'An error occurred while creating the device.',
+ ],
+ [
+ 'errorCode' => 'iot.device.AlreadyExistedDeviceName',
+ 'errorMessage' => 'The DeviceName already exists.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"Sn\\": \\"QC4******001\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"DeviceSecret\\": \\"b4d43f7******10ba5e5\\",\\n \\"Nickname\\": \\"园区灯\\",\\n \\"IotId\\": \\"1O4YPNtRqB2anumz2Canp4GB7*****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<ImportDeviceResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Data>\\n <IotId>1O4YPNtRqB2anumz2Canp4GB7*****</IotId>\\n <DeviceSecret>b4d43f7******10ba5e5</DeviceSecret>\\n <Sn>QC4******001</Sn>\\n <ProductKey>a1BwAGV****</ProductKey>\\n <Nickname>园区灯</Nickname>\\n <DeviceName>light</DeviceName>\\n</Data>\\n<Success>true</Success>\\n</ImportDeviceResponse>","errorExample":""}]',
+ 'title' => 'ImportDevice',
+ 'summary' => 'Adds a device to a Message Queuing Telemetry Transport (MQTT) gateway product.',
+ 'description' => '## Usage notes'."\n"
+ ."\n"
+ .'Before you call this operation, make sure that an MQTT gateway and the related product are created and the **ProductKey** of the product is obtained. For more information, see [Create an MQTT gateway](~~433804~~).'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 50 times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchImportDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the gateway product to which the devices belong.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceList',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Sn' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => 'The serial number (SN) of the device.'."\n"
+ ."\n"
+ .'The SN must be 1 to 64 characters in length, and can contain letters, digits, and underscores (\\_).'."\n"
+ ."\n"
+ .'> You can specify up to 10,000 SNs in a single call. If the number of SNs reaches this limit, the excess SNs are discarded.'."\n",
+ 'example' => 'QC4******001',
+ ],
+ 'DeviceName' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'The DeviceName must be 4 to 32 characters in length, and can contain letters, digits, hyphens (-), underscores (\\_), at signs (@), periods (.), and colons (:).'."\n"
+ ."\n"
+ .'The DeviceName must be unique in the product.'."\n"
+ ."\n"
+ .'> You can specify up to 10,000 DeviceNames in a single call. If the number of DeviceNames reaches this limit, the excess DeviceNames are discarded.'."\n",
+ 'example' => 'device1',
+ ],
+ 'DeviceSecret' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'description' => 'The DeviceSecret of the device.'."\n"
+ ."\n"
+ .'The DeviceSecret must be 1 to 32 characters in length, and can contain letters, digits, hyphens (-), underscores (\\_), at signs (@), periods (.), and colons (:).'."\n"
+ ."\n"
+ .'> You can specify up to 10,000 DeviceSecrets in a single call. If the number of DeviceSecrets reaches this limit, the excess DeviceSecrets are discarded.'."\n",
+ 'example' => 'b4d43f7******10ba5e5',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'maxItems' => 10000,
+ 'description' => 'The information about devices.'."\n",
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'A system exception occurred.'."\n",
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The returned data.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ApplyId' => [
+ 'description' => 'The application ID returned if the request is successful.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1295006',
+ ],
+ 'InvalidDetailList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'InvalidDetailList' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMsg' => [
+ 'type' => 'string',
+ ],
+ 'Sn' => [
+ 'type' => 'string',
+ ],
+ 'DeviceName' => [
+ 'type' => 'string',
+ ],
+ 'DeviceSecret' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'RepeatedDeviceNameList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'repeatedDeviceName' => [
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{ "RepeatedDeviceNameList": [ "abcd", "asdf" ] }',
+ ],
+ ],
+ ],
+ ],
+ 'InvalidSnList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'invalidSn' => [
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{ "InvalidSnList": [ "" ] }',
+ ],
+ ],
+ ],
+ ],
+ 'InvalidDeviceSecretList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'invalidDeviceSecret' => [
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{ "InvalidDeviceSecretList": [ "^67$", "1" ] }',
+ ],
+ ],
+ ],
+ ],
+ 'InvalidDeviceNameList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'invalidDeviceName' => [
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{ "InvalidDeviceNameList": [ "APT$", "aw" ] }',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.device.TooManyDeviceNamesPerRequest',
+ 'errorMessage' => 'The devices you query exceed the maximum number.',
+ ],
+ [
+ 'errorCode' => 'iot.device.ApplyManyDevicesFailed',
+ 'errorMessage' => 'An error occurred while creating multiple devices.',
+ ],
+ [
+ 'errorCode' => 'iot.device.DeviceNumerExceedTenant',
+ 'errorMessage' => 'The device total number beyond limit.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ApplyId\\": 1295006,\\n \\"InvalidDetailList\\": {\\n \\"InvalidDetailList\\": [\\n {\\n \\"ErrorMsg\\": \\"The device name is illegal.\\",\\n \\"Sn\\": \\"QC4001#\\",\\n \\"DeviceName\\": \\"light%\\",\\n \\"DeviceSecret\\": \\"^67$\\"\\n }\\n ]\\n },\\n \\"RepeatedDeviceNameList\\": {\\n \\"repeatedDeviceName\\": [\\n \\"{ \\\\\\"RepeatedDeviceNameList\\\\\\": [ \\\\\\"abcd\\\\\\", \\\\\\"asdf\\\\\\" ] }\\"\\n ]\\n },\\n \\"InvalidSnList\\": {\\n \\"invalidSn\\": [\\n \\"{ \\\\\\"InvalidSnList\\\\\\": [ \\\\\\"\\\\\\" ] }\\"\\n ]\\n },\\n \\"InvalidDeviceSecretList\\": {\\n \\"invalidDeviceSecret\\": [\\n \\"{ \\\\\\"InvalidDeviceSecretList\\\\\\": [ \\\\\\"^67$\\\\\\", \\\\\\"1\\\\\\" ] }\\"\\n ]\\n },\\n \\"InvalidDeviceNameList\\": {\\n \\"invalidDeviceName\\": [\\n \\"{ \\\\\\"InvalidDeviceNameList\\\\\\": [ \\\\\\"APT$\\\\\\", \\\\\\"aw\\\\\\" ] }\\"\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<BatchImportDeviceResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Data>\\n <ApplyId>1295006</ApplyId>\\n</Data>\\n<Success>true</Success>\\n</BatchImportDeviceResponse>","errorExample":""}]',
+ 'title' => 'Batch Import Devices under an MQTT Cloud Gateway Product',
+ 'summary' => 'Invoke this API to batch import devices under an MQTT instance or an MQTT cloud gateway product.',
+ 'description' => '## Usage notes'."\n"
+ ."\n"
+ .'Before you call this operation, make sure that an MQTT gateway and the related product are created and the **ProductKey** of the product is obtained. For more information, see [Create an MQTT gateway](~~433804~~).'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 10 times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'QueryImportedDeviceByApplyId' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Default value: 10. Valid values: 1 to 50.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '1000',
+ 'minimum' => '1',
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ApplyId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The application ID. You can call the [BatchImportDevice](~~433878~~) operation to obtain the application ID.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '100000000000000000',
+ 'minimum' => '1',
+ 'example' => '1295006',
+ ],
+ ],
+ [
+ 'name' => 'PageNo',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number. Valid values: 1 to 10000.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '100000',
+ 'minimum' => '1',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => 'The **ProductKey** of the product to which the devices belong.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1BwAGV****',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'A system exception occurred.'."\n",
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'PageNo' => [
+ 'description' => 'The page number.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'TotalPage' => [
+ 'description' => 'The total number of pages returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'DeviceList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'device' => [
+ 'description' => 'The queried devices.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1BwAGV****',
+ ],
+ 'Sn' => [
+ 'description' => 'The serial number (SN) of the device.'."\n"
+ ."\n"
+ .'> If you did not specify an SN for the device, this parameter is empty.'."\n",
+ 'type' => 'string',
+ 'example' => 'QC4******001',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'> Keep the information confidential.'."\n",
+ 'type' => 'string',
+ 'example' => 'light',
+ ],
+ 'DeviceSecret' => [
+ 'description' => 'The DeviceSecret of the device.'."\n"
+ ."\n"
+ .'> Keep the information confidential.'."\n",
+ 'type' => 'string',
+ 'example' => 'b4d43f7******10ba5e5',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 200 => [
+ [
+ 'errorCode' => 'iot.device.DeviceApplyIsNotFound',
+ 'errorMessage' => 'The application ID for the device does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageNo\\": 1,\\n \\"TotalPage\\": 100,\\n \\"PageSize\\": 10,\\n \\"DeviceList\\": {\\n \\"device\\": [\\n {\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"Sn\\": \\"QC4******001\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"DeviceSecret\\": \\"b4d43f7******10ba5e5\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryImportedDeviceByApplyIdResponse>\\n<TotalPage>100</TotalPage>\\n<PageSize>10</PageSize>\\n<PageNo>1</PageNo>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<ProductKey>a1BwAGV****</ProductKey>\\n<DeviceList>\\n <device>\\n <DeviceSecret>b4d43f7******10ba5e5</DeviceSecret>\\n <Sn>QC4******001</Sn>\\n <ProductKey>a1BwAGV****</ProductKey>\\n <DeviceName>light</DeviceName>\\n </device>\\n</DeviceList>\\n<Success>true</Success>\\n</QueryImportedDeviceByApplyIdResponse>","errorExample":""}]',
+ 'title' => 'QueryImportedDeviceByApplyId',
+ 'summary' => 'Queries multiple devices that are added at the same time by application ID.',
+ 'description' => '## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 50 times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchCheckImportDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the gateway product to which the devices belong.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceList',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Sn' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => 'The serial number (SN) of the device.'."\n"
+ ."\n"
+ .'The SN must be 1 to 64 characters in length, and can contain letters, digits, and underscores (\\_).'."\n"
+ ."\n"
+ .'> You can specify up to 10,000 SNs in a single call. If the number of SNs reaches this limit, the excess SNs are discarded.'."\n",
+ 'example' => 'QC4******001',
+ ],
+ 'DeviceName' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'The DeviceName must be 4 to 32 characters in length, and can contain letters, digits, hyphens (-), underscores (\\_), at signs (@), periods (.), and colons (:).'."\n"
+ ."\n"
+ .'The DeviceName must be unique in the product.'."\n"
+ ."\n"
+ .'> You can specify up to 10,000 DeviceNames in a single call. If the number of DeviceNames reaches this limit, the excess DeviceNames are discarded.'."\n",
+ 'example' => 'light',
+ ],
+ 'DeviceSecret' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'description' => 'The DeviceSecret of the device.'."\n"
+ ."\n"
+ .'The DeviceSecret must be 1 to 32 characters in length, and can contain letters, digits, hyphens (-), underscores (\\_), at signs (@), periods (.), and colons (:).'."\n"
+ ."\n"
+ .'> You can specify up to 10,000 DeviceSecrets in a single call. If the number of DeviceSecrets reaches this limit, the excess DeviceSecrets are discarded.'."\n",
+ 'example' => 'b4d43f7******10ba5e5',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'maxItems' => 10000,
+ 'description' => 'The devices that you want to verify.'."\n",
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'A system exception occurred.'."\n",
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data returned if the request succeeds. The data includes the information about devices that failed to be verified.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'InvalidDetailList' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMsg' => [
+ 'type' => 'string',
+ ],
+ 'Sn' => [
+ 'type' => 'string',
+ ],
+ 'DeviceName' => [
+ 'type' => 'string',
+ ],
+ 'DeviceSecret' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ 'RepeatedDeviceNameList' => [
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{ "RepeatedDeviceNameList": [ "abcd", "asdf" ] }',
+ ],
+ ],
+ 'InvalidSnList' => [
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{ "InvalidSnList": [ "" ] }',
+ ],
+ ],
+ 'InvalidDeviceSecretList' => [
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{ "InvalidDeviceSecretList": [ "^67$", "1" ] }',
+ ],
+ ],
+ 'InvalidDeviceNameList' => [
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{ "InvalidDeviceNameList": [ "APT$", "aw" ] }',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.device.TooManyDeviceNamesPerRequest',
+ 'errorMessage' => 'The devices you query exceed the maximum number.',
+ ],
+ [
+ 'errorCode' => 'iot.device.NoneDeviceNameElement',
+ 'errorMessage' => 'The DeviceName list is empty.',
+ ],
+ [
+ 'errorCode' => 'iot.device.InvalidDeviceParams',
+ 'errorMessage' => 'The request parameters are invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"InvalidDetailList\\": [\\n {\\n \\"ErrorMsg\\": \\"The device name is illegal.\\",\\n \\"Sn\\": \\"QC4001#\\",\\n \\"DeviceName\\": \\"light%\\",\\n \\"DeviceSecret\\": \\"\\\\t^67$\\"\\n }\\n ],\\n \\"RepeatedDeviceNameList\\": [\\n \\"{ \\\\\\"RepeatedDeviceNameList\\\\\\": [ \\\\\\"abcd\\\\\\", \\\\\\"asdf\\\\\\" ] }\\"\\n ],\\n \\"InvalidSnList\\": [\\n \\"{ \\\\\\"InvalidSnList\\\\\\": [ \\\\\\"\\\\\\" ] }\\"\\n ],\\n \\"InvalidDeviceSecretList\\": [\\n \\"{ \\\\\\"InvalidDeviceSecretList\\\\\\": [ \\\\\\"^67$\\\\\\", \\\\\\"1\\\\\\" ] }\\"\\n ],\\n \\"InvalidDeviceNameList\\": [\\n \\"{ \\\\\\"InvalidDeviceNameList\\\\\\": [ \\\\\\"APT$\\\\\\", \\\\\\"aw\\\\\\" ] }\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<BatchCheckImportDeviceResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Success>true</Success>\\n</BatchCheckImportDeviceResponse>","errorExample":""}]',
+ 'title' => 'BatchCheckImportDevice',
+ 'summary' => 'Verifies multiple devices that are added at the same time.',
+ 'description' => '## QPS limits'."\n"
+ ."\n"
+ .'You can call this operation up to 100 times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchImportVehicleDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'BatchImportVehicleDevice',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'iot-1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1Bw****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceList',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DeviceName' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ 'DeviceId' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => '',
+ 'example' => '',
+ ],
+ 'DeviceSecret' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ 'DeviceModel' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => '',
+ 'example' => '',
+ ],
+ 'Manufacturer' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'description' => '',
+ ],
+ 'required' => true,
+ 'maxItems' => 10000,
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'ApplyId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1295006',
+ ],
+ 'InvalidDetailList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'InvalidDetailList' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMsg' => [
+ 'type' => 'string',
+ ],
+ 'DeviceModel' => [
+ 'type' => 'string',
+ ],
+ 'DeviceName' => [
+ 'type' => 'string',
+ ],
+ 'DeviceId' => [
+ 'type' => 'string',
+ ],
+ 'Manufacturer' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'InvalidManufacturerList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'invalidManufacturerList' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ 'RepeatedDeviceIdList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'repeatedDeviceIdList' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ 'RepeatedDeviceNameList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'RepeatedDeviceNameList' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ 'InvalidDeviceIdList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'invalidDeviceIdList' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ 'InvalidDeviceModelList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'invalidDeviceModelList' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ 'InvalidDeviceNameList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'InvalidDeviceNameList' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.device.TooManyDeviceNamesPerRequest',
+ 'errorMessage' => 'The devices you query exceed the maximum number.',
+ ],
+ [
+ 'errorCode' => 'iot.device.ApplyManyDevicesFailed',
+ 'errorMessage' => 'An error occurred while creating multiple devices.',
+ ],
+ [
+ 'errorCode' => 'iot.common.InvalidTenant',
+ 'errorMessage' => 'the device tenantId is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.device.InvalidFormattedDeviceNameInNameArray',
+ 'errorMessage' => 'The DeviceName list contains an invalid DeviceName.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.InvalidProductAuthType',
+ 'errorMessage' => 'The product authentication type is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.InvalidFormattedProductkey',
+ 'errorMessage' => 'The ProductKey format is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ApplyId\\": 1295006,\\n \\"InvalidDetailList\\": {\\n \\"InvalidDetailList\\": [\\n {\\n \\"ErrorMsg\\": \\"\\",\\n \\"DeviceModel\\": \\"\\",\\n \\"DeviceName\\": \\"\\",\\n \\"DeviceId\\": \\"\\",\\n \\"Manufacturer\\": \\"\\"\\n }\\n ]\\n },\\n \\"InvalidManufacturerList\\": {\\n \\"invalidManufacturerList\\": [\\n \\"\\"\\n ]\\n },\\n \\"RepeatedDeviceIdList\\": {\\n \\"repeatedDeviceIdList\\": [\\n \\"\\"\\n ]\\n },\\n \\"RepeatedDeviceNameList\\": {\\n \\"RepeatedDeviceNameList\\": [\\n \\"\\"\\n ]\\n },\\n \\"InvalidDeviceIdList\\": {\\n \\"invalidDeviceIdList\\": [\\n \\"\\"\\n ]\\n },\\n \\"InvalidDeviceModelList\\": {\\n \\"invalidDeviceModelList\\": [\\n \\"\\"\\n ]\\n },\\n \\"InvalidDeviceNameList\\": {\\n \\"InvalidDeviceNameList\\": [\\n \\"\\"\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<BatchImportVehicleDeviceResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Data>\\n <ApplyId>1295006</ApplyId>\\n</Data>\\n<Code/>\\n<Success>true</Success>\\n</BatchImportVehicleDeviceResponse>","errorExample":""}]',
+ 'title' => 'BatchImportVehicleDevice',
+ 'summary' => 'Adds multiple devices to a gateway product at a time.',
+ 'description' => 'Indicates whether the call was successful. Valid values: '."\n"
+ ."\n"
+ .'- **true**: The call was successful.'."\n"
+ .'- **false**: The call failed.',
+ 'requestParamsDescription' => 'The data returned if the call is successful.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchCheckVehicleDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'BatchCheckVehicleDevice',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'iot-1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1Bw****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceList',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DeviceName' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ 'DeviceId' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => '',
+ 'example' => '',
+ ],
+ 'DeviceSecret' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ 'DeviceModel' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => '',
+ 'example' => '',
+ ],
+ 'Manufacturer' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'description' => '',
+ ],
+ 'required' => true,
+ 'maxItems' => 10000,
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'InvalidDetailList' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMsg' => [
+ 'type' => 'string',
+ ],
+ 'DeviceModel' => [
+ 'type' => 'string',
+ ],
+ 'DeviceName' => [
+ 'type' => 'string',
+ ],
+ 'DeviceId' => [
+ 'type' => 'string',
+ ],
+ 'Manufacturer' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ 'InvalidManufacturerList' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{ "InvalidManufacturerList": [ "manufacturer#&_", "aw" ] }',
+ ],
+ ],
+ 'RepeatedDeviceIdList' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{ "InvalidDeviceIdList": [ "deviceId01", "deviceId02" ] }',
+ ],
+ ],
+ 'RepeatedDeviceNameList' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ ],
+ 'InvalidDeviceIdList' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{ "InvalidDeviceIdList": [ "DEVIC^*$" ] }',
+ ],
+ ],
+ 'InvalidDeviceModelList' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{ "InvalidDeviceModelList": [ "DEM$", "DE" ] }',
+ ],
+ ],
+ 'InvalidDeviceNameList' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.device.TooManyDeviceNamesPerRequest',
+ 'errorMessage' => 'The devices you query exceed the maximum number.',
+ ],
+ [
+ 'errorCode' => 'iot.device.NoneDeviceNameElement',
+ 'errorMessage' => 'The DeviceName list is empty.',
+ ],
+ [
+ 'errorCode' => 'iot.device.InvalidDeviceParams',
+ 'errorMessage' => 'The request parameters are invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"InvalidDetailList\\": [\\n {\\n \\"ErrorMsg\\": \\"The device name is illegal.\\",\\n \\"DeviceModel\\": \\"dm_*0001\\",\\n \\"DeviceName\\": \\"device_*0001\\",\\n \\"DeviceId\\": \\"di_*0001\\",\\n \\"Manufacturer\\": \\"mf_*0001\\"\\n }\\n ],\\n \\"InvalidManufacturerList\\": [\\n \\"{ \\\\\\"InvalidManufacturerList\\\\\\": [ \\\\\\"manufacturer#&_\\\\\\", \\\\\\"aw\\\\\\" ] }\\"\\n ],\\n \\"RepeatedDeviceIdList\\": [\\n \\"{ \\\\\\"InvalidDeviceIdList\\\\\\": [ \\\\\\"deviceId01\\\\\\", \\\\\\"deviceId02\\\\\\" ] }\\"\\n ],\\n \\"RepeatedDeviceNameList\\": [\\n \\"{ \\\\\\"RepeatedDeviceNameList\\\\\\": [ \\\\\\"abcd\\\\\\", \\\\\\"asdf\\\\\\" ] }\\"\\n ],\\n \\"InvalidDeviceIdList\\": [\\n \\"{ \\\\\\"InvalidDeviceIdList\\\\\\": [ \\\\\\"DEVIC^*$\\\\\\" ] }\\"\\n ],\\n \\"InvalidDeviceModelList\\": [\\n \\"{ \\\\\\"InvalidDeviceModelList\\\\\\": [ \\\\\\"DEM$\\\\\\", \\\\\\"DE\\\\\\" ] }\\"\\n ],\\n \\"InvalidDeviceNameList\\": [\\n \\"{ \\\\\\"InvalidDeviceNameList\\\\\\": [ \\\\\\"APT$\\\\\\", \\\\\\"aw\\\\\\" ] }\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<BatchCheckVehicleDeviceResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Code/>\\n<Success>true</Success>\\n</BatchCheckVehicleDeviceResponse>","errorExample":""}]',
+ 'title' => 'BatchCheckVehicleDevice',
+ 'summary' => 'Verifies multiple devices that are added to a gateway product at a time.',
+ 'description' => 'The invalid device models returned if the call fails.',
+ 'requestParamsDescription' => 'The invalid device manufacturer IDs returned if the call fails.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryVehicleDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the **ID** of the instance on the **Instance Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n"
+ .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-2w****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the gateway product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1Bw****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see the "**Error codes**" section of this topic.'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The device information returned.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => 'The **ProductKey** of the gateway product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1BwAGV****',
+ ],
+ 'ModifiedTime' => [
+ 'description' => 'The timestamp when the device was last updated. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1657062301656',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'light',
+ ],
+ 'Protocol' => [
+ 'type' => 'string',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The timestamp when the device was created. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1557062301656',
+ ],
+ 'IotId' => [
+ 'description' => 'The ID is a unique identifier that is issued by IoT Platform to the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'dm0001',
+ ],
+ 'JtProtocolDeviceData' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'type' => 'string',
+ ],
+ 'RegisterTime' => [
+ 'type' => 'string',
+ ],
+ 'AuthCode' => [
+ 'type' => 'string',
+ ],
+ 'VehicleColour' => [
+ 'type' => 'string',
+ ],
+ 'DeviceId' => [
+ 'type' => 'string',
+ ],
+ 'VehicleNumber' => [
+ 'type' => 'string',
+ ],
+ 'City' => [
+ 'type' => 'string',
+ ],
+ 'DeviceModel' => [
+ 'type' => 'string',
+ ],
+ 'Manufacturer' => [
+ 'type' => 'string',
+ ],
+ 'Province' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Iot.Device.NotExistedDevice',
+ 'errorMessage' => 'The device does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.device.NullDeviceName',
+ 'errorMessage' => 'The ProductKey or DeviceName parameter cannot be empty.',
+ ],
+ [
+ 'errorCode' => 'iot.device.NoPermission',
+ 'errorMessage' => 'The Operation has not permission to the device.',
+ ],
+ [
+ 'errorCode' => 'Iot.Device.NoVehicleProtocolDevice',
+ 'errorMessage' => 'The device non vehicle protocol data.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"ModifiedTime\\": 1657062301656,\\n \\"DeviceName\\": \\"light\\",\\n \\"Protocol\\": \\"gb32960\\",\\n \\"CreateTime\\": 1557062301656,\\n \\"IotId\\": \\"dm0001\\",\\n \\"JtProtocolDeviceData\\": {\\n \\"Status\\": \\"create\\",\\n \\"RegisterTime\\": 1517062301656,\\n \\"AuthCode\\": \\"*******\\",\\n \\"VehicleColour\\": \\"1\\",\\n \\"DeviceId\\": \\"di0001\\",\\n \\"VehicleNumber\\": \\"浙A****\\",\\n \\"City\\": \\"杭州\\",\\n \\"DeviceModel\\": \\"dm0001\\",\\n \\"Manufacturer\\": \\"mf0001\\",\\n \\"Province\\": \\"浙江\\"\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryVehicleDeviceResponse>\\n<RequestId>CF291A12-EBB7-5A38-A087-C8A04450913E</RequestId>\\n<Data>\\n <IotId>ERfsXh***************wk05dm0</IotId>\\n <ModifiedTime>1695274556000</ModifiedTime>\\n <CreateTime>1695274556000</CreateTime>\\n <Protocol>gb32960</Protocol>\\n <ProductKey>k05d******</ProductKey>\\n <DeviceName>Device01</DeviceName>\\n</Data>\\n<Success>true</Success>\\n</QueryVehicleDeviceResponse>","errorExample":""}]',
+ 'title' => 'QueryVehicleDevice',
+ 'summary' => 'Queries the information about a device of a JT/T 808 gateway product.',
+ 'description' => '* You can call this operation to query the information about a device of a JT/T 808 gateway product.'."\n"
+ .'* When you call this operation, you must specify a **ProductKey** and a **DeviceName**. Otherwise, the call fails.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 50 times per second per account. '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateDeviceDistributeJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The names of the devices to be distributed. You can specify a maximum of 10,000 device names.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => '',
+ 'example' => 'RepeatList',
+ ],
+ 'required' => true,
+ 'example' => 'RepeatList',
+ 'maxItems' => 10000,
+ ],
+ ],
+ [
+ 'name' => 'TargetInstanceConfig',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TargetInstanceId' => [
+ 'description' => 'The configurations of the destination instance to which the device is distributed. For more information about instance IDs, see the description of the **SourceInstanceId** parameter.'."\n"
+ ."\n"
+ .'* If the value of the **Strategy** parameter is **1**, you can specify multiple instance IDs.'."\n"
+ .'* If the value of the **Strategy** parameter is **0**, you can specify only one instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'iot-cn-6ja***',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'maxItems' => 10,
+ ],
+ ],
+ [
+ 'name' => 'SourceInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The ID of the source instance to which the device belongs.'."\n"
+ ."\n"
+ .'* The IDs of public instances in different regions:'."\n"
+ ."\n"
+ .' * China (Shanghai): iotx-oxssharez200.'."\n"
+ .' * Japan (Tokyo): iotx-oxssharez300.'."\n"
+ .' * Singapore (Singapore): iotx-oxssharez400.'."\n"
+ .' * US (Silicon Valley): iotx-oxssharez500.'."\n"
+ .' * US (Virginia): iotx-oxssharez600.'."\n"
+ .' * Germany (Frankfurt): iotx-oxssharez700.'."\n"
+ ."\n"
+ .'* The IDs of Enterprise Edition instances:'."\n"
+ ."\n"
+ .' 1\\. Log on to the IoT Platform console. Select a region from the drop-down list in the upper-left corner of the top navigation bar.'."\n"
+ ."\n"
+ .' 2\\. On the **Overview** page, click the instance name. On the **Instance Details** page, view the instance ID in the **Basic Information** section.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'iot-060***',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'TargetUid',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the device belongs. You can log on to the IoT Platform console, click the profile picture, and then view the account ID on the **Security Settings** page.'."\n"
+ ."\n"
+ .'The **TargetUid** and **TargetAliyunId** parameters cannot be left empty at the same time.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '198***',
+ ],
+ ],
+ [
+ 'name' => 'TargetAliyunId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The Alibaba Cloud account to which the device belongs. You can log on to the IoT Platform console, click the profile picture, and then view the account ID on the **Security Settings** page.'."\n"
+ ."\n"
+ .'The **TargetUid** and **TargetAliyunId** parameters cannot be left empty at the same time.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => ' io****@example.com',
+ ],
+ ],
+ [
+ 'name' => 'Strategy',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The distribution policy. Default value: 0.'."\n"
+ ."\n"
+ .'* **0**: distributes devices to instances in a specified region.'."\n"
+ .'* **1**: configures instance IDs in multiple regions and distributes devices to the nearest regions based on the IP addresses of the devices.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '0',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'JobId' => [
+ 'description' => 'The task ID returned if the call is successful. The ID globally identifies the task.'."\n",
+ 'type' => 'string',
+ 'example' => 'UbmsMHmkqv0PiAG****010001',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"JobId\\": \\"UbmsMHmkqv0PiAG****010001\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateDeviceDistributeJobResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<JobId>UbmsMHmkqv0PiAG****010001</JobId>\\n<Success>true</Success>\\n</CreateDeviceDistributeJobResponse>","errorExample":""}]',
+ 'title' => 'CreateDeviceDistributeJob',
+ 'summary' => 'Creates a task to distribute devices. The product to which the devices belong is distributed by default.',
+ 'description' => 'To distribute devices, perform the following steps:'."\n"
+ ."\n"
+ .'1\\. Asynchronously call this operation to create a device distribution task and obtain the **JobId** parameter.'."\n"
+ ."\n"
+ .'2\\. Use **JobId** as a request parameter and repeatedly call the [QueryDeviceDistributeJob](~~199536~~) operation to obtain the **Status** parameter.'."\n"
+ ."\n"
+ .'> You must control the frequency of calls based on the QPS limit of the QueryDeviceDistributeJob operation.'."\n"
+ ."\n"
+ .'If either of the following values is returned for the **Status** parameter, the distribution task ends:'."\n"
+ ."\n"
+ .'* **2**: The device distribution task is completed. This return value does not indicate that the devices are distributed. To obtain the distribution result of each device, perform the next step.'."\n"
+ .'* **3**: The distribution is unexpectedly interrupted. After you process the error, you can initiate a device distribution task again.'."\n"
+ ."\n"
+ .'3\\. Use **JobId** that is returned in Step 1 as a request parameter and call the [QueryDeviceDistributeDetail](~~199533~~) operation to obtain the **File** parameter. The File parameter indicates the file URL of the distribution result.'."\n"
+ ."\n"
+ .'> The file URL is valid for 10 minutes.'."\n"
+ ."\n"
+ .'4\\. Obtain the distribution result by using the file URL. The **Code** parameter indicates whether a device is distributed. If the value of the **Code** parameter is 200, the device is distributed.'."\n"
+ ."\n"
+ .'If the distribution fails, you can perform the preceding steps to distribute devices again.'."\n"
+ ."\n\n"
+ .'## Limits'."\n"
+ ."\n"
+ .'- This operation can be called only by using the following **endpoint**: `iot.cn-shanghai.aliyuncs.com`.'."\n"
+ .'- You cannot call this operation to distribute devices across accounts.'."\n"
+ .'- Each Alibaba Cloud account can create a maximum of 10 tasks to distribute products or devices. For more information about how to create a product distribution task, see [CreateProductDistributeJob](/help/en/iot-platform/latest/createproductdistributejob).'."\n"
+ .'- Each Alibaba Cloud account can run a maximum of 2 queries per second (QPS). > RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateProductDistributeJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SourceInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the source instance to which the product belongs.'."\n"
+ ."\n"
+ .'* The IDs of public instances in different regions:'."\n"
+ ."\n"
+ .' * China (Shanghai): iotx-oxssharez200.'."\n"
+ .' * Japan (Tokyo): iotx-oxssharez300.'."\n"
+ .' * Singapore (Singapore): iotx-oxssharez400.'."\n"
+ .' * US (Silicon Valley): iotx-oxssharez500.'."\n"
+ .' * US (Virginia): iotx-oxssharez600.'."\n"
+ .' * Germany (Frankfurt): iotx-oxssharez700.'."\n"
+ ."\n"
+ .'* The IDs of Enterprise Edition instances:'."\n"
+ ."\n"
+ .' 1\\. Log on to the IoT Platform console. Select a region from the drop-down list in the upper-left corner of the top navigation bar.'."\n"
+ ."\n"
+ .' 2\\. On the **Overview** page, click the instance name. On the **Instance Details** page, view the instance ID in the **Basic Information** section.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'iot-cn-st2***',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to be published.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'TargetInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the destination instance to which the product is distributed. For more information about instance IDs, see the description of the **SourceInstanceId** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'iot-cn-6ja***',
+ ],
+ ],
+ [
+ 'name' => 'TargetUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the product belongs. You can log on to the IoT Platform console, click the profile picture, and then view **Account ID** on the **Security Settings** page.'."\n"
+ ."\n"
+ .'The **TargetUid** and **TargetAliyunId** parameters cannot be left empty at the same time.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '198***',
+ ],
+ ],
+ [
+ 'name' => 'TargetAliyunId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The Alibaba Cloud account to which the product belongs. You can log on to the IoT Platform console, click the profile picture, and then view **Logon Account** on the **Security Settings** page.'."\n"
+ ."\n"
+ .'The **TargetUid** and **TargetAliyunId** parameters cannot be left empty at the same time.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => ' io****@example.com',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'JobId' => [
+ 'description' => 'The task ID returned if the call is successful. The ID globally identifies the task.'."\n",
+ 'type' => 'string',
+ 'example' => 'UbmsMHmkqv0PiAG****010001',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"JobId\\": \\"UbmsMHmkqv0PiAG****010001\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateProductDistributeJobResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<JobId>UbmsMHmkqv0PiAG****010001</JobId>\\n<Success>true</Success>\\n</CreateProductDistributeJobResponse>","errorExample":""}]',
+ 'title' => 'CreateProductDistributeJob',
+ 'description' => '* This operation can be called only by using the following **endpoint**: `iot.cn-shanghai.aliyuncs.com`.'."\n"
+ ."\n"
+ .'* You cannot call this operation to distribute a product across accounts.'."\n"
+ ."\n"
+ .'* A product distribution task does not distribute the devices under the product.'."\n"
+ ."\n"
+ .'* After a product is distributed, you cannot modify its TSL model and scripts.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can create a maximum of 10 tasks to distribute products or devices. For more information about how to create a device distribution task, see [CreateDeviceDistributeJob](~~199390~~).'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 2 queries per second (QPS).'."\n"
+ ."\n"
+ .' **'."\n"
+ ."\n"
+ .' **Note** RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceDistributeDetail' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the distribution task. The ID globally identifies the task.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'UbmsMHmkqv0PiAG****010001',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'File' => [
+ 'description' => 'The URL of the file that contains the distribution result. The URL indicates a storage location of the file in Object Storage Service (OSS). The URL is valid for 10 minutes.'."\n",
+ 'type' => 'string',
+ 'example' => 'https://iotx-***.oss-cn-shanghai.aliyuncs.com/job***/7u***',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"File\\": \\"https://iotx-***.oss-cn-shanghai.aliyuncs.com/job***/7u***\\"\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceDistributeDetailResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<File>https://iotx-***.oss-cn-shanghai.aliyuncs.com/job***/7u***</File>\\n<Success>true</Success>\\n</QueryDeviceDistributeDetailResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceDistributeDetail',
+ 'description' => '* This operation can be called only by using the following **endpoint**: `iot.cn-shanghai.aliyuncs.com`.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceDistributeJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the distribution task. The ID globally identifies the task.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'UbmsMHmkqv0PiAG****010001',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => ' E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The task information returned if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Strategy' => [
+ 'description' => 'The distribution policy.'."\n"
+ ."\n"
+ .'* **0**: distributes devices to instances in a specified region.'."\n"
+ .'* **1**: configures instance IDs in multiple regions and distributes devices to the nearest regions based on the IP addresses of the devices.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the distribution task.'."\n"
+ ."\n"
+ .'* **0**: The task is being initialized.'."\n"
+ .'* **1**: The task is being implemented.'."\n"
+ .'* **2**: The task is completed. This status only indicates that the distribution task is completed. This status does not indicate that all products and devices are distributed. To obtain distribution results, call the [QueryDeviceDistributeDetail](~~199533~~) operation.'."\n"
+ .'* **3**: The task is unexpectedly interrupted.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1BwAGV****',
+ ],
+ 'TargetUid' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '198***',
+ ],
+ 'JobId' => [
+ 'description' => 'The ID of the distribution task.'."\n",
+ 'type' => 'string',
+ 'example' => 'UbmsMHmkqv0PiAG****010001',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The time when the task was created.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581595942000',
+ ],
+ 'SourceUid' => [
+ 'description' => 'The ID of the Alibaba Cloud account.'."\n",
+ 'type' => 'string',
+ 'example' => '198***',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of devices in the distribution task.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ 'SourceInstanceId' => [
+ 'description' => 'The ID of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'iot-cn-6ja***',
+ ],
+ 'TargetInstanceConfigs' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'targetInstanceConfigs' => [
+ 'description' => 'The IDs of the destination instances.'."\n"
+ ."\n"
+ .'* If the value of the **Strategy** parameter is **1**, multiple instance IDs exist.'."\n"
+ .'* If the value of the **Strategy** parameter is **0**, only one instance ID exists.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TargetInstanceId' => [
+ 'description' => 'The ID of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'iot-cn-6ja***',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\" E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Strategy\\": 0,\\n \\"Status\\": 1,\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"TargetUid\\": \\"198***\\",\\n \\"JobId\\": \\"UbmsMHmkqv0PiAG****010001\\",\\n \\"GmtCreate\\": 1581595942000,\\n \\"SourceUid\\": \\"198***\\",\\n \\"Total\\": 5,\\n \\"SourceInstanceId\\": \\"iot-cn-6ja***\\",\\n \\"TargetInstanceConfigs\\": {\\n \\"targetInstanceConfigs\\": [\\n {\\n \\"TargetInstanceId\\": \\"iot-cn-6ja***\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceDistributeJobResponse>\\n<RequestId> E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Data>\\n <Status>1</Status>\\n <GmtCreate>1581595942000</GmtCreate>\\n <SourceUid>198***</SourceUid>\\n <Total>5</Total>\\n <Strategy>0</Strategy>\\n <TargetUid>198***</TargetUid>\\n <SourceInstanceId>iot-cn-6ja***</SourceInstanceId>\\n <TargetInstanceConfigs>\\n <targetInstanceConfigs>\\n <TargetInstanceId>iot-cn-6ja***</TargetInstanceId>\\n </targetInstanceConfigs>\\n </TargetInstanceConfigs>\\n <ProductKey>a1BwAGV****</ProductKey>\\n <JobId>UbmsMHmkqv0PiAG****010001</JobId>\\n</Data>\\n<Success>true</Success>\\n</QueryDeviceDistributeJobResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceDistributeJob',
+ 'description' => '* This operation can be called only by using the following **endpoint**: `iot.cn-shanghai.aliyuncs.com`.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'>RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListDeviceDistributeJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'TargetUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the devices are distributed.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '198***',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: 1.'."\n"
+ ."\n"
+ .'The **NextToken** or **CurrentPage** parameter specifies a condition for displaying the results. You can specify one of the two parameters. If you specify both parameters at the same time, the **NextToken parameter** is used.'."\n"
+ ."\n"
+ .'For information about the **NextToken** parameter, see the description of the **NextToken** parameter.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: 1 to 200.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The status of the device distribution task.'."\n"
+ ."\n"
+ .'* **0**: The task is being initialized.'."\n"
+ .'* **1**: The task is running.'."\n"
+ .'* **2**: The task is completed. The status indicates that the distribution task is complete but does not indicate that all products and devices are distributed. To obtain distribution results, call the [QueryDeviceDistributeDetail](~~199533~~) operation.'."\n"
+ .'* **3**: The task is unexpectedly interrupted.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'JobId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The ID of the distribution task. The ID is globally unique.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'UbmsMHmkqv0PiAG****010001',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The token that is used to retrieve subsequent pages of the query results. The first time you perform a query operation, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'The **NextToken** or **CurrentPage** parameter specifies a condition for displaying the results. You can specify one of the two parameters. If you specify both parameters at the same time, the **NextToken** parameter is used.'."\n"
+ ."\n\n"
+ ."\n"
+ .'**Important**'."\n"
+ ."\n"
+ .'The offset in the number of results is obtained by using the following formula: **PageSize** × (**CurrentPage** - 1).'."\n"
+ ."\n"
+ .'If the offset is greater than 10,000, you must use the token that is returned in the previous query as the value of the **NextToken** parameter to obtain the value of the **Data** parameter. Otherwise, the current request is terminated and the value of the **Data** parameter cannot be returned.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'TGlzdFJlc291***',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1T27vz****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code that is returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The distribution tasks that are returned if the call is successful. For more information, see the **JobInfo** parameter.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Total' => [
+ 'description' => 'The total number of device distribution tasks.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'NextToken' => [
+ 'description' => 'The token that is used to retrieve the subsequent pages of the query results. The value of this parameter can be used in the next query to obtain the subsequent pages of results. '."\n"
+ ."\n"
+ .'If the return value is empty, no subsequent page exists.',
+ 'type' => 'string',
+ 'example' => 'TGlzdFJlc291***',
+ ],
+ 'JobInfo' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'items' => [
+ 'description' => 'The information about the task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Strategy' => [
+ 'description' => 'The distribution policy.'."\n"
+ ."\n"
+ .'* **0**: distributes devices to specified instances in a specified region. This is the default value.'."\n"
+ .'* **1**: configures instance IDs in multiple regions and distributes devices to the nearest regions based on the IP addresses of the devices.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the task.'."\n"
+ ."\n"
+ .'* **0**: The task is being initialized.'."\n"
+ .'* **1**: The task is running.'."\n"
+ .'* **2**: The task is completed. The status indicates that the distribution task is complete but does not indicate that all products and devices are distributed. To obtain distribution results, call the [QueryDeviceDistributeDetail](~~199533~~) operation.'."\n"
+ .'* **3**: The task is unexpectedly interrupted.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1BwAGV****',
+ ],
+ 'TargetUid' => [
+ 'description' => 'The ID of the destination Alibaba Cloud account.',
+ 'type' => 'string',
+ 'example' => '198***',
+ ],
+ 'JobId' => [
+ 'description' => 'The ID of the task.'."\n",
+ 'type' => 'string',
+ 'example' => 'UbmsMHmkqv0PiAG****010001',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The time when the task was created.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581595942000',
+ ],
+ 'SourceInstanceName' => [
+ 'description' => 'The name of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'SourceUid' => [
+ 'description' => 'The ID of the source Alibaba Cloud account.'."\n",
+ 'type' => 'string',
+ 'example' => '198***',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of devices in the distribution task.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ 'SourceRegion' => [
+ 'description' => 'The region where the source instance resides.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ 'SourceInstanceId' => [
+ 'description' => 'The ID of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'iot-cn-6ja***',
+ ],
+ 'TargetInstanceConfigs' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'targetInstanceConfigs' => [
+ 'description' => 'The IDs of the destination instances.'."\n"
+ ."\n"
+ .'* If the value of the **Strategy** parameter is **1**, multiple instance IDs exist.'."\n"
+ .'* If the value of the **Strategy** parameter is **0**, only one instance ID exists.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TargetInstanceName' => [
+ 'description' => 'The name of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'TargetRegion' => [
+ 'description' => 'The region where the destination instance resides.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ 'TargetInstanceId' => [
+ 'description' => 'The ID of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'iot-cn-6ja***',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Total\\": 10,\\n \\"NextToken\\": \\"TGlzdFJlc291***\\",\\n \\"JobInfo\\": {\\n \\"items\\": [\\n {\\n \\"Strategy\\": 0,\\n \\"Status\\": 1,\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"TargetUid\\": \\"198***\\",\\n \\"JobId\\": \\"UbmsMHmkqv0PiAG****010001\\",\\n \\"GmtCreate\\": 1581595942000,\\n \\"SourceInstanceName\\": \\"实例调试1\\",\\n \\"SourceUid\\": \\"198***\\",\\n \\"Total\\": 5,\\n \\"SourceRegion\\": \\"cn-shanghai\\",\\n \\"SourceInstanceId\\": \\"iot-cn-6ja***\\",\\n \\"TargetInstanceConfigs\\": {\\n \\"targetInstanceConfigs\\": [\\n {\\n \\"TargetInstanceName\\": \\"实例调试2\\",\\n \\"TargetRegion\\": \\"cn-shanghai\\",\\n \\"TargetInstanceId\\": \\"iot-cn-6ja***\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListDeviceDistributeJobResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Data>\\n <NextToken>TGlzdFJlc291***</NextToken>\\n <Total>10</Total>\\n <JobInfo>\\n <items>\\n <Status>1</Status>\\n <SourceInstanceName>实例调试1</SourceInstanceName>\\n <GmtCreate>1581595942000</GmtCreate>\\n <SourceUid>198***</SourceUid>\\n <Total>5</Total>\\n <Strategy>0</Strategy>\\n <TargetUid>198***</TargetUid>\\n <SourceRegion>cn-shanghai</SourceRegion>\\n <SourceInstanceId>iot-cn-6ja***</SourceInstanceId>\\n <ProductKey>a1BwAGV****</ProductKey>\\n <JobId>UbmsMHmkqv0PiAG****010001</JobId>\\n <TargetInstanceConfigs>\\n <targetInstanceConfigs>\\n <TargetRegion>cn-shanghai</TargetRegion>\\n <TargetInstanceName>实例调试2</TargetInstanceName>\\n <TargetInstanceId>iot-cn-6ja***</TargetInstanceId>\\n </targetInstanceConfigs>\\n </TargetInstanceConfigs>\\n </items>\\n </JobInfo>\\n</Data>\\n<Success>true</Success>\\n</ListDeviceDistributeJobResponse>","errorExample":""}]',
+ 'title' => 'ListDeviceDistributeJob',
+ 'summary' => 'Queries device distribution tasks.',
+ 'description' => 'If you use an Enterprise Edition instance, you must specify the **IotInstanceId** parameter when you call this operation. Otherwise, the call fails.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to five times per second per account. '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteDeviceDistributeJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the distribution task. The ID globally identifies the task.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'UbmsMHmkqv0PiAG****010001',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteDeviceDistributeJobResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Success>true</Success>\\n</DeleteDeviceDistributeJobResponse>","errorExample":""}]',
+ 'title' => 'DeleteDeviceDistributeJob',
+ 'summary' => 'Deletes a device distribution task.',
+ 'description' => '* This operation can be called only by using the following **endpoint**: `iot.cn-shanghai.aliyuncs.com`.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 2 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListDistributedDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Maximum value: 200.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '200',
+ 'minimum' => '1',
+ 'example' => '5',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'mydevice',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'minimum' => '1',
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'TargetUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account. You can log on to the IoT Platform console, click the profile picture, and then view **Account ID** on the **Security Settings** page.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '198***',
+ ],
+ ],
+ [
+ 'name' => 'SourceInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the source instance to which the device belongs.'."\n"
+ ."\n"
+ .'* The IDs of public instances in different regions:'."\n"
+ ."\n"
+ .' * China (Shanghai): iotx-oxssharez200.'."\n"
+ .' * Japan (Tokyo): iotx-oxssharez300.'."\n"
+ .' * Singapore (Singapore): iotx-oxssharez400.'."\n"
+ .' * US (Silicon Valley): iotx-oxssharez500.'."\n"
+ .' * US (Virginia): iotx-oxssharez600.'."\n"
+ .' * Germany (Frankfurt): iotx-oxssharez700.'."\n"
+ ."\n"
+ .'* The IDs of Enterprise Edition instances:'."\n"
+ ."\n"
+ .' 1\\. Log on to the IoT Platform console. Select a region from the drop-down list in the upper-left corner of the top navigation bar.'."\n"
+ ."\n"
+ .' 2\\. On the **Overview** page, click the instance name. On the **Instance Details** page, view the instance ID in the **Basic Information** section.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-060***',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The products returned if the call is successful. For more information, see **Info**.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Total' => [
+ 'description' => 'The total number of returned devices.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'Info' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'items' => [
+ 'description' => 'The information about the device.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DeviceName' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'mydevice',
+ ],
+ 'TargetAliyunId' => [
+ 'description' => 'The Alibaba Cloud account to which the device is distributed.'."\n",
+ 'type' => 'string',
+ 'example' => 'io****@example.com',
+ ],
+ 'SourceUid' => [
+ 'description' => 'The ID of the Alibaba Cloud account that distributes the device.'."\n"
+ ."\n"
+ .'You can only distribute devices across regions and instances by using the same Alibaba cloud account. The value of this parameter is the same as the value of the **TargetUid** parameter.'."\n",
+ 'type' => 'string',
+ 'example' => '198***',
+ ],
+ 'GmtModified' => [
+ 'description' => 'The time when the distribution task was modified.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581595942222',
+ ],
+ 'TargetInstanceId' => [
+ 'description' => 'The ID of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'iot-cn-09k***',
+ ],
+ 'TargetUid' => [
+ 'description' => 'The Alibaba Cloud account to which the device is distributed.'."\n"
+ ."\n"
+ .'You can only distribute devices across regions and instances by using the same Alibaba cloud account. The value of this parameter is the same as the value of the **TargetUid** parameter.'."\n",
+ 'type' => 'string',
+ 'example' => '198***',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1BwAGV***',
+ ],
+ 'TargetRegion' => [
+ 'description' => 'The destination region to which the device is distributed.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shenzhen',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The time when the distribution task was created.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581595942000',
+ ],
+ 'TargetInstanceName' => [
+ 'description' => 'The name of the destination instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'newinstance',
+ ],
+ 'SourceInstanceName' => [
+ 'description' => 'The name of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'myproInstance',
+ ],
+ 'SourceRegion' => [
+ 'description' => 'The source region in which the device resides.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ 'SourceInstanceId' => [
+ 'description' => 'The ID of the source instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'iot-cn-6ja***',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Total\\": 10,\\n \\"Info\\": {\\n \\"items\\": [\\n {\\n \\"DeviceName\\": \\"mydevice\\",\\n \\"TargetAliyunId\\": \\"io****@example.com\\",\\n \\"SourceUid\\": \\"198***\\",\\n \\"GmtModified\\": 1581595942222,\\n \\"TargetInstanceId\\": \\"iot-cn-09k***\\",\\n \\"TargetUid\\": \\"198***\\",\\n \\"ProductKey\\": \\"a1BwAGV***\\",\\n \\"TargetRegion\\": \\"cn-shenzhen\\",\\n \\"GmtCreate\\": 1581595942000,\\n \\"TargetInstanceName\\": \\"newinstance\\",\\n \\"SourceInstanceName\\": \\"myproInstance\\",\\n \\"SourceRegion\\": \\"cn-shanghai\\",\\n \\"SourceInstanceId\\": \\"iot-cn-6ja***\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListDistributedDeviceResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Data>\\n <Total>10</Total>\\n <Info>\\n <items>\\n <TargetRegion>cn-shenzhen</TargetRegion>\\n <SourceInstanceName>myproInstance</SourceInstanceName>\\n <TargetAliyunId>io****@example.com</TargetAliyunId>\\n <SourceUid>198***</SourceUid>\\n <GmtModified>1581595942222</GmtModified>\\n <TargetInstanceId>iot-cn-09k***</TargetInstanceId>\\n <TargetUid>198***</TargetUid>\\n <SourceRegion>cn-shanghai</SourceRegion>\\n <SourceInstanceId>iot-cn-6ja***</SourceInstanceId>\\n <GmtCreate>1581595942000</GmtCreate>\\n <TargetInstanceName>newinstance</TargetInstanceName>\\n <ProductKey>a1BwAGV***</ProductKey>\\n <DeviceName>mydevice</DeviceName>\\n </items>\\n </Info>\\n</Data>\\n<Success>true</Success>\\n</ListDistributedDeviceResponse>","errorExample":""}]',
+ 'title' => 'ListDistributedDevice',
+ 'summary' => 'Queries distributed devices.',
+ 'description' => '* This operation can be called only by using the following **endpoint**: `iot.cn-shanghai.aliyuncs.com`.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n"
+ ."\n"
+ .'* Multiple Alibaba Cloud accounts can run a maximum of 200 QPS at the same time.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListDistributedProduct' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Maximum value: 200.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '200',
+ 'minimum' => '1',
+ 'example' => '5',
+ ],
+ ],
+ [
+ 'name' => 'SourceInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the source instance to which the product belongs.'."\n"
+ ."\n"
+ .'* The IDs of public instances in different regions:'."\n"
+ ."\n"
+ .' * China (Shanghai): iotx-oxssharez200.'."\n"
+ .' * Japan (Tokyo): iotx-oxssharez300.'."\n"
+ .' * Singapore (Singapore): iotx-oxssharez400.'."\n"
+ .' * US (Silicon Valley): iotx-oxssharez500.'."\n"
+ .' * US (Virginia): iotx-oxssharez600.'."\n"
+ .' * Germany (Frankfurt): iotx-oxssharez700.'."\n"
+ ."\n"
+ .'* To view the ID of an Enterprise Edition instance, perform the following steps:'."\n"
+ ."\n"
+ .' 1\\. Log on to the [IoT Platform console](https://iot.console.aliyun.com/). In the top navigation bar, select the region where the instance resides from the drop-down list.'."\n"
+ ."\n"
+ .' 2\\. On the **Overview** page, view the **ID** of the instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-060***',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'TargetInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the destination instance to which the product is distributed. For more information about instance IDs, see the description of the **SourceInstanceId** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-6ja***',
+ ],
+ ],
+ [
+ 'name' => 'TargetUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the product belongs. You can log on to the IoT Platform console, click the profile picture, and then view the **account ID** on the **Security Settings** page.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '198***',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'minimum' => '1',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The products returned if the call is successful. For more information, see the "**Info**" section of this topic.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Total' => [
+ 'description' => 'The total number of returned products.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'Info' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'items' => [
+ 'description' => 'The information about the product.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TargetRegion' => [
+ 'description' => 'The destination region to which the product is distributed.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shenzhen',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The **ProductKey** of the product.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1BwAGV****',
+ ],
+ 'TargetUid' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the product is distributed.'."\n"
+ ."\n"
+ .'You can distribute devices across regions and instances only within the same Alibaba cloud account. The value of this parameter is the same as the value of the **TargetUid** parameter.'."\n",
+ 'type' => 'string',
+ 'example' => '198***',
+ ],
+ 'TargetInstanceName' => [
+ 'description' => 'The name of the destination instance to which the product is distributed.'."\n",
+ 'type' => 'string',
+ 'example' => 'newinstance',
+ ],
+ 'TargetAliyunId' => [
+ 'description' => 'The name of the Alibaba Cloud account to which the product is distributed.'."\n",
+ 'type' => 'string',
+ 'example' => 'io****@example.com',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The time when the distribution task was created.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581595942',
+ ],
+ 'SourceInstanceName' => [
+ 'description' => 'The name of the source instance to which the product belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'myproInstance',
+ ],
+ 'SourceUid' => [
+ 'description' => 'The ID of the Alibaba Cloud account that is used to distribute the product. You can distribute products across regions and instances only within the same Alibaba cloud account. The value of this parameter is the same as the value of the **TargetUid** parameter.'."\n",
+ 'type' => 'string',
+ 'example' => '198***',
+ ],
+ 'TargetInstanceId' => [
+ 'description' => 'The ID of the destination instance to which the product is distributed.'."\n",
+ 'type' => 'string',
+ 'example' => 'iot-cn-09k***',
+ ],
+ 'SourceRegion' => [
+ 'description' => 'The source region to which the product belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ 'SourceInstanceId' => [
+ 'description' => 'The ID of the source instance to which the product belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'iot-cn-6ja***',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Total\\": 10,\\n \\"Info\\": {\\n \\"items\\": [\\n {\\n \\"TargetRegion\\": \\"cn-shenzhen\\",\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"TargetUid\\": \\"198***\\",\\n \\"TargetInstanceName\\": \\"newinstance\\",\\n \\"TargetAliyunId\\": \\"io****@example.com\\",\\n \\"GmtCreate\\": 1581595942,\\n \\"SourceInstanceName\\": \\"myproInstance\\",\\n \\"SourceUid\\": \\"198***\\",\\n \\"TargetInstanceId\\": \\"iot-cn-09k***\\",\\n \\"SourceRegion\\": \\"cn-shanghai\\",\\n \\"SourceInstanceId\\": \\"iot-cn-6ja***\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListDistributedProductResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Data>\\n <Total>10</Total>\\n <Info>\\n <items>\\n <TargetRegion>cn-shenzhen</TargetRegion>\\n <SourceInstanceName>myproInstance</SourceInstanceName>\\n <TargetAliyunId>io****@example.com</TargetAliyunId>\\n <GmtCreate>1581595942</GmtCreate>\\n <SourceUid>198***</SourceUid>\\n <TargetInstanceName>newinstance</TargetInstanceName>\\n <TargetInstanceId>iot-cn-09k***</TargetInstanceId>\\n <TargetUid>198***</TargetUid>\\n <SourceRegion>cn-shanghai</SourceRegion>\\n <SourceInstanceId>iot-cn-6ja***</SourceInstanceId>\\n <ProductKey>a1BwAGV****</ProductKey>\\n </items>\\n </Info>\\n</Data>\\n<Success>true</Success>\\n</ListDistributedProductResponse>","errorExample":""}]',
+ 'title' => 'ListDistributedProduct',
+ 'summary' => 'Queries distributed products.',
+ 'description' => 'You can call this operation only by using the following **endpoint**: `iot.cn-shanghai.aliyuncs.com`.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to five times per second per account. '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceProvisioning' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1ji*****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'testDevcieBwT3Un',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'TargetRegion' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'ap-southeast-1',
+ ],
+ 'ProductKey' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'a1ji*****',
+ ],
+ 'DeviceName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'testDevcieBwT3Un',
+ ],
+ 'GmtCreate' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1676297683000',
+ ],
+ 'TargetIotInstanceId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot-09k****',
+ ],
+ 'SourceIotInstanceId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot-6ja****',
+ ],
+ 'AliyunUid' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'io****@example.com',
+ ],
+ 'GmtModified' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1676297683000',
+ ],
+ 'SourceRegion' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.common.APINotSupportedInInstance',
+ 'errorMessage' => 'This API operation is not supported in this instance.',
+ ],
+ [
+ 'errorCode' => 'iot.common.RamActionPermissionDeny',
+ 'errorMessage' => 'You do not have the RAM permission.',
+ ],
+ [
+ 'errorCode' => 'iot.common.InvalidTenant',
+ 'errorMessage' => 'The Invalid tenant.',
+ ],
+ [
+ 'errorCode' => 'iot.common.InvalidFormattedParameter',
+ 'errorMessage' => 'The parameter format is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"TargetRegion\\": \\"ap-southeast-1\\",\\n \\"ProductKey\\": \\"a1ji*****\\",\\n \\"DeviceName\\": \\"testDevcieBwT3Un\\",\\n \\"GmtCreate\\": 1676297683000,\\n \\"TargetIotInstanceId\\": \\"iot-09k****\\",\\n \\"SourceIotInstanceId\\": \\"iot-6ja****\\",\\n \\"AliyunUid\\": \\"io****@example.com\\",\\n \\"GmtModified\\": 1676297683000,\\n \\"SourceRegion\\": \\"cn-shanghai\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceProvisioningResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Data>\\n <TargetRegion>ap-southeast-1</TargetRegion>\\n <GmtCreate>1676297683000</GmtCreate>\\n <TargetIotInstanceId>iot-09k****</TargetIotInstanceId>\\n <AliyunUid>io****@example.com</AliyunUid>\\n <GmtModified>1676297683000</GmtModified>\\n <SourceIotInstanceId>iot-6ja****</SourceIotInstanceId>\\n <SourceRegion>cn-shanghai</SourceRegion>\\n <ProductKey>a1ji*****</ProductKey>\\n <DeviceName>testDevcieBwT3Un</DeviceName>\\n</Data>\\n<Code>success</Code>\\n<Success>true</Success>\\n</QueryDeviceProvisioningResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceProvisioning',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateDeviceTunnel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv***00100',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'Udi',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'reboot',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV***',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-***-v64***',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => ' iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'TunnelId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'd4098041-***',
+ ],
+ 'SourceURI' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'wss://secure-tunnel-ws.iot.aliyun.test/tunnel/1834248a-37b7-4fd2-***/source',
+ ],
+ 'SourceAccessToken' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '521c43e4-a6da-***',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.securetunnel.ParamInvalid',
+ 'errorMessage' => 'The parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.securetunnel.DescriptionTooLong',
+ 'errorMessage' => 'The description of the device tunnel has exceeded the maximum length.',
+ ],
+ [
+ 'errorCode' => 'iot.securetunnel.UdiTooLong',
+ 'errorMessage' => 'The Udi of the device tunnel has exceeded the maximum length.',
+ ],
+ [
+ 'errorCode' => 'iot.securetunnel.TunnelAmountExceedByDevice',
+ 'errorMessage' => 'The tunnel amount of the device has exceeded the limit.',
+ ],
+ [
+ 'errorCode' => 'iot.securetunnel.TunnelAmountExceedByInstance',
+ 'errorMessage' => 'The tunnel amount for the instance has exceeded the limit.',
+ ],
+ [
+ 'errorCode' => 'iot.securetunnel.DeviceNotExist',
+ 'errorMessage' => 'The device does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.securetunnel.DeviceNotOnline',
+ 'errorMessage' => 'The device must be online.',
+ ],
+ [
+ 'errorCode' => 'iot.securetunnel.DeviceNotSpecified',
+ 'errorMessage' => 'The device is not specified.',
+ ],
+ [
+ 'errorCode' => 'iot.securetunnel.InstanceIdMismatch',
+ 'errorMessage' => 'The instanceId does not match the parameter.',
+ ],
+ [
+ 'errorCode' => 'iot.securetunnel.TunnelQuotaExhausted',
+ 'errorMessage' => 'The quota for secure tunnel has been exhausted.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"\\\\tiot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"TunnelId\\": \\"d4098041-***\\",\\n \\"SourceURI\\": \\"wss://secure-tunnel-ws.iot.aliyun.test/tunnel/1834248a-37b7-4fd2-***/source\\",\\n \\"SourceAccessToken\\": \\"521c43e4-a6da-***\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateDeviceTunnelResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Data>\\n <SourceURI>wss://secure-tunnel-ws.iot.aliyun.test/tunnel/1834248a-37b7-4fd2-***/source</SourceURI>\\n <SourceAccessToken>521c43e4-a6da-***</SourceAccessToken>\\n <TunnelId>d4098041-***</TunnelId>\\n</Data>\\n<Success>true</Success>\\n</CreateDeviceTunnelResponse>","errorExample":""}]',
+ 'title' => 'CreateDeviceTunnel',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CloseDeviceTunnel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'TunnelId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'd4098041-a560-***',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-***-v6***',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.securetunnel.TunnelNotExist',
+ 'errorMessage' => 'The device tunnel does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.securetunnel.InstanceIdMismatch',
+ 'errorMessage' => 'The instanceId does not match the parameter.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CloseDeviceTunnelResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Success>true</Success>\\n</CloseDeviceTunnelResponse>","errorExample":""}]',
+ 'title' => 'CloseDeviceTunnel',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteDeviceTunnel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'TunnelId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'd4098041-a560-***',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-***-v6***',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.securetunnel.InstanceIdMismatch',
+ 'errorMessage' => 'The instanceId does not match the parameter.',
+ ],
+ [
+ 'errorCode' => 'iot.securetunnel.TunnelNotExist',
+ 'errorMessage' => 'The device tunnel does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.securetunnel.IllegalState',
+ 'errorMessage' => 'The tunnel state does not meet the requirement.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteDeviceTunnelResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Success>true</Success>\\n</DeleteDeviceTunnelResponse>","errorExample":""}]',
+ 'title' => 'DeleteDeviceTunnel',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceTunnel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'TunnelId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'd4098041-a560-***',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-***-v6***',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'DeviceName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'light',
+ ],
+ 'UtcClosed' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2021-09-22T12:44:12.000Z',
+ ],
+ 'DeviceConnState' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'CONNECTED',
+ ],
+ 'UtcCreated' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2021-09-22T12:44:12.000Z',
+ ],
+ 'SourceConnState' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'DISCONNECTED',
+ ],
+ 'ProductKey' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'a1rYuVF***',
+ ],
+ 'Description' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'TunnelId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => ' d4098041-a560-***',
+ ],
+ 'TunnelState' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'OPEN',
+ ],
+ 'IotId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Q7uOhVRdZRRlDnTLv***00100',
+ ],
+ 'Udi' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'reboot',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.securetunnel.InstanceIdMismatch',
+ 'errorMessage' => 'The instanceId does not match the parameter.',
+ ],
+ [
+ 'errorCode' => 'iot.securetunnel.TunnelNotExist',
+ 'errorMessage' => 'The device tunnel does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ProductName\\": \\"test\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"UtcClosed\\": \\"2021-09-22T12:44:12.000Z\\",\\n \\"DeviceConnState\\": \\"CONNECTED\\",\\n \\"UtcCreated\\": \\"2021-09-22T12:44:12.000Z\\",\\n \\"SourceConnState\\": \\"DISCONNECTED\\",\\n \\"ProductKey\\": \\"a1rYuVF***\\",\\n \\"Description\\": \\"用于远程登录到摄像头。\\",\\n \\"TunnelId\\": \\" d4098041-a560-***\\",\\n \\"TunnelState\\": \\"OPEN\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv***00100\\",\\n \\"Udi\\": \\"reboot\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceTunnelResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Data>\\n <IotId>Q7uOhVRdZRRlDnTLv***00100</IotId>\\n <Description>用于远程登录到摄像头。</Description>\\n <UtcClosed>2021-09-22T12:44:12.000Z</UtcClosed>\\n <UtcCreated>2021-09-22T12:44:12.000Z</UtcCreated>\\n <DeviceConnState>CONNECTED</DeviceConnState>\\n <TunnelState>OPEN</TunnelState>\\n <SourceConnState>DISCONNECTED</SourceConnState>\\n <Udi>reboot</Udi>\\n <TunnelId>d4098041-a560-***</TunnelId>\\n <ProductKey>a1rYuVF***</ProductKey>\\n <ProductName>test</ProductName>\\n <DeviceName>light</DeviceName>\\n</Data>\\n<Success>true</Success>\\n</QueryDeviceTunnelResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceTunnel',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateDeviceGroup' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'SuperGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the parent group.'."\n"
+ ."\n"
+ .'If you need to create a first-level group, do not specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'SuperGroupId1',
+ ],
+ ],
+ [
+ 'name' => 'GroupDesc',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the group. The description must be 1 to 100 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Group test',
+ ],
+ ],
+ [
+ 'name' => 'GroupName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the group. The alias must be 4 to 30 characters in length, and can contain letters, digits, and underscores (\\_).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'grouptest',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '4D6D7F71-1C94-4160-8511-EFF4B8F0634D',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The group information returned if the call succeeds.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'GroupId' => [
+ 'description' => 'The ID of the group. The ID is the globally unique identifier (GUID) that the system generates for the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'HtMLECKbdJQL****',
+ ],
+ 'GroupName' => [
+ 'description' => 'The name of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'grouptest',
+ ],
+ 'GroupDesc' => [
+ 'description' => 'The description of each group.'."\n",
+ 'type' => 'string',
+ 'example' => 'Group test',
+ ],
+ 'UtcCreate' => [
+ 'description' => 'The time when the group was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2018-10-17T11:19:31.000Z',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"4D6D7F71-1C94-4160-8511-EFF4B8F0634D\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"GroupId\\": \\"HtMLECKbdJQL****\\",\\n \\"GroupName\\": \\"grouptest\\",\\n \\"GroupDesc\\": \\"Group test\\",\\n \\"UtcCreate\\": \\"2018-10-17T11:19:31.000Z\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<CreateDeviceGroupResponse>\\r\\n <Data>\\r\\n <GroupDesc>Group test</GroupDesc>\\r\\n <GroupName>grouptest</GroupName>\\r\\n <UtcCreate>2018-10-17T11:19:31.000Z</UtcCreate>\\r\\n <GroupId>HtMLECKbdJQL****</GroupId>\\r\\n </Data>\\r\\n <RequestId>4D6D7F71-1C94-4160-8511-EFF4B8F0634D</RequestId>\\r\\n <Success>true</Success>\\r\\n</CreateDeviceGroupResponse>","errorExample":""}]',
+ 'title' => 'CreateDeviceGroup',
+ 'summary' => 'Creates a group.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateDeviceDynamicGroup' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'iot-***',
+ ],
+ ],
+ [
+ 'name' => 'GroupDesc',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'GroupName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'grouptest',
+ ],
+ ],
+ [
+ 'name' => 'DynamicGroupExpression',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'product_key = "a1***" and name LIKE "test%"',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '4D6D7F71-1C94-4160-8511-EFF4B8F0634D',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'DynamicGroupExpression' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'product_key = "a1***" and name LIKE "test%"',
+ ],
+ 'GroupName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'grouptest',
+ ],
+ 'GroupId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'HtMLECKbdJQL***',
+ ],
+ 'GroupDesc' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'UtcCreate' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2021-10-17T11:19:31.000Z',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.group.DynamicGroupMatchedDeviceCountExceedMax',
+ 'errorMessage' => 'The maximum number of device matched by dynamic group condition is exceeded.',
+ ],
+ [
+ 'errorCode' => 'iot.group.GroupCountExceedMax',
+ 'errorMessage' => 'The number of device groups exceeds the limit.',
+ ],
+ [
+ 'errorCode' => 'iot.devicesearch.InvalidSQLError',
+ 'errorMessage' => 'The SQL statement is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.devicesearch.InvalidSQLOffsetError',
+ 'errorMessage' => 'The SQL offset is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.devicesearch.InvalidSQLFieldError',
+ 'errorMessage' => 'The SQL statement contains invalid field names.',
+ ],
+ [
+ 'errorCode' => 'iot.devicesearch.InvalidSQLConditionError',
+ 'errorMessage' => 'The SQL statement contains too many conditions.',
+ ],
+ [
+ 'errorCode' => 'iot.devicesearch.InvalidSQLOrderError',
+ 'errorMessage' => 'The SQL statement contains invalid ORDER BY conditions.',
+ ],
+ [
+ 'errorCode' => 'iot.devicesearch.InvalidSQLOperatorTypeError',
+ 'errorMessage' => 'The operator and data type in the SQL statement do not match.',
+ ],
+ [
+ 'errorCode' => 'iot.devicesearch.InvalidSQLParamError',
+ 'errorMessage' => 'The SQL syntax is unsupported.',
+ ],
+ [
+ 'errorCode' => 'iot.devicesearch.InvalidSQLIdentfierError',
+ 'errorMessage' => 'The TSL identifier is not configured.',
+ ],
+ [
+ 'errorCode' => 'iot.group.InvalidGroupName',
+ 'errorMessage' => 'The specified device group name is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.group.LongGroupDescError',
+ 'errorMessage' => 'The group description exceeds the length limit.',
+ ],
+ [
+ 'errorCode' => 'iot.group.SuperGroupUnsupport',
+ 'errorMessage' => 'The super groups do not support subGroups.',
+ ],
+ [
+ 'errorCode' => 'iot.common.APINotSupportedInInstance',
+ 'errorMessage' => 'This API operation is not supported in this instance.',
+ ],
+ [
+ 'errorCode' => 'iot.group.GroupNameExisted',
+ 'errorMessage' => 'The specified device group name already exists.',
+ ],
+ [
+ 'errorCode' => 'iot.group.CreateGroupFailed',
+ 'errorMessage' => 'An error occurred while creating a device group.',
+ ],
+ [
+ 'errorCode' => 'iot.device.RegionNotSupportDynamicGroup',
+ 'errorMessage' => 'The region does not currently support the dynamic group feature.',
+ ],
+ [
+ 'errorCode' => 'MissingDynamicGroupExpression',
+ 'errorMessage' => 'DynamicGroupExpression is mandatory for this action.',
+ ],
+ [
+ 'errorCode' => 'iot.databus.SearchIndexConfigNotFound',
+ 'errorMessage' => 'The search index config is not found.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"4D6D7F71-1C94-4160-8511-EFF4B8F0634D\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"DynamicGroupExpression\\": \\"product_key = \\\\\\"a1***\\\\\\" and name LIKE \\\\\\"test%\\\\\\"\\",\\n \\"GroupName\\": \\"grouptest\\",\\n \\"GroupId\\": \\"HtMLECKbdJQL***\\",\\n \\"GroupDesc\\": \\"test\\",\\n \\"UtcCreate\\": \\"2021-10-17T11:19:31.000Z\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateDeviceDynamicGroupResponse>\\n<RequestId>4D6D7F71-1C94-4160-8511-EFF4B8F0634D</RequestId>\\n<Data>\\n <GroupName>grouptest</GroupName>\\n <UtcCreate>2021-10-17T11:19:31.000Z</UtcCreate>\\n <GroupDesc>test</GroupDesc>\\n <DynamicGroupExpression>product_key = \\"a1***\\" and name LIKE \\"test%\\"</DynamicGroupExpression>\\n <GroupId>HtMLECKbdJQL***</GroupId>\\n</Data>\\n<Success>true</Success>\\n</CreateDeviceDynamicGroupResponse>","errorExample":""}]',
+ 'title' => 'CreateDeviceDynamicGroup',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateDeviceGroup' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the group. The ID is the globally unique identifier (GUID) for the group.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'W16X8Tvdosec****',
+ ],
+ ],
+ [
+ 'name' => 'GroupDesc',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the group. The description must be 1 to 100 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test2',
+ ],
+ ],
+ [
+ 'name' => 'GroupType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the group.'."\n"
+ ."\n"
+ .'If you set the value to **LINK_PLATFORM_DYNAMIC**, a dynamic group is queried. If you do not specify this parameter, a static group is queried by default.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'LINK_PLATFORM_DYNAMIC',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'B78B4FD1-AE89-417B-AD55-367EBB0C6759',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"B78B4FD1-AE89-417B-AD55-367EBB0C6759\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\r\\n<UpdateDeviceGroupResponse>\\r\\n <RequestId>B78B4FD1-AE89-417B-AD55-367EBB0C6759</RequestId>\\r\\n <Success>true</Success>\\r\\n</UpdateDeviceGroupResponse>","errorExample":""}]',
+ 'title' => 'UpdateDeviceGroup',
+ 'summary' => 'Modifies the information of a group.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteDeviceGroup' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the group. The ID is the globally unique identifier (GUID) for the group.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'tDQvBJqbUyHs****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'B78B4FD1-AE89-417B-AD55-367EBB0C6759',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"B78B4FD1-AE89-417B-AD55-367EBB0C6759\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DeleteDeviceGroupResponse>\\r\\n <RequestId>B78B4FD1-AE89-417B-AD55-367EBB0C6759</RequestId>\\r\\n <Success>true</Success>\\r\\n</DeleteDeviceGroupResponse>","errorExample":""}]',
+ 'title' => 'DeleteDeviceGroup',
+ 'summary' => 'Deletes a group.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteDeviceDynamicGroup' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'iot-***-v6***',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'tDQvBJqbUyHs***',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'B78B4FD1-AE89-417B-AD55-367EBB0C6759',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.group.NullGroupId',
+ 'errorMessage' => 'You must specify the device group ID.',
+ ],
+ [
+ 'errorCode' => 'iot.group.NotExistedGroup',
+ 'errorMessage' => 'The specified device group does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.common.RamActionPermissionDeny',
+ 'errorMessage' => 'You do not have the RAM permission.',
+ ],
+ [
+ 'errorCode' => 'iot.common.InvalidTenant',
+ 'errorMessage' => 'The tenant is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.group.QueryGroupInfoFailed',
+ 'errorMessage' => 'An error occurred while querying the device group details.',
+ ],
+ [
+ 'errorCode' => 'iot.group.DeleteGroupFailed',
+ 'errorMessage' => 'An error occurred while deleting the device group.',
+ ],
+ [
+ 'errorCode' => 'iot.common.APINotSupportedInInstance',
+ 'errorMessage' => 'This API operation is not supported in this instance.',
+ ],
+ [
+ 'errorCode' => 'iot.device.RegionNotSupportDynamicGroup',
+ 'errorMessage' => 'The region does not currently support the dynamic group feature.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"B78B4FD1-AE89-417B-AD55-367EBB0C6759\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteDeviceDynamicGroupResponse>\\n<RequestId>B78B4FD1-AE89-417B-AD55-367EBB0C6759</RequestId>\\n<Success>true</Success>\\n</DeleteDeviceDynamicGroupResponse>","errorExample":""}]',
+ 'title' => 'DeleteDeviceDynamicGroup',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchAddDeviceGroupRelations' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the group. The ID is the globally unique identifier (GUID) for the group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKeys of the products to which the devices belong. You can specify a maximum of 200 ProductKeys.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '6VfhebLg5iUe****',
+ ],
+ ],
+ [
+ 'name' => 'Device',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => 'The names of the devices to be added. You can specify a maximum of 200 devices.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1kORrK****',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ZHuPo6sZzv7pOzYh****',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 200,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMessage' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The number of the specified devices that are added to 10 or more groups. You can add a device to a maximum of 10 groups.'."\n",
+ 'type' => 'string',
+ 'example' => '671D0F8F-FDC7-4B12-93FA-336C079C965A',
+ ],
+ 'ExceedTenGroupDeviceCount' => [
+ 'description' => 'The number of devices that exist in the group.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'AlreadyRelatedGroupDeviceCount' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'Success' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The number of valid devices that you specified.'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ValidDeviceCount' => [
+ 'description' => 'The number of devices that are added to the group.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'SuccessAddedDeviceCount' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"671D0F8F-FDC7-4B12-93FA-336C079C965A\\",\\n \\"ExceedTenGroupDeviceCount\\": 0,\\n \\"AlreadyRelatedGroupDeviceCount\\": 0,\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ValidDeviceCount\\": 2,\\n \\"SuccessAddedDeviceCount\\": 2\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<BatchAddDeviceGroupRelationsResponse>\\r\\n <SuccessAddedDeviceCount>2</SuccessAddedDeviceCount>\\r\\n <ExceedTenGroupDeviceCount>0</ExceedTenGroupDeviceCount>\\r\\n <ErrorMessage>2 devices have been added, and 0 devices failed to be added.</ErrorMessage>\\r\\n <ValidDeviceCount>2</ValidDeviceCount>\\r\\n <AlreadyRelatedGroupDeviceCount>0</AlreadyRelatedGroupDeviceCount>\\r\\n <RequestId>671D0F8F-FDC7-4B12-93FA-336C079C965A</RequestId>\\r\\n <Success>true</Success>\\r\\n</BatchAddDeviceGroupRelationsResponse>","errorExample":""}]',
+ 'title' => 'BatchAddDeviceGroupRelations',
+ 'summary' => 'Adds one or more devices to a group.',
+ 'description' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'requestParamsDescription' => 'The operation that you want to perform. Set the value to BatchAddDeviceGroupRelations.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchDeleteDeviceGroupRelations' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the group. The ID is the globally unique identifier (GUID) for the group.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'W16X8Tvdosec****',
+ ],
+ ],
+ [
+ 'name' => 'Device',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => 'The ProductKeys of the products to which the devices belong. You can specify a maximum of 200 ProductKeys.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1kORrK****',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The names of the devices to be removed. You can specify a maximum of 200 devices.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ZHuPo6sZzv7pOzYh****',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 200,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'SuccessDeviceCount' => [
+ 'description' => 'The number of devices that are removed from the group.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '8739385E-143F-4389-B900-B7DF9174CE0D',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'AlreadyRelatedGroupDeviceCount' => [
+ 'description' => 'The number of devices that exist in the group.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ValidDeviceCount' => [
+ 'description' => 'The number of valid devices that you specified.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"SuccessDeviceCount\\": 2,\\n \\"RequestId\\": \\"8739385E-143F-4389-B900-B7DF9174CE0D\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"AlreadyRelatedGroupDeviceCount\\": 2,\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ValidDeviceCount\\": 2\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<BatchDeleteDeviceGroupRelationsResponse>\\r\\n <SuccessDeviceCount>2</SuccessDeviceCount>\\r\\n <ValidDeviceCount>2</ValidDeviceCount>\\r\\n <AlreadyRelatedGroupDeviceCount>2</AlreadyRelatedGroupDeviceCount>\\r\\n <RequestId>8739385E-143F-4389-B900-B7DF9174CE0D</RequestId>\\r\\n <Success>true</Success>\\r\\n</BatchDeleteDeviceGroupRelationsResponse>","errorExample":""}]',
+ 'title' => 'BatchDeleteDeviceGroupRelations',
+ 'summary' => 'Removes multiple devices from a specified group. You can call this operation to delete only the relationships between the devices and the group. These devices are not deleted.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceGroupInfo' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the group. The ID is the globally unique identifier (GUID) for the group.'."\n"
+ ."\n"
+ .'You can call the [QueryDeviceGroupList](~~93356~~) operation to query the **GroupId** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'tDQvBJqbUyHs****',
+ ],
+ ],
+ [
+ 'name' => 'GroupType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the group.'."\n"
+ ."\n"
+ .'Set the value to **LINK_PLATFORM_DYNAMIC**. This value indicates a dynamic group. If you do not specify this parameter, a static group is queried by default.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'LINK_PLATFORM_DYNAMIC',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '7411716B-A488-4EEB-9AA0-6DB05AD2491F',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The group details returned if the call succeeds. This parameter includes the following parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'GroupId' => [
+ 'description' => 'The ID of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'tDQvBJqbUyHs****',
+ ],
+ 'GroupName' => [
+ 'description' => 'The name of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'aliyun',
+ ],
+ 'DeviceActive' => [
+ 'description' => 'The number of activated devices.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'UtcCreate' => [
+ 'description' => 'The time when the group was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2018-09-14T14:35:51.000Z',
+ ],
+ 'DynamicGroupExpression' => [
+ 'description' => 'The rule of the dynamic group. This parameter is returned if a dynamic group is queried.'."\n",
+ 'type' => 'string',
+ 'example' => 'product_key = "a1***" and name LIKE "test%"',
+ ],
+ 'DeviceOnline' => [
+ 'description' => 'The number of online devices.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'GroupDesc' => [
+ 'description' => 'The description of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'usefulGroup',
+ ],
+ 'DeviceCount' => [
+ 'description' => 'The total number of devices.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"7411716B-A488-4EEB-9AA0-6DB05AD2491F\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"GroupId\\": \\"tDQvBJqbUyHs****\\",\\n \\"GroupName\\": \\"aliyun\\",\\n \\"DeviceActive\\": 1,\\n \\"UtcCreate\\": \\"2018-09-14T14:35:51.000Z\\",\\n \\"DynamicGroupExpression\\": \\"product_key = \\\\\\"a1***\\\\\\" and name LIKE \\\\\\"test%\\\\\\"\\",\\n \\"DeviceOnline\\": 0,\\n \\"GroupDesc\\": \\"usefulGroup\\",\\n \\"DeviceCount\\": 10\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceGroupInfoResponse>\\n<RequestId>7411716B-A488-4EEB-9AA0-6DB05AD2491F</RequestId>\\n<Data>\\n <GroupName>aliyun</GroupName>\\n <UtcCreate>2021-10-14T14:35:51.000Z</UtcCreate>\\n <DeviceOnline>0</DeviceOnline>\\n <GroupDesc>usefulGroup</GroupDesc>\\n <DeviceActive>1</DeviceActive>\\n <DynamicGroupExpression>product_key = \\"a1***\\" and name LIKE \\"test%\\"</DynamicGroupExpression>\\n <DeviceCount>10</DeviceCount>\\n <GroupId>tDQvBJqbUyHs****</GroupId>\\n</Data>\\n<Success>true</Success>\\n</QueryDeviceGroupInfoResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceGroupInfo',
+ 'summary' => 'Queries the details of a group.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 30 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDynamicGroupDevices' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'iot-***-v6***',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the group. The ID is the globally unique identifier (GUID) for the group.'."\n"
+ ."\n"
+ .'You can call the [QueryDeviceGroupList](~~93356~~) operation to query the **GroupId** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'tDQvBJqbUyHs***',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 200. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the devices belong.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV***',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'If you specify this parameter and set **FuzzyName** to **true**, the value you specified is used as the prefix to fuzzy match the DeviceName. The value must be at least 4 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'TGlzdFJlc291***',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '2',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The device status. Valid values:'."\n"
+ ."\n"
+ .'* **ONLINE**: The device is online.'."\n"
+ .'* **OFFLINE**: The device is offline.'."\n"
+ .'* **UNACTIVE**: The device is not activated.'."\n"
+ .'* **DISABLE**: The device is deactivated.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'OFFLINE',
+ ],
+ ],
+ [
+ 'name' => 'FuzzyName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to fuzzy match devices by the value of the **DeviceName** parameter. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false** (default)'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'NextToken' => [
+ 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n"
+ ."\n"
+ .'If NextToken is empty, no next page exists.'."\n",
+ 'type' => 'string',
+ 'example' => 'TGlzdFJlc291***',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'A system exception occurred.'."\n",
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of devices.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '24',
+ ],
+ 'PageCount' => [
+ 'description' => 'The total number of pages returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'Page' => [
+ 'description' => 'The page number.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'SimpleDeviceInfo' => [
+ 'description' => 'The devices returned after the request succeeds. The information is included in the **SimpleDeviceInfo** field.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The device status. Valid values:'."\n"
+ ."\n"
+ .'* **ONLINE**: The device is online.'."\n"
+ .'* **OFFLINE**: The device is offline.'."\n"
+ .'* **UNACTIVE**: The device is not activated.'."\n"
+ .'* **DISABLE**: The device is deactivated.'."\n",
+ 'type' => 'string',
+ 'example' => 'ONLINE',
+ ],
+ 'ProductName' => [
+ 'description' => 'The ProductName of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'light',
+ ],
+ 'UtcActiveTime' => [
+ 'description' => 'The time when the device was activated. The time is in the UTC format.'."\n",
+ 'type' => 'string',
+ 'example' => '2018-08-06T02:48:41.000Z',
+ ],
+ 'ActiveTime' => [
+ 'description' => 'The time when the device was activated.'."\n",
+ 'type' => 'string',
+ 'example' => '2018-08-06 10:48:41',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1rYuVF***',
+ ],
+ 'LastOnlineTime' => [
+ 'description' => 'The last time when the device went online.'."\n",
+ 'type' => 'string',
+ 'example' => '2018-08-06 13:43:12',
+ ],
+ 'NodeType' => [
+ 'description' => 'The node type of the product. Valid values:'."\n"
+ ."\n"
+ .'* **0**: device. A device can connect to IoT Platform directly, or be attached to a gateway as a sub-device and then connect to IoT Platform. Sub-devices cannot be attached to a device.'."\n"
+ .'* **1**: gateway. Sub-devices can be attached to a gateway. A gateway can manage sub-devices, maintain topological relationships with sub-devices, and synchronize topological relationships to IoT Platform.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'UtcLastOnlineTime' => [
+ 'description' => 'The last time when the device went online. The time is in the UTC format.'."\n",
+ 'type' => 'string',
+ 'example' => '2018-08-06T05:43:12.000Z',
+ ],
+ 'Nickname' => [
+ 'description' => 'The alias of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'detectors_in_beijing',
+ ],
+ 'CategoryKey' => [
+ 'description' => 'The identifier of the category to which the product belongs.'."\n"
+ ."\n"
+ .'This parameter is returned if the product uses the Thing Specification Language (TSL) model of a standard category that is pre-defined by IoT Platform.'."\n",
+ 'type' => 'string',
+ 'example' => 'Lighting',
+ ],
+ 'IotId' => [
+ 'description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.group.NotExistedGroup',
+ 'errorMessage' => 'The specified device group does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.device.FuzzyRuntimeSearchMinLengthLimit',
+ 'errorMessage' => 'Fuzzy runtime search length must exceed 4.',
+ ],
+ [
+ 'errorCode' => 'iot.device.RegionNotSupportDynamicGroup',
+ 'errorMessage' => 'The region does not currently support the dynamic group feature.',
+ ],
+ [
+ 'errorCode' => 'iot.common.APINotSupportedInInstance',
+ 'errorMessage' => 'This API operation is not supported in this instance.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"TGlzdFJlc291***\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"Total\\": 24,\\n \\"PageCount\\": 2,\\n \\"Page\\": 1,\\n \\"Data\\": {\\n \\"SimpleDeviceInfo\\": [\\n {\\n \\"Status\\": \\"ONLINE\\",\\n \\"ProductName\\": \\"test\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"UtcActiveTime\\": \\"2018-08-06T02:48:41.000Z\\",\\n \\"ActiveTime\\": \\"2018-08-06 10:48:41\\",\\n \\"ProductKey\\": \\"a1rYuVF***\\",\\n \\"LastOnlineTime\\": \\"2018-08-06 13:43:12\\",\\n \\"NodeType\\": 0,\\n \\"UtcLastOnlineTime\\": \\"2018-08-06T05:43:12.000Z\\",\\n \\"Nickname\\": \\"detectors_in_beijing\\",\\n \\"CategoryKey\\": \\"Lighting\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDynamicGroupDevicesResponse>\\n<NextToken>TGlzdFJlc291***</NextToken>\\n<PageCount>2</PageCount>\\n<PageSize>10</PageSize>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Total>24</Total>\\n<Page>1</Page>\\n<Data>\\n <SimpleDeviceInfo>\\n <LastOnlineTime>2018-08-06 13:43:12</LastOnlineTime>\\n <UtcActiveTime>2018-08-06T02:48:41.000Z</UtcActiveTime>\\n <Status>ONLINE</Status>\\n <IotId>Q7uOhVRdZRRlDnTLv****00100</IotId>\\n <CategoryKey>Lighting</CategoryKey>\\n <ProductName>test</ProductName>\\n <UtcLastOnlineTime>2018-08-06T05:43:12.000Z</UtcLastOnlineTime>\\n <ActiveTime>2018-08-06 10:48:41</ActiveTime>\\n <NodeType>0</NodeType>\\n <ProductKey>a1rYuVF***</ProductKey>\\n <Nickname>detectors_in_beijing</Nickname>\\n <DeviceName>light</DeviceName>\\n </SimpleDeviceInfo>\\n</Data>\\n<Success>true</Success>\\n</QueryDynamicGroupDevicesResponse>","errorExample":""}]',
+ 'title' => 'QueryDynamicGroupDevices',
+ 'summary' => 'Queries the devices in a dynamic group',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* The dynamic group feature is available for public instances and Enterprise Edition instances in the China (Shanghai) region. For more information, see [Manage instances](~~147356~~).'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run up to 50 queries per second (QPS).'."\n"
+ ."\n"
+ .' **'."\n"
+ ."\n"
+ .' **Note**The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceGroupList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the entries to return on each page. Maximum value: 200. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'SuperGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the parent group. If you need to query the subgroups of a parent group, specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '8vDubXr4nUvZkNgk9mle010200',
+ ],
+ ],
+ [
+ 'name' => 'GroupName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the group.'."\n"
+ ."\n"
+ .'* If you specify this parameter, the system queries groups by group name. You can perform a fuzzy search by group name.'."\n"
+ .'* If you do not specify this parameter, the system queries all groups.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'GroupName1',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'GroupTypes',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The type of the group to be queried.'."\n"
+ ."\n"
+ .'Set the value to **LINK_PLATFORM_DYNAMIC**. This value indicates a dynamic group. If you do not specify this parameter, a static group is queried by default.'."\n",
+ ],
+ 'required' => false,
+ 'example' => 'LINK_PLATFORM_DYNAMIC',
+ 'maxItems' => 2,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CurrentPage' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'BEFCA316-D6C7-470C-81ED-1FF4FFD4AA0D',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries return on each page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of records that were returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '24',
+ ],
+ 'PageCount' => [
+ 'description' => 'The total number of pages.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'GroupInfo' => [
+ 'description' => 'The group information returned if the call succeeds. For more information, see the GroupInfo parameter.'."\n"
+ ."\n"
+ .'> The returned group information is sorted in reverse chronological order in which the groups are created.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'GroupName' => [
+ 'description' => 'The name of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'test1',
+ ],
+ 'GroupId' => [
+ 'description' => 'The ID of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'Kzt9FD8wje8o****',
+ ],
+ 'GroupType' => [
+ 'description' => 'The type of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'LINK_PLATFORM_DYNAMIC',
+ ],
+ 'GroupDesc' => [
+ 'description' => 'The description of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'usefulGroup',
+ ],
+ 'UtcCreate' => [
+ 'description' => 'The time when the group was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2018-10-09T02:58:34.000Z',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"BEFCA316-D6C7-470C-81ED-1FF4FFD4AA0D\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"Total\\": 24,\\n \\"PageCount\\": 3,\\n \\"Data\\": {\\n \\"GroupInfo\\": [\\n {\\n \\"GroupName\\": \\"test1\\",\\n \\"GroupId\\": \\"Kzt9FD8wje8o****\\",\\n \\"GroupType\\": \\"LINK_PLATFORM_DYNAMIC\\",\\n \\"GroupDesc\\": \\"usefulGroup\\",\\n \\"UtcCreate\\": \\"2018-10-09T02:58:34.000Z\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceGroupListResponse>\\n<PageCount>3</PageCount>\\n<Data>\\n <GroupInfo>\\n <GroupName>test1</GroupName>\\n <UtcCreate>2021-10-01T02:58:34.000Z</UtcCreate>\\n <GroupId>Kzt9FD8wje8o***</GroupId>\\n <GroupType>LINK_PLATFORM_DYNAMIC</GroupType>\\n </GroupInfo>\\n <GroupInfo>\\n <GroupName>test2</GroupName>\\n <UtcCreate>2021-10-01T02:56:40.000Z</UtcCreate>\\n <GroupId>0ayrSQ3DSd7***</GroupId>\\n <GroupType>LINK_PLATFORM_DYNAMIC</GroupType>\\n </GroupInfo>\\n <GroupInfo>\\n <GroupDesc>Test</GroupDesc>\\n <GroupName>test3</GroupName>\\n <UtcCreate>2021-10-01T05:38:27.000Z</UtcCreate>\\n <GroupId>oWXlIQeFZtzC***</GroupId>\\n <GroupType>LINK_PLATFORM_DYNAMIC</GroupType>\\n </GroupInfo>\\n <GroupInfo>\\n <GroupName>ylv0915</GroupName>\\n <UtcCreate>2021-10-01T04:51:56.000Z</UtcCreate>\\n <GroupId>SfEiVapLPUjB***</GroupId>\\n <GroupType>LINK_PLATFORM_DYNAMIC</GroupType>\\n </GroupInfo>\\n <GroupInfo>\\n <GroupName>ydlv</GroupName>\\n <UtcCreate>2021-10-01T14:35:51.000Z</UtcCreate>\\n <GroupId>z2S2h9NsDTZm***</GroupId>\\n <GroupType>LINK_PLATFORM_DYNAMIC</GroupType>\\n </GroupInfo>\\n <GroupInfo>\\n <GroupName>ldh_group_3</GroupName>\\n <UtcCreate>2021-10-01T12:26:20.000Z</UtcCreate>\\n <GroupId>chn5fkjin***</GroupId>\\n <GroupType>LINK_PLATFORM_DYNAMIC</GroupType>\\n </GroupInfo>\\n <GroupInfo>\\n <GroupDesc>ddd</GroupDesc>\\n <GroupName>ylvgisbim</GroupName>\\n <UtcCreate>2021-10-01T11:41:20.000Z</UtcCreate>\\n <GroupId>ncUZ8DjWYaB9***</GroupId>\\n <GroupType>LINK_PLATFORM_DYNAMIC</GroupType>\\n </GroupInfo>\\n <GroupInfo>\\n <GroupName>abc</GroupName>\\n <UtcCreate>2021-10-01T09:14:30.000Z</UtcCreate>\\n <GroupId>zpdvwxzBdt4F***</GroupId>\\n <GroupType>LINK_PLATFORM_DYNAMIC</GroupType>\\n </GroupInfo>\\n <GroupInfo>\\n <GroupName>test11</GroupName>\\n <UtcCreate>2021-10-01T07:22:39.000Z</UtcCreate>\\n <GroupId>BTaudF16X2xK***</GroupId>\\n <GroupType>LINK_PLATFORM_DYNAMIC</GroupType>\\n </GroupInfo>\\n <GroupInfo>\\n <GroupName>testy</GroupName>\\n <UtcCreate>2021-10-01T01:58:06.000Z</UtcCreate>\\n <GroupId>PrTm3VOeggPw***</GroupId>\\n <GroupType>LINK_PLATFORM_DYNAMIC</GroupType>\\n </GroupInfo>\\n</Data>\\n<PageSize>10</PageSize>\\n<RequestId>BEFCA316-D6C7-470C-81ED-1FF4FFD4AA0D</RequestId>\\n<CurrentPage>1</CurrentPage>\\n<Success>true</Success>\\n<Total>24</Total>\\n</QueryDeviceGroupListResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceGroupList',
+ 'summary' => 'Queries groups by page.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 100 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'SetDeviceGroupTags' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. On the **Overview** page in the IoT Platform console, you can view the **ID** of the instance.'."\n"
+ ."\n\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'>* If the **Overview** page or instance ID is not displayed in the IoT Platform console, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information about the instance, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the group. The ID is the globally unique identifier (GUID) for the group.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'W16X8Tvdosec****',
+ ],
+ ],
+ [
+ 'name' => 'TagString',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The tag data in the JSON format. The TagString parameter specifies multiple tags in the format of key-value pairs. You must specify **tagKey** and **tagValue** for each tag.'."\n"
+ ."\n"
+ .'* **tagKey**: the tag key. The key must be 2 to 30 characters in length, and can contain letters, digits, and periods (.).'."\n"
+ .'* **tagValue**: the tag value. Each value can contain letters, digits, underscores (\\_), and hyphens (-). The value must be 1 to 128 characters in length.'."\n"
+ ."\n"
+ .'Separate multiple tags with commas (,). Example: `[{"tagKey":"h1","tagValue":"rr"},{"tagKey":"7h","tagValue":"rr"}]`'."\n"
+ ."\n"
+ .'If you specify a new value for an existing tag, the new tag value overwrites the original value.'."\n"
+ ."\n"
+ .'If you want to delete a tag, you do not need to specify the key and value for the tag.'."\n"
+ ."\n"
+ .'**'."\n"
+ ."\n"
+ .'**Important** `abc` is a key that is reserved by IoT Platform. You cannot set **tagKey** to abc. If you set `tagKey` to abc, the abc tag is automatically filtered when you query tags.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[{"tagKey":"h1","tagValue":"rr"},{"tagKey":"7h","tagValue":"rr"}]',
+ ],
+ ],
+ [
+ 'name' => 'GroupType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the group.'."\n"
+ ."\n"
+ .'You do not need to configure this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'LINK_PLATFORM_DYNAMIC',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information about the error codes, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '12CFDAF1-99D9-42E0-8C2F-F281DA5E8953',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"12CFDAF1-99D9-42E0-8C2F-F281DA5E8953\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<SetDeviceGroupTagsResponse>\\r\\n <RequestId>12CFDAF1-99D9-42E0-8C2F-F281DA5E8953</RequestId>\\r\\n <Success>true</Success>\\r\\n</SetDeviceGroupTagsResponse>","errorExample":""}]',
+ 'title' => 'SetDeviceGroupTags',
+ 'summary' => 'Adds, updates, or deletes group tags.',
+ 'description' => 'A device group can have a maximum of 100 tags.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 50 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceGroupTagList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the group. The ID is the globally unique identifier (GUID) for the group.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'W16X8Tvdosec****',
+ ],
+ ],
+ [
+ 'name' => 'GroupType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the group.'."\n"
+ ."\n"
+ .'If you set the value to **LINK_PLATFORM_DYNAMIC**, a dynamic group is queried. If you do not specify this parameter, a static group is queried by default.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'LINK_PLATFORM_DYNAMIC',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '214154FF-9D47-4E3F-AAAD-F4CE67F41060',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'GroupTagInfo' => [
+ 'description' => 'The tag information returned if the call succeeds. For more information, see the following **GroupTagInfo** parameter.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TagValue' => [
+ 'description' => 'The value of the tag.'."\n",
+ 'type' => 'string',
+ 'example' => 'bulb',
+ ],
+ 'TagKey' => [
+ 'description' => 'The key of the tag.'."\n",
+ 'type' => 'string',
+ 'example' => 'room1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"214154FF-9D47-4E3F-AAAD-F4CE67F41060\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"GroupTagInfo\\": [\\n {\\n \\"TagValue\\": \\"bulb\\",\\n \\"TagKey\\": \\"room1\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<QueryDeviceGroupTagListResponse>\\r\\n <Data>\\r\\n <GroupTagInfo>\\r\\n <TagValue>bulb</TagValue>\\r\\n <TagKey>room1</TagKey>\\r\\n </GroupTagInfo>\\r\\n </Data>\\r\\n <RequestId>214154FF-9D47-4E3F-AAAD-F4CE67F41060</RequestId>\\r\\n <Success>true</Success>\\r\\n</QueryDeviceGroupTagListResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceGroupTagList',
+ 'summary' => 'Queries the tags of a group.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceGroupByDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1SKk9K****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test456',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.',
+ 'type' => 'string',
+ 'example' => '7941C8CD-7764-4A94-8CD9-E2762D4A73AC',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'GroupInfos' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'GroupInfo' => [
+ 'description' => 'The group information returned if the call succeeds. For more information, see the following GroupInfo parameter.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'GroupName' => [
+ 'description' => 'The name of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'father1543152336554',
+ ],
+ 'GroupId' => [
+ 'description' => 'The ID of the group.'."\n",
+ 'type' => 'string',
+ 'example' => '6a3FF2XE2BKa****',
+ ],
+ 'GroupType' => [
+ 'description' => 'The type of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'LINK_PLATFORM_DYNAMIC',
+ ],
+ 'GroupDesc' => [
+ 'description' => 'The description of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'father desc',
+ ],
+ 'UtcCreate' => [
+ 'description' => 'The time when the group was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2018-11-25T13:25:37.000Z',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"7941C8CD-7764-4A94-8CD9-E2762D4A73AC\\",\\n \\"Success\\": true,\\n \\"GroupInfos\\": {\\n \\"GroupInfo\\": [\\n {\\n \\"GroupName\\": \\"father1543152336554\\",\\n \\"GroupId\\": \\"6a3FF2XE2BKa****\\",\\n \\"GroupType\\": \\"LINK_PLATFORM_DYNAMIC\\",\\n \\"GroupDesc\\": \\"father desc\\",\\n \\"UtcCreate\\": \\"2018-11-25T13:25:37.000Z\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceGroupByDeviceResponse>\\n<RequestId>7941C8CD-7764-4A94-8CD9-E2762D4A73AC</RequestId>\\n<GroupInfos>\\n <GroupInfo>\\n <GroupDesc>father desc</GroupDesc>\\n <GroupName>father1543152336554</GroupName>\\n <UtcCreate>2018-11-25T13:25:37.000Z</UtcCreate>\\n <GroupId>6a3FF2XE2BKa***</GroupId>\\n <GroupType>LINK_PLATFORM_DYNAMIC</GroupType>\\n </GroupInfo>\\n</GroupInfos>\\n<Success>true</Success>\\n</QueryDeviceGroupByDeviceResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceGroupByDevice',
+ 'summary' => 'Queries groups to which a device belongs.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* You can add a device to a maximum of 10 groups.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QuerySuperDeviceGroup' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the subgroup. The ID is the globally unique identifier (GUID) for the group.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'DMoI2Kby5m62****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '7411716B-A488-4EEB-9AA0-6DB05AD2491F',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'GroupInfo' => [
+ 'description' => 'The parent group information returned if the call succeeds. For more information, see the following **GroupInfo** parameter.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'GroupId' => [
+ 'description' => 'The ID of the parent group.'."\n",
+ 'type' => 'string',
+ 'example' => 'tDQvBJqbUyHskDse',
+ ],
+ 'GroupName' => [
+ 'description' => 'The name of the parent group.'."\n",
+ 'type' => 'string',
+ 'example' => 'IOTTEST',
+ ],
+ 'GroupDesc' => [
+ 'description' => 'The description of the parent group.'."\n",
+ 'type' => 'string',
+ 'example' => 'A test',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"7411716B-A488-4EEB-9AA0-6DB05AD2491F\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"GroupInfo\\": [\\n {\\n \\"GroupId\\": \\"tDQvBJqbUyHskDse\\",\\n \\"GroupName\\": \\"IOTTEST\\",\\n \\"GroupDesc\\": \\"A test\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<QuerySuperDeviceGroupResponse>\\r\\n <Data>\\r\\n <GroupName>IOTTEST</GroupName>\\r\\n <GroupId>tDQvBJqbUyHskDse</GroupId>\\r\\n <GroupDesc>A test.</GroupDesc>\\r\\n </Data>\\r\\n <RequestId>7411716B-A488-4EEB-9AA0-6DB05AD2491F</RequestId>\\r\\n <Success>true</Success>\\r\\n</QuerySuperDeviceGroupResponse>","errorExample":""}]',
+ 'title' => 'QuerySuperDeviceGroup',
+ 'summary' => 'Queries the information of a parent group by subgroup ID.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceListByDeviceGroup' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the group. The ID is the globally unique identifier (GUID) for the group.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '7DIgqIl1Ijnh****',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'B1A921D9-1061-4D45-9F12-EA6B0FDEDE30',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of devices.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'PageCount' => [
+ 'description' => 'The total number of pages.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Page' => [
+ 'description' => 'The number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'SimpleDeviceInfo' => [
+ 'description' => 'The device list information returned if the call succeeds. For more information, see the following **SimpleDeviceInfo** parameter.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1hWjHD****',
+ ],
+ 'ProductName' => [
+ 'description' => 'The ProductName of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'WIFIdevice',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The name of each device.'."\n",
+ 'type' => 'string',
+ 'example' => 'ios_1207_08',
+ ],
+ 'IotId' => [
+ 'description' => 'The ID of the device. The ID is the unique identifier that is issued by IoT Platform to the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'TfmUAeJjQQhCPH84UVNn0010c6****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B1A921D9-1061-4D45-9F12-EA6B0FDEDE30\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"Total\\": 3,\\n \\"PageCount\\": 1,\\n \\"Page\\": 1,\\n \\"Data\\": {\\n \\"SimpleDeviceInfo\\": [\\n {\\n \\"ProductKey\\": \\"a1hWjHD****\\",\\n \\"ProductName\\": \\"WIFIdevice\\",\\n \\"DeviceName\\": \\"ios_1207_08\\",\\n \\"IotId\\": \\"TfmUAeJjQQhCPH84UVNn0010c6****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>\\r\\n<QueryDeviceListByDeviceGroupResponse>\\r\\n <PageCount>1</PageCount>\\r\\n <Data>\\r\\n <SimpleDeviceInfo>\\r\\n <DeviceName>ios_1207_08</DeviceName>\\r\\n <ProductKey>a1hWjHD****</ProductKey>\\r\\n <ProductName>WIFIdevice</ProductName>\\r\\n <IotId>TfmUAeJjQQhCPH84UVNn0010c6****</IotId>\\r\\n </SimpleDeviceInfo>\\r\\n <SimpleDeviceInfo>\\r\\n <DeviceName>ios_1207_07</DeviceName>\\r\\n <ProductKey>a1hWjHD****</ProductKey>\\r\\n <ProductName>WIFIgateway</ProductName>\\r\\n <IotId>wVPeAksaboXBlRgvZNHQ001031****</IotId>\\r\\n </SimpleDeviceInfo>\\r\\n <SimpleDeviceInfo>\\r\\n <DeviceName>E1IPK25iL4CTOwnuI2yt</DeviceName>\\r\\n <ProductKey>a1mV8bK****</ProductKey>\\r\\n <ProductName>yanlv</ProductName>\\r\\n <IotId>E1IPK25iL4CTOwnuI2yt001059****</IotId>\\r\\n </SimpleDeviceInfo>\\r\\n </Data>\\r\\n <PageSize>10</PageSize>\\r\\n <Page>1</Page>\\r\\n <RequestId>B1A921D9-1061-4D45-9F12-EA6B0FDEDE30</RequestId>\\r\\n <Success>true</Success>\\r\\n <Total>3</Total>\\r\\n</QueryDeviceListByDeviceGroupResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceListByDeviceGroup',
+ 'summary' => 'Queries the devices of a group.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceGroupByTags' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TagValue' => [
+ 'description' => 'The value of the tag.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'tag',
+ ],
+ 'TagKey' => [
+ 'description' => 'The key of each tag.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'group',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '9599EE98-1642-4FCD-BFC4-039E458A4693',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned on each page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of records.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageCount' => [
+ 'description' => 'The total number of pages.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Page' => [
+ 'description' => 'The number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DeviceGroup' => [
+ 'description' => 'The group information returned if the call succeeds.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'GroupName' => [
+ 'description' => 'The name of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'test11',
+ ],
+ 'GroupId' => [
+ 'description' => 'The ID of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'Z0ElGF5aqc0t****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9599EE98-1642-4FCD-BFC4-039E458A4693\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"Total\\": 1,\\n \\"PageCount\\": 1,\\n \\"Page\\": 1,\\n \\"Data\\": {\\n \\"DeviceGroup\\": [\\n {\\n \\"GroupName\\": \\"test11\\",\\n \\"GroupId\\": \\"Z0ElGF5aqc0t****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>\\r\\n<QueryDeviceGroupByTagsResponse> \\r\\n <PageCount>1</PageCount> \\r\\n <Data> \\r\\n <DeviceGroup> \\r\\n <GroupName>test11</GroupName> \\r\\n <GroupId>Z0ElGF5aqc0t****</GroupId> \\r\\n </DeviceGroup> \\r\\n </Data> \\r\\n <Page>1</Page> \\r\\n <PageSize>10</PageSize> \\r\\n <RequestId>9599EE98-1642-4FCD-BFC4-039E458A4693</RequestId> \\r\\n <Success>true</Success> \\r\\n <Total>1</Total> \\r\\n</QueryDeviceGroupByTagsResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceGroupByTags',
+ 'summary' => 'Queries device groups by tag.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateThingModel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product.'."\n"
+ ."\n"
+ .'You can view the ProductKey on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the [QueryProductList](~~69271~~) operation.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'ThingModelJson',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The details of the new features.'."\n"
+ ."\n"
+ .'> You can specify a maximum of 10 features.'."\n"
+ ."\n"
+ .'Example:'."\n"
+ ."\n"
+ .'```'."\n"
+ ."\n"
+ .'{'."\n"
+ .' "properties": ['."\n"
+ .' {'."\n"
+ .' "custom": true,'."\n"
+ .' "dataSpecsList": ['."\n"
+ .' {'."\n"
+ .' "childDataType": "TEXT",'."\n"
+ .' "childName": "CCID number of the device SIM card",'."\n"
+ .' "dataSpecs": {'."\n"
+ .' "custom": true,'."\n"
+ .' "dataType": "TEXT",'."\n"
+ .' "length": 20'."\n"
+ .' },'."\n"
+ .' "dataType": "STRUCT",'."\n"
+ .' "identifier": "CCID",'."\n"
+ .' "name": "CCID number of the device SIM card"'."\n"
+ .' },'."\n"
+ .' {'."\n"
+ .' "childDataType": "INT",'."\n"
+ .' "childName": "Battery power",'."\n"
+ .' "dataSpecs": {'."\n"
+ .' "custom": true,'."\n"
+ .' "dataType": "INT",'."\n"
+ .' "max": "60000",'."\n"
+ .' "min": "0",'."\n"
+ .' "step": "1"'."\n"
+ .' },'."\n"
+ .' "dataType": "STRUCT",'."\n"
+ .' "identifier": "battery",'."\n"
+ .' "name": "Battery power"'."\n"
+ .' },'."\n"
+ .' {'."\n"
+ .' "childDataType": "TEXT",'."\n"
+ .' "childName": "Other information",'."\n"
+ .' "dataSpecs": {'."\n"
+ .' "custom": true,'."\n"
+ .' "dataType": "TEXT",'."\n"
+ .' "length": 1024'."\n"
+ .' },'."\n"
+ .' "dataType": "STRUCT",'."\n"
+ .' "identifier": "other_info",'."\n"
+ .' "name": "Other information"'."\n"
+ .' }'."\n"
+ .' ],'."\n"
+ .' "dataType": "STRUCT",'."\n"
+ .' "identifier": "DEV_INFO",'."\n"
+ .' "name": "Device information",'."\n"
+ .' "productKey": "a1T***",'."\n"
+ .' "propertyId": 18786548,'."\n"
+ .' "required": false,'."\n"
+ .' "rwFlag": "READ_ONLY"'."\n"
+ .' },'."\n"
+ .' {'."\n"
+ .' "custom": true,'."\n"
+ .' "dataSpecs": {'."\n"
+ .' "childDataType": "INT",'."\n"
+ .' "custom": true,'."\n"
+ .' "dataType": "ARRAY",'."\n"
+ .' "size": 1,'."\n"
+ .' "dataSpecs": {'."\n"
+ .' "custom": true,'."\n"
+ .' "dataType": "INT",'."\n"
+ .' "max": "65535",'."\n"
+ .' "min": "0",'."\n"
+ .' "step": "1",'."\n"
+ .' "unit": "ppm",'."\n"
+ .' "unitName": "Parts per million"'."\n"
+ .' }'."\n"
+ .' },'."\n"
+ .' "dataType": "ARRAY",'."\n"
+ .' "identifier": "airRH_SR",'."\n"
+ .' "name": "Dehumidifier humidity",'."\n"
+ .' "productKey": "a1T***",'."\n"
+ .' "propertyId": 18786551,'."\n"
+ .' "required": false,'."\n"
+ .' "rwFlag": "READ_ONLY"'."\n"
+ .' }'."\n"
+ .' ],'."\n"
+ .' "services": [...],'."\n"
+ .' "events": [...]'."\n"
+ .'}'."\n"
+ .' '."\n"
+ .'```'."\n"
+ ."\n"
+ .'In the **properties** structure of the **ThingModelJson** parameter, you can use the **extendConfig** parameter to define the extended information of the TSL model. For more information, see [Data structure of ThingModelJson](~~150457~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'FunctionBlockId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the custom TSL module. Each identifier is unique in a product. The identifier must be 1 to 30 characters in length, and can contain letters, digits, and underscores (\\_).'."\n"
+ ."\n"
+ .'This parameter must be used in combination with the **FunctionBlockName** parameter. If you do not specify this parameter, the system imports the default module.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'BatteryModule',
+ ],
+ ],
+ [
+ 'name' => 'FunctionBlockName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the custom module. The name must be 4 to 30 characters in length, and can contain letters, digits, and underscores (\\_).'."\n"
+ ."\n"
+ .'This parameter must be used in combination with the **FunctionBlockId** parameter. If you do not specify this parameter, the system imports the default module.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateThingModelResponse>\\n<RequestId>9E76053E-26ED-4AB4-AE58-8AFC3F1E7E8E</RequestId>\\n<Success>true</Success>\\n</CreateThingModelResponse>","errorExample":""}]',
+ 'title' => 'CreateThingModel',
+ 'summary' => 'Adds a Thing Specification Language (TSL) feature to a specified product. You can specify the extended information about the feature.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* If a product is published, you must call the [CancelReleaseProduct](~~213875~~) operation to unpublish the product before you call this operation.'."\n"
+ ."\n"
+ .'* Before you call the operation, you can use the [json-schema](https://github.com/everit-org/json-schema?spm=a2c4g.11186623.2.23.575832d9zD7fZb) library to verify the input parameters in **ThingModelJson**. For more information, see [Data structure of ThingModelJson](~~150457~~).'."\n"
+ ."\n"
+ .'* You can call this operation to add a maximum of 10 TSL features. TSL features include properties, services, and events.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateThingModel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product.'."\n"
+ ."\n"
+ .'You can view the ProductKey on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the [QueryProductList](~~69271~~) operation.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'Identifier',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the feature.'."\n"
+ ."\n"
+ .'You can call the [GetThingModelTsl](~~150319~~) operation and view the identifier in the **TslStr** response parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Temperature',
+ ],
+ ],
+ [
+ 'name' => 'ThingModelJson',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The updated details of the feature.'."\n"
+ ."\n"
+ .'* If you specify the **Identifier** parameter, you can define only the identifier of the feature.'."\n"
+ .'* If you do not specify the **Identifier** parameter, you can define a maximum of 50 input and output parameters for a service or event.'."\n"
+ ."\n"
+ .'For more information about how to specify this parameter, see [Data structure of ThingModelJson](~~150457~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'FunctionBlockId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the custom TSL module. Each identifier is unique in a product.'."\n"
+ ."\n"
+ .'If you do not specify this parameter or the **FunctionBlockName** parameter, the system updates the features of the default module.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'BatteryModule',
+ ],
+ ],
+ [
+ 'name' => 'FunctionBlockName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the custom module. The name must be 4 to 30 characters in length, and can contain letters, digits, and underscores (\\_).'."\n"
+ ."\n"
+ .'* If you do not specify this parameter or the **FunctionBlockId** parameter, the system updates the features of the default module.'."\n"
+ .'* If you specify this parameter, the parameter must be used in combination with the **FunctionBlockId** parameter. You can modify the name of the specified custom module. The name corresponds to the value of the **FunctionBlockId** parameter.'."\n"
+ ."\n"
+ .'> You cannot modify the name of the default module.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateThingModelResponse>\\n<RequestId>5573D217-8E3E-47AD-9331-2083B88E64B2</RequestId>\\n<Success>true</Success>\\n</UpdateThingModelResponse>","errorExample":""}]',
+ 'title' => 'UpdateThingModel',
+ 'summary' => 'Updates a Thing Specification Language (TSL) feature of a specified product. You can also updates the extended information about the feature.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* If a product is published, you must call the [CancelReleaseProduct](~~213875~~) operation to unpublish the product before you call this operation.'."\n"
+ ."\n"
+ .'* When you call this operation, you can use the [json-schema](https://github.com/everit-org/json-schema?spm=a2c4g.11186623.2.23.575832d9zD7fZb) library to verify the input parameters in **ThingModelJson**. For more information, see [Data structure of ThingModelJson](~~150457~~).'."\n"
+ ."\n"
+ .'* You can call this operation to update only one feature. TSL features include properties, services, and events.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryThingModel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n"
+ ."\n"
+ .'> You cannot specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm4l5tcwd****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'ModelVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The version number of the TSL model.'."\n"
+ ."\n"
+ .'You can call the [ListThingModelVersion](~~150318~~) operation to view the version numbers of the TSL model for a product.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the TSL model that is in the draft status is queried. If you specify this parameter, the TSL model of the specified version is queried.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v1.0.0',
+ ],
+ ],
+ [
+ 'name' => 'FunctionBlockId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the custom TSL module. Each identifier is unique in a product.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the default module is queried.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'BatteryModule',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The **ProductKey** of the product.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1BwAGV****',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data returned if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ThingModelJson' => [
+ 'description' => 'The features of the TSL model. The TSL data format of the default module is different from the TSL data format of a custom module.'."\n"
+ ."\n"
+ .'For more information about the data format of the ThingModelJson parameter, see [Data structure of ThingModelJson](~~150457~~).'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ThingModelJson\\": \\"{ \\\\\\"productKey\\\\\\":\\\\\\"a1Jw4id***\\\\\\", \\\\\\"_ppk\\\\\\":{ \\\\\\"version\\\\\\":\\\\\\"1.1\\\\\\", \\\\\\"description\\\\\\":\\\\\\"xxx\\\\\\" }, \\\\\\"properties\\\\\\":[ { \\\\\\"identifier\\\\\\": \\\\\\"SimCardType\\\\\\", \\\\\\"dataSpecs\\\\\\": { \\\\\\"max\\\\\\": \\\\\\"1\\\\\\", \\\\\\"dataType\\\\\\": \\\\\\"INT\\\\\\", \\\\\\"unit\\\\\\": \\\\\\"mmHg\\\\\\", \\\\\\"min\\\\\\": \\\\\\"0\\\\\\", \\\\\\"step\\\\\\": \\\\\\"1\\\\\\" }, \\\\\\"std\\\\\\": false, \\\\\\"custom\\\\\\": true, \\\\\\"dataType\\\\\\": \\\\\\"INT\\\\\\", \\\\\\"rwFlag\\\\\\": \\\\\\"READ_ONLY\\\\\\", \\\\\\"productKey\\\\\\": \\\\\\"a1Jw4idFWHX\\\\\\", \\\\\\"required\\\\\\": false, \\\\\\"customFlag\\\\\\": true, \\\\\\"name\\\\\\": \\\\\\"sim卡类型\\\\\\" } ], \\\\\\"services\\\\\\":[], \\\\\\"events\\\\\\":[] }\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryThingModelResponse>\\n <RequestId>1F9041A2-ED5B-4A5A-9C44-598E28C0B434</RequestId>\\n <Data>\\n <ThingModelJson>{\\"_ppk\\":{\\"version\\":\\"1594253010934\\"},\\"events\\":[],\\"productKey\\":\\"a114xeJ****\\",\\"properties\\":[{\\"configCode\\":\\"8C03F0EEC63D4897BF2637F89AE36B011594227294067\\",\\"custom\\":true,\\"customFlag\\":true,\\"dataSpecs\\":{\\"custom\\":true,\\"dataType\\":\\"INT\\",\\"max\\":\\"1\\",\\"min\\":\\"0\\",\\"step\\":\\"1\\",\\"unit\\":\\"ppb\\"},\\"dataType\\":\\"INT\\",\\"description\\":\\"1\\",\\"extendConfig\\":\\"{\\\\\\"originalDataType\\\\\\":{\\\\\\"specs\\\\\\":{\\\\\\"registerCount\\\\\\":1,\\\\\\"reverseRegister\\\\\\":0,\\\\\\"swap16\\\\\\":0},\\\\\\"type\\\\\\":\\\\\\"bool\\\\\\"},\\\\\\"identifier\\\\\\":\\\\\\"WakeUpData\\\\\\",\\\\\\"registerAddress\\\\\\":\\\\\\"0x04\\\\\\",\\\\\\"scaling\\\\\\":1,\\\\\\"writeFunctionCode\\\\\\":0,\\\\\\"operateType\\\\\\":\\\\\\"inputStatus\\\\\\",\\\\\\"pollingTime\\\\\\":1000,\\\\\\"trigger\\\\\\":1}\\",\\"identifier\\":\\"WakeUpData\\",\\"name\\":\\"唤醒数据\\",\\"productKey\\":\\"a114xeJGj2p\\",\\"required\\":false,\\"rwFlag\\":\\"READ_ONLY\\",\\"std\\":false}],\\"services\\":[]}</ThingModelJson>\\n </Data>\\n <Success>true</Success>\\n</QueryThingModelResponse>","errorExample":""}]',
+ 'title' => 'QueryThingModel',
+ 'summary' => 'Queries the TSL features of a specified product.',
+ 'description' => 'TSL features include properties, services, and events.'."\n"
+ ."\n"
+ .'If you add custom modules to a TSL model and the value of the **FunctionBlockId** parameter is empty, you can obtain the TSL features of each custom module. If the value of the FunctionBlockId parameter is not empty, you can obtain the TSL features of a specified custom module.'."\n"
+ ."\n"
+ .'For more information about the data format of the **ThingModelJson** parameter, see [Data structure of ThingModelJson](~~150457~~).'."\n"
+ ."\n\n"
+ .'## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS). '."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CopyThingModel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. On the **Overview** page in the IoT Platform console, you can view the ID of the instance.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify this parameter. Otherwise, the call fails.'."\n"
+ .'>* If the **Overview** page or instance ID is not displayed in the IoT Platform console, ignore this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n"
+ ."\n"
+ .'> You do not need to configure this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm4l5tcwd****',
+ ],
+ ],
+ [
+ 'name' => 'SourceProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the source product.'."\n"
+ ."\n"
+ .'You can view the ProductKey on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the [QueryProductList](~~69271~~) operation.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'TargetProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the destination product.'."\n"
+ ."\n"
+ .'You can view the ProductKey on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the [QueryProductList](~~69271~~) operation.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwwG0****',
+ ],
+ ],
+ [
+ 'name' => 'SourceModelVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The version of the TSL model that you want to copy.'."\n"
+ ."\n"
+ .'You can call the [ListThingModelVersion](~~150318~~) operation to view the TSL model versions of a product.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'V1.0.0',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CopyThingModelResponse>\\n<RequestId>9E76053E-26ED-4AB4-AE58-8AFC3F1E7E8E</RequestId>\\n<Success>true</Success>\\n</CopyThingModelResponse>","errorExample":""}]',
+ 'title' => 'CopyThingModel',
+ 'summary' => 'Copies a Thing Specification Language (TSL) model from a source product to a destination product.',
+ 'description' => '* If a destination product is published, you must call the [CancelReleaseProduct](~~213875~~) operation to unpublish the product before you can copy a TSL model.'."\n"
+ .'* The categories of the source product and destination product must be the same. The product category is indicated by the **CategoryKey** parameter. You can call the [QueryProduct](~~69272~~) operation and view the **CategoryKey** parameter of a product in the returned result.'."\n"
+ .'* You must specify the version of the TSL model that you want to copy by using the **SourceModelVersion** parameter in the request. Otherwise, the CopyThingModel operation fails.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to five queries per second (QPS). '."\n"
+ ."\n"
+ .'> The Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'PublishThingModel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n"
+ ."\n"
+ .'> You cannot specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm4l5tcwd****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product.'."\n"
+ ."\n"
+ .'You can view the ProductKey on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the [QueryProductList](~~69271~~) operation.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'ModelVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The version number of the TSL model.'."\n"
+ ."\n"
+ .'The version number must be 1 to 16 characters in length and can contain letters, digits, and periods (.).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v1.0.0',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the TSL model version.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<PublishThingModelResponse>\\n<RequestId>5252CC6E-9E4B-4DB1-B1D8-7EEA190A5B3E</RequestId>\\n<Success>true</Success>\\n</PublishThingModelResponse>","errorExample":""}]',
+ 'title' => 'PublishThingModel',
+ 'summary' => 'Publishes the Thing specification Language (TSL) model of a specified product.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* If a product is published, you must call the [CancelReleaseProduct](~~213875~~) operation to unpublish the product before you call this operation.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteThingModel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'>* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n"
+ ."\n"
+ .'> You cannot configure this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm4l5tcwd****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'FunctionBlockId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the custom TSL module. Each identifier is unique in a product.'."\n"
+ ."\n"
+ .'* If you configure the BatteryModule parameter when a value is specified for the **PropertyIdentifier.N**, **ServiceIdentifier.N**, or **EventIdentifier.N** parameter, the operation removes one or more specified features from the specified custom TSL module. If you do not configure the BatteryModule parameter, the operation removes one or more specified features from the default TSL module.'."\n"
+ .'* If you configure the BatteryModule parameter when the **PropertyIdentifier.N**, **ServiceIdentifier.N**, and **EventIdentifier.N** parameters are empty, the operation removes all features from the specified custom TSL module.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'BatteryModule',
+ ],
+ ],
+ [
+ 'name' => 'PropertyIdentifier',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The property identifiers that you want to delete. You can specify up to 10 property identifiers.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Temperature',
+ ],
+ 'required' => false,
+ 'example' => 'Temperature',
+ 'maxItems' => 100,
+ ],
+ ],
+ [
+ 'name' => 'ServiceIdentifier',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The service identifiers that you want to delete. You can specify up to 10 service identifiers.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Set',
+ ],
+ 'required' => false,
+ 'example' => 'Set',
+ 'maxItems' => 100,
+ ],
+ ],
+ [
+ 'name' => 'EventIdentifier',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The event identifiers that you want to delete. You can specify up to 10 event identifiers.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'OfflineAlert',
+ ],
+ 'required' => false,
+ 'example' => 'OfflineAlert',
+ 'maxItems' => 100,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteThingModelResponse>\\n<RequestId>9E76053E-26ED-4AB4-AE58-8AFC3F1E7E8E</RequestId>\\n<Success>true</Success>\\n</DeleteThingModelResponse>","errorExample":""}]',
+ 'title' => 'DeleteThingModel',
+ 'summary' => 'Removes one or more Thing Specification Language (TSL) features from a specified product. The features can be properties, services, or events.',
+ 'description' => '* If a product is published, you must call the [CancelReleaseProduct](~~213875~~) operation to unpublish the product before you call the DeleteThingModel operation.'."\n"
+ ."\n"
+ .'* If an existing feature or custom TSL module in a product is not published, you can call the DeleteThingModel operation to remove the feature or delete the custom TSL module.'."\n"
+ ."\n"
+ .'* When you call the DeleteThingModel operation, you must specify a value for the **ProductKey** parameter. The following list describes how the DeleteThingModel operation works:'."\n"
+ ."\n"
+ .' * If you specify a value only for the **ProductKey** parameter, the operation deletes all custom TSL modules and removes all features in the default TSL module from the specified product.'."\n"
+ ."\n"
+ .' * If you specify values only for the **ProductKey** and **FunctionBlockId** parameters, the operation deletes the specified custom TSL module from the specified product.'."\n"
+ ."\n"
+ .' * If you specify a value for the **ProductKey** parameter and a value for the **PropertyIdentifier.N**, **ServiceIdentifier.N**, or **EventIdentifier.N** parameter, the operation removes one or more specified features from the default TSL module of the specified product. The operation removes the specified features only if the features exist. If the value that you specified for the **PropertyIdentifier.N**, **ServiceIdentifier.N**, or **EventIdentifier.N** parameter does not exist in the default TSL module, the operation returns the same result as when you specify a value only for the **ProductKey** parameter.'."\n"
+ ."\n"
+ .' * If you specify values for the **ProductKey** and **FunctionBlockId** parameters and a value for the **PropertyIdentifier.N**, **ServiceIdentifier.N**, or **EventIdentifier.N** parameter, the operation removes one or more specified features from a specified custom TSL module in a specified product. The operation removes the specified features only if the features exist. If the value that you specified for the **PropertyIdentifier.N**, **ServiceIdentifier.N**, or **EventIdentifier.N** parameter does not exist, the operation returns the same result as when you specify values only for the **ProductKey** and **FunctionBlockId** parameters.'."\n"
+ ."\n"
+ .'> You must specify up to 10 identifiers for the **PropertyIdentifier.N**, **ServiceIdentifier.N**, or **EventIdentifier.N** parameter.'."\n"
+ ."\n"
+ .'* After you call the DeleteThingModel operation to remove one or more features from a product, you must call the [PublishThingModel](~~150311~~) operation to re-publish the TSL model of the product. This way, the change takes effect.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 5 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListThingTemplates' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The list of standard categories returned if the call is successful.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CategoryName' => [
+ 'description' => 'The name of the category.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'CategoryKey' => [
+ 'description' => 'The identifier of the category.'."\n",
+ 'type' => 'string',
+ 'example' => 'lighting',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": [\\n {\\n \\"CategoryName\\": \\"路灯照明\\",\\n \\"CategoryKey\\": \\"lighting\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListThingTemplatesResponse>\\n<RequestId>57b144cf-09fc-4916-a272-a62902d5b207</RequestId>\\n<Success>true</Success>\\n<Data>\\n <CategoryName>智能后视镜</CategoryName>\\n <CategoryKey>SmartRearviewMirror</CategoryKey>\\n</Data>\\n<Data>\\n <CategoryName>智能车机</CategoryName>\\n <CategoryKey>SmartTox</CategoryKey>\\n</Data>\\n</ListThingTemplatesResponse>","errorExample":""}]',
+ 'title' => 'ListThingTemplates',
+ 'summary' => 'Queries standard product categories that are predefined by IoT Platform.',
+ 'description' => 'IoT Platform provides product categories that have defined TSL models, such as street lamps, vehicle location cards, and water immersion detectors.'."\n"
+ ."\n"
+ .'When you call the [CreateProduct](~~69123~~) operation to create a product, you can set the CategoryKey parameter to specify a product category. The product that you create references the standardized TSL model of the specified category.'."\n"
+ ."\n"
+ .'## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS). '."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetThingTemplate' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the category that you want to query.'."\n"
+ ."\n"
+ .'You can call the [ListThingTemplates](~~150316~~) operation and view all category keys in the response.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm4l5tcwd****',
+ ],
+ ],
+ [
+ 'name' => 'CategoryKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Lighting',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The TSL features returned if the call is successful. Format:'."\n"
+ ."\n"
+ .'```'."\n"
+ ."\n"
+ .'{'."\n"
+ .' "properties": [], //The list of properties'."\n"
+ .' "services": [], //The list of services'."\n"
+ .' "events": [], //The list of events'."\n"
+ .'}'."\n"
+ .' '."\n"
+ .'```'."\n"
+ ."\n"
+ .'For more information, see [TSL formats](~~73727~~).'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'ThingModelJSON' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{ "properties":[],"services":[], "events":[]}',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ThingModelJSON\\": \\"{ \\\\\\"properties\\\\\\":[],\\\\\\"services\\\\\\":[], \\\\\\"events\\\\\\":[]}\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<GetThingTemplateResponse>\\n<ThingModelJSON>{\\"services\\":[{\\"callType\\":\\"ASYNC\\",\\"custom\\":false,\\"description\\":\\"\\",\\"identifier\\":\\"TimeReset\\",\\"inputParams\\":[{\\"custom\\":false,\\"dataSpecs\\":{\\"dataType\\":\\"TEXT\\",\\"length\\":255},\\"dataType\\":\\"TEXT\\",\\"direction\\":\\"PARAM_INPUT\\",\\"identifier\\":\\"TimeReset\\",\\"name\\":\\"TimeReset\\",\\"paraOrder\\":0}],\\"outputParams\\":[],\\"required\\":false,\\"serviceName\\":\\"设备校时服务\\"},{\\"callType\\":\\"ASYNC\\",\\"custom\\":false,\\"description\\":\\"\\",\\"identifier\\":\\"SetTimerTask\\",\\"inputParams\\":[],\\"outputParams\\":[{\\"custom\\":false,\\"dataSpecs\\":{\\"dataType\\":\\"TEXT\\",\\"length\\":255},\\"dataType\\":\\"TEXT\\",\\"direction\\":\\"PARAM_OUTPUT\\",\\"identifier\\":\\"SetTimer\\",\\"name\\":\\"SetTimer\\",\\"paraOrder\\":0}],\\"required\\":false,\\"serviceName\\":\\"时间任务下发\\"}],\\"properties\\":[{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecsList\\":[{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"打开\\",\\"value\\":1},{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"关闭\\",\\"value\\":0}],\\"dataType\\":\\"BOOL\\",\\"description\\":\\"\\",\\"identifier\\":\\"LightStatus\\",\\"name\\":\\"工作状态\\",\\"required\\":true,\\"rwFlag\\":\\"READ_WRITE\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecs\\":{\\"dataType\\":\\"INT\\",\\"max\\":\\"100\\",\\"min\\":\\"0\\",\\"precise\\":0,\\"step\\":\\"1\\",\\"unit\\":\\"%\\",\\"unitName\\":\\"百分比\\"},\\"dataType\\":\\"INT\\",\\"description\\":\\"调光等级采用百分比表示\\",\\"identifier\\":\\"LightAdjustLevel\\",\\"name\\":\\"调光等级\\",\\"required\\":true,\\"rwFlag\\":\\"READ_WRITE\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecs\\":{\\"dataType\\":\\"FLOAT\\",\\"max\\":\\"4\\",\\"min\\":\\"0\\",\\"precise\\":7,\\"step\\":\\"0.1\\",\\"unit\\":\\"V\\",\\"unitName\\":\\"伏特\\"},\\"dataType\\":\\"FLOAT\\",\\"description\\":\\"显示设备电压;电参数采用4个字节浮点型数据\\",\\"identifier\\":\\"LightVolt\\",\\"name\\":\\"工作电压\\",\\"required\\":true,\\"rwFlag\\":\\"READ_ONLY\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecs\\":{\\"dataType\\":\\"FLOAT\\",\\"max\\":\\"9\\",\\"min\\":\\"0\\",\\"precise\\":7,\\"step\\":\\"0.1\\",\\"unit\\":\\"A\\",\\"unitName\\":\\"安培\\"},\\"dataType\\":\\"FLOAT\\",\\"description\\":\\"电参数采用4个字节浮点型数据\\",\\"identifier\\":\\"LightCurrent\\",\\"name\\":\\"工作电流\\",\\"required\\":true,\\"rwFlag\\":\\"READ_ONLY\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecs\\":{\\"dataType\\":\\"FLOAT\\",\\"max\\":\\"1000\\",\\"min\\":\\"0\\",\\"precise\\":7,\\"step\\":\\"0.1\\",\\"unit\\":\\"W\\",\\"unitName\\":\\"瓦特\\"},\\"dataType\\":\\"FLOAT\\",\\"description\\":\\"电参数采用4个字节浮点型数据\\",\\"identifier\\":\\"ActivePower\\",\\"name\\":\\"有功功率值\\",\\"required\\":true,\\"rwFlag\\":\\"READ_ONLY\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecs\\":{\\"dataType\\":\\"FLOAT\\",\\"max\\":\\"1\\",\\"min\\":\\"0.01\\",\\"precise\\":7,\\"step\\":\\"0.1\\",\\"unit\\":\\"pF\\",\\"unitName\\":\\"皮法\\"},\\"dataType\\":\\"FLOAT\\",\\"description\\":\\"电参数采用4个字节浮点型数据\\",\\"identifier\\":\\"PowerRatio\\",\\"name\\":\\"功率因数\\",\\"required\\":true,\\"rwFlag\\":\\"READ_ONLY\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecs\\":{\\"dataType\\":\\"FLOAT\\",\\"max\\":\\"2147483647\\",\\"min\\":\\"0\\",\\"precise\\":7,\\"step\\":\\"0.1\\",\\"unit\\":\\"kW·h\\",\\"unitName\\":\\"千瓦·时\\"},\\"dataType\\":\\"FLOAT\\",\\"description\\":\\"耗电量;电参数采用4个字节浮点型数据\\",\\"identifier\\":\\"PowerConsumption\\",\\"name\\":\\"用电量\\",\\"required\\":true,\\"rwFlag\\":\\"READ_ONLY\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecs\\":{\\"dataType\\":\\"FLOAT\\",\\"max\\":\\"400\\",\\"min\\":\\"0\\",\\"precise\\":7,\\"step\\":\\"0.1\\",\\"unit\\":\\"V\\",\\"unitName\\":\\"伏特\\"},\\"dataType\\":\\"FLOAT\\",\\"description\\":\\"电参数采用4个字节浮点型数据\\",\\"identifier\\":\\"DrainVoltage\\",\\"name\\":\\"漏电压\\",\\"required\\":true,\\"rwFlag\\":\\"READ_ONLY\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecs\\":{\\"dataType\\":\\"INT\\",\\"max\\":\\"90\\",\\"min\\":\\"0\\",\\"precise\\":0,\\"step\\":\\"1\\",\\"unit\\":\\"°\\",\\"unitName\\":\\"度\\"},\\"dataType\\":\\"INT\\",\\"description\\":\\"路灯的倾斜角度;采用1个字节16进制数\\",\\"identifier\\":\\"TiltValue\\",\\"name\\":\\"倾斜角度值\\",\\"required\\":true,\\"rwFlag\\":\\"READ_ONLY\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecs\\":{\\"dataType\\":\\"INT\\",\\"max\\":\\"1000\\",\\"min\\":\\"0\\",\\"precise\\":0,\\"step\\":\\"1\\",\\"unit\\":\\"W\\",\\"unitName\\":\\"瓦特\\"},\\"dataType\\":\\"INT\\",\\"description\\":\\"故障功率门限\\",\\"identifier\\":\\"ErrorPowerThreshold\\",\\"name\\":\\"故障功率门限\\",\\"required\\":true,\\"rwFlag\\":\\"READ_WRITE\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecs\\":{\\"dataType\\":\\"FLOAT\\",\\"max\\":\\"9\\",\\"min\\":\\"0.1\\",\\"precise\\":7,\\"step\\":\\"0.1\\",\\"unit\\":\\"A\\",\\"unitName\\":\\"安培\\"},\\"dataType\\":\\"FLOAT\\",\\"description\\":\\"\\",\\"identifier\\":\\"ErrorCurrentThreshold\\",\\"name\\":\\"故障电流门限\\",\\"required\\":true,\\"rwFlag\\":\\"READ_WRITE\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecs\\":{\\"dataType\\":\\"INT\\",\\"max\\":\\"90\\",\\"min\\":\\"0\\",\\"precise\\":0,\\"step\\":\\"1\\",\\"unit\\":\\"°\\",\\"unitName\\":\\"度\\"},\\"dataType\\":\\"INT\\",\\"description\\":\\"\\",\\"identifier\\":\\"TiltThreshold\\",\\"name\\":\\"倾斜阈值\\",\\"required\\":true,\\"rwFlag\\":\\"READ_WRITE\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecs\\":{\\"dataType\\":\\"INT\\",\\"max\\":\\"400\\",\\"min\\":\\"0\\",\\"precise\\":0,\\"step\\":\\"1\\",\\"unit\\":\\"V\\",\\"unitName\\":\\"伏特\\"},\\"dataType\\":\\"INT\\",\\"description\\":\\"\\",\\"identifier\\":\\"UnderVoltThreshold\\",\\"name\\":\\"欠压阈值\\",\\"required\\":true,\\"rwFlag\\":\\"READ_WRITE\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecs\\":{\\"dataType\\":\\"INT\\",\\"max\\":\\"9\\",\\"min\\":\\"0\\",\\"precise\\":0,\\"step\\":\\"1\\",\\"unit\\":\\"A\\",\\"unitName\\":\\"安培\\"},\\"dataType\\":\\"INT\\",\\"description\\":\\"\\",\\"identifier\\":\\"OverCurrentThreshold\\",\\"name\\":\\"过流阈值\\",\\"required\\":true,\\"rwFlag\\":\\"READ_WRITE\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecs\\":{\\"dataType\\":\\"INT\\",\\"max\\":\\"400\\",\\"min\\":\\"0\\",\\"precise\\":0,\\"step\\":\\"1\\",\\"unit\\":\\"V\\",\\"unitName\\":\\"伏特\\"},\\"dataType\\":\\"INT\\",\\"description\\":\\"\\",\\"identifier\\":\\"OverVoltThreshold\\",\\"name\\":\\"过压阈值\\",\\"required\\":true,\\"rwFlag\\":\\"READ_WRITE\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecsList\\":[{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"打开\\",\\"value\\":1},{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"关闭\\",\\"value\\":0}],\\"dataType\\":\\"BOOL\\",\\"description\\":\\"1:打开,0:关闭\\",\\"identifier\\":\\"LightErrorEnable\\",\\"name\\":\\"灯具故障使能\\",\\"required\\":true,\\"rwFlag\\":\\"READ_WRITE\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecsList\\":[{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"打开\\",\\"value\\":1},{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"关闭\\",\\"value\\":0}],\\"dataType\\":\\"BOOL\\",\\"description\\":\\"1:打开,0:关闭\\",\\"identifier\\":\\"OverCurrentEnable\\",\\"name\\":\\"过流告警使能\\",\\"required\\":true,\\"rwFlag\\":\\"READ_WRITE\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecsList\\":[{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"打开\\",\\"value\\":1},{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"关闭\\",\\"value\\":0}],\\"dataType\\":\\"BOOL\\",\\"description\\":\\"1:打开,0:关闭\\",\\"identifier\\":\\"OverVoltEnable\\",\\"name\\":\\"过压告警使能\\",\\"required\\":true,\\"rwFlag\\":\\"READ_WRITE\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecsList\\":[{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"打开\\",\\"value\\":1},{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"关闭\\",\\"value\\":0}],\\"dataType\\":\\"BOOL\\",\\"description\\":\\"1:打开,0:关闭\\",\\"identifier\\":\\"UnderVoltEnable\\",\\"name\\":\\"欠压告警使能\\",\\"required\\":true,\\"rwFlag\\":\\"READ_WRITE\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecsList\\":[{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"打开\\",\\"value\\":1},{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"关闭\\",\\"value\\":0}],\\"dataType\\":\\"BOOL\\",\\"description\\":\\"1:打开,0:关闭\\",\\"identifier\\":\\"LeakageEnable\\",\\"name\\":\\"漏电告警使能\\",\\"required\\":true,\\"rwFlag\\":\\"READ_WRITE\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecsList\\":[{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"打开\\",\\"value\\":1},{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"关闭\\",\\"value\\":0}],\\"dataType\\":\\"BOOL\\",\\"description\\":\\"1:打开,0:关闭\\",\\"identifier\\":\\"OverTiltEnable\\",\\"name\\":\\"倾斜告警使能\\",\\"required\\":true,\\"rwFlag\\":\\"READ_WRITE\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecsList\\":[{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"告警\\",\\"value\\":1},{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"正常\\",\\"value\\":0}],\\"dataType\\":\\"BOOL\\",\\"description\\":\\"1-告警;0-正常\\",\\"identifier\\":\\"LampError\\",\\"name\\":\\"灯具故障告警\\",\\"required\\":true,\\"rwFlag\\":\\"READ_ONLY\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecsList\\":[{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"告警\\",\\"value\\":1},{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"正常\\",\\"value\\":0}],\\"dataType\\":\\"BOOL\\",\\"description\\":\\"1-告警;0-正常\\",\\"identifier\\":\\"OverCurrentError\\",\\"name\\":\\"过流告警\\",\\"required\\":true,\\"rwFlag\\":\\"READ_ONLY\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecsList\\":[{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"告警\\",\\"value\\":1},{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"正常\\",\\"value\\":0}],\\"dataType\\":\\"BOOL\\",\\"description\\":\\"1-告警;0-正常\\",\\"identifier\\":\\"OverVoltError\\",\\"name\\":\\"过压告警\\",\\"required\\":true,\\"rwFlag\\":\\"READ_ONLY\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecsList\\":[{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"告警\\",\\"value\\":1},{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"正常\\",\\"value\\":0}],\\"dataType\\":\\"BOOL\\",\\"description\\":\\"1-告警;0-正常\\",\\"identifier\\":\\"UnderVoltError\\",\\"name\\":\\"欠压告警\\",\\"required\\":true,\\"rwFlag\\":\\"READ_ONLY\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecsList\\":[{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"告警\\",\\"value\\":1},{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"正常\\",\\"value\\":0}],\\"dataType\\":\\"BOOL\\",\\"description\\":\\"1-告警;0-正常\\",\\"identifier\\":\\"OverTiltError\\",\\"name\\":\\"倾斜告警\\",\\"required\\":true,\\"rwFlag\\":\\"READ_ONLY\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecsList\\":[{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"告警\\",\\"value\\":1},{\\"dataType\\":\\"BOOL\\",\\"name\\":\\"正常\\",\\"value\\":0}],\\"dataType\\":\\"BOOL\\",\\"description\\":\\"1-告警;0-正常\\",\\"identifier\\":\\"LeakageError\\",\\"name\\":\\"漏电告警\\",\\"required\\":true,\\"rwFlag\\":\\"READ_ONLY\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecsList\\":[{\\"childDataType\\":\\"DOUBLE\\",\\"childName\\":\\"经度\\",\\"childSpecsDTO\\":{\\"dataType\\":\\"DOUBLE\\",\\"max\\":\\"180\\",\\"min\\":\\"-180\\",\\"precise\\":7,\\"step\\":\\"0.01\\",\\"unit\\":\\"°\\",\\"unitName\\":\\"度\\"},\\"dataSpecs\\":{\\"$ref\\":\\"$.properties[27].dataSpecsList[0].childSpecsDTO\\"},\\"dataSpecsObject\\":{\\"unit\\":\\"°\\",\\"min\\":\\"-180\\",\\"unitName\\":\\"度\\",\\"max\\":\\"180\\",\\"dataType\\":\\"double\\",\\"step\\":\\"0.01\\",\\"precise\\":7},\\"dataType\\":\\"STRUCT\\",\\"identifier\\":\\"longitude\\",\\"name\\":\\"地理位置\\"},{\\"childDataType\\":\\"DOUBLE\\",\\"childName\\":\\"纬度\\",\\"childSpecsDTO\\":{\\"dataType\\":\\"DOUBLE\\",\\"max\\":\\"180\\",\\"min\\":\\"-180\\",\\"precise\\":7,\\"step\\":\\"0.01\\",\\"unit\\":\\"°\\",\\"unitName\\":\\"度\\"},\\"dataSpecs\\":{\\"$ref\\":\\"$.properties[27].dataSpecsList[1].childSpecsDTO\\"},\\"dataSpecsObject\\":{\\"unit\\":\\"°\\",\\"min\\":\\"-180\\",\\"unitName\\":\\"度\\",\\"max\\":\\"180\\",\\"dataType\\":\\"double\\",\\"step\\":\\"0.01\\",\\"precise\\":7},\\"dataType\\":\\"STRUCT\\",\\"identifier\\":\\"latitude\\",\\"name\\":\\"地理位置\\"},{\\"childDataType\\":\\"DOUBLE\\",\\"childName\\":\\"高度\\",\\"childSpecsDTO\\":{\\"dataType\\":\\"DOUBLE\\",\\"max\\":\\"9999\\",\\"min\\":\\"0\\",\\"precise\\":7,\\"step\\":\\"0.01\\",\\"unit\\":\\"m\\",\\"unitName\\":\\"米\\"},\\"dataSpecs\\":{\\"$ref\\":\\"$.properties[27].dataSpecsList[2].childSpecsDTO\\"},\\"dataSpecsObject\\":{\\"unit\\":\\"m\\",\\"min\\":\\"0\\",\\"unitName\\":\\"米\\",\\"max\\":\\"9999\\",\\"dataType\\":\\"double\\",\\"step\\":\\"0.01\\",\\"precise\\":7},\\"dataType\\":\\"STRUCT\\",\\"identifier\\":\\"altitude\\",\\"name\\":\\"地理位置\\"},{\\"childDataType\\":\\"ENUM\\",\\"childEnumSpecsDTO\\":[{\\"dataType\\":\\"ENUM\\",\\"name\\":\\"WGS_84\\",\\"value\\":1},{\\"dataType\\":\\"ENUM\\",\\"name\\":\\"GCJ_02\\",\\"value\\":2}],\\"childName\\":\\"坐标系统\\",\\"dataSpecsArray\\":[{\\"dataType\\":\\"enum\\",\\"name\\":\\"WGS_84\\",\\"value\\":\\"1\\"},{\\"dataType\\":\\"enum\\",\\"name\\":\\"GCJ_02\\",\\"value\\":\\"2\\"}],\\"dataSpecsList\\":[{\\"dataType\\":\\"ENUM\\",\\"name\\":\\"WGS_84\\",\\"value\\":1},{\\"dataType\\":\\"ENUM\\",\\"name\\":\\"GCJ_02\\",\\"value\\":2}],\\"dataType\\":\\"STRUCT\\",\\"identifier\\":\\"CoordinateSystem\\",\\"name\\":\\"地理位置\\"}],\\"dataType\\":\\"STRUCT\\",\\"description\\":\\"\\",\\"identifier\\":\\"GeoLocation\\",\\"name\\":\\"地理位置\\",\\"required\\":true,\\"rwFlag\\":\\"READ_WRITE\\",\\"std\\":true},{\\"custom\\":false,\\"customFlag\\":false,\\"dataSpecs\\":{\\"dataType\\":\\"INT\\",\\"max\\":\\"65535\\",\\"min\\":\\"0\\",\\"precise\\":0,\\"step\\":\\"1\\",\\"unit\\":\\"LUX\\",\\"unitName\\":\\"照度\\"},\\"dataType\\":\\"INT\\",\\"description\\":\\"\\",\\"identifier\\":\\"LightLux\\",\\"name\\":\\"光照值\\",\\"required\\":false,\\"rwFlag\\":\\"READ_ONLY\\",\\"std\\":true}],\\"events\\":[]}</ThingModelJSON>\\n<RequestId>B79DEAAF-74F3-4AFF-95C3-FC8CDB8B831A</RequestId>\\n<Success>true</Success>\\n</GetThingTemplateResponse>","errorExample":""}]',
+ 'title' => 'GetThingTemplate',
+ 'summary' => 'Queries the Thing Specification Language (TSL) information of a specified category.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 2 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListThingModelVersion' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product.'."\n"
+ ."\n"
+ .'You can view the ProductKey on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the [QueryProductList](~~69271~~) operation.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data returned if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ModelVersions' => [
+ 'description' => 'The list of TSL model versions. The versions are displayed in descending order based on the release time. The first version is the current version.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'GmtCreate' => [
+ 'description' => 'The timestamp when the TSL model version was published. The time is displayed in UTC. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1579235657535',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the TSL model version.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'ModelVersion' => [
+ 'description' => 'The version number of the TSL model.'."\n",
+ 'type' => 'string',
+ 'example' => 'V1.0.0',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ModelVersions\\": [\\n {\\n \\"GmtCreate\\": 1579235657535,\\n \\"Description\\": \\"增加一个light属性\\",\\n \\"ModelVersion\\": \\"V1.0.0\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListThingModelVersionResponse>\\n<Data>\\n <ModelVersions>\\n <ModelVersion>V3.0.0</ModelVersion>\\n <GmtCreate>1579235682421</GmtCreate>\\n <Description>new properties</Description>\\n </ModelVersions>\\n <ModelVersions>\\n <ModelVersion>V2.0.0</ModelVersion>\\n <GmtCreate>1579235657535</GmtCreate>\\n <Description>new properties</Description>\\n </ModelVersions>\\n <ModelVersions>\\n <ModelVersion>V1.0.0</ModelVersion>\\n <GmtCreate>1579235637994</GmtCreate>\\n <Description>Lighting</Description>\\n </ModelVersions>\\n</Data>\\n<RequestId>9BA34AE5-2D94-4BDE-BD78-E7D3FC7985BC</RequestId>\\n<Success>true</Success>\\n</ListThingModelVersionResponse>","errorExample":""}]',
+ 'title' => 'ListThingModelVersion',
+ 'summary' => 'Queries the Thing Specification Language (TSL) model versions of a specified product.',
+ 'description' => 'You can manage TSL models by version. After you import a TSL model by calling the [ImportThingModelTsl](~~150320~~) operation, copy a TSL model by calling the [CopyThingModel](~~150322~~) operation, or edit a TSL model, you must publish the TSL model by calling the [PublishThingModel](~~150311~~) operation. Then, the TSL model can be used. Each time a TSL model of a product is published, a new version is generated.'."\n"
+ ."\n"
+ .'## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS). '."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetThingModelTsl' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product.'."\n"
+ ."\n"
+ .'You can view the ProductKey on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the [QueryProductList](~~69271~~) operation.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The version number of the TSL model to be queried.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, IoT Platform returns the draft TSL model that is unpublished.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'ModelVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to retrieve a simplified TSL model.'."\n"
+ ."\n"
+ .'* **true**: retrieves a simplified TSL model.'."\n"
+ ."\n"
+ .' A simplified TSL model includes only the **identifier** and **dataType** attributes of properties, services, events, and related input or output parameters. Simplified TSL models can be used by device developers for reference.'."\n"
+ ."\n"
+ .'* **false**: retrieves the complete TSL model.'."\n"
+ ."\n"
+ .' A complete TSL model includes all the parameters and values of properties, services, and events. Complete TSL models can be used by cloud application developers for reference.'."\n"
+ ."\n"
+ .'Default value: false.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v1.0.0',
+ ],
+ ],
+ [
+ 'name' => 'Simple',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the custom TSL module. Each identifier is unique in a product.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the default module is queried.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'FunctionBlockId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'BatteryModule',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'The TSL data returned if the call is successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The URI that is used to store the TSL data in Object Storage Service (OSS). The URI is valid for 60 minutes.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'TslUri' => [
+ 'description' => 'The string of the TSL model.'."\n",
+ 'type' => 'string',
+ 'example' => 'https://iotx-pop-dsl.oss-cn-shanghai.aliyuncs.com/thing/a14TeWI****/model.json?Expires=1581947119&OSSAccessKeyId=LTAIuFOwFSR9****&Signature=5i389hacjdj3t%2FnrHmQpEUfnxw****',
+ ],
+ 'TslStr' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{\\"schema\\":\\"https://iotx-tsl.oss-ap-southeast-1.aliyuncs.com/schema.json\\",\\"profile\\":{\\"productKey\\":\\"a14TeWI****\\"},\\"properties\\":[{\\"identifier\\":\\"Humidity\\"}]}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"TslUri\\": \\"https://iotx-pop-dsl.oss-cn-shanghai.aliyuncs.com/thing/a14T******/model.json?Expires=1581947119&OSSAccessKeyId=LTAI****************&Signature=5i38******\\",\\n \\"TslStr\\": \\"{\\\\\\\\\\\\\\"schema\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"https://iotx-tsl.oss-ap-southeast-1.aliyuncs.com/schema.json\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"profile\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"productKey\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"a14TeWI****\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"properties\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"identifier\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"Humidity\\\\\\\\\\\\\\"}]}\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetThingModelTslResponse>\\n<Data>\\n <TslUri>https://iotx-pop-dsl.oss-cn-shanghai.aliyuncs.com/thing/a14T******/model.json?Expires=1581947119&OSSAccessKeyId=LTAI****************&Signature=5i38******</TslUri>\\n <TslStr>{\\"schema\\":\\"https://iotx-tsl.oss-ap-southeast-1.aliyuncs.com/schema.json\\",\\"profile\\":{\\"productKey\\":\\"a14T***\\"},\\"properties\\":[{\\"identifier\\":\\"Humidity\\",\\"name\\":\\"湿度\\",\\"accessMode\\":\\"rw\\",\\"required\\":false,\\"dataType\\":{\\"type\\":\\"int\\",\\"specs\\":{\\"min\\":\\"55\\",\\"max\\":\\"60\\",\\"unit\\":\\"%\\",\\"step\\":\\"1\\"}}},{\\"identifier\\":\\"Temperature\\",\\"name\\":\\"温度\\",\\"accessMode\\":\\"rw\\",\\"required\\":false,\\"dataType\\":{\\"type\\":\\"float\\",\\"specs\\":{\\"min\\":\\"26\\",\\"max\\":\\"28\\",\\"unit\\":\\"°C\\",\\"step\\":\\"0.01\\"}}}],\\"events\\":[{\\"identifier\\":\\"post\\",\\"name\\":\\"post\\",\\"type\\":\\"info\\",\\"required\\":true,\\"desc\\":\\"属性上报\\",\\"method\\":\\"thing.event.property.post\\",\\"outputData\\":[{\\"identifier\\":\\"Humidity\\",\\"name\\":\\"湿度\\",\\"dataType\\":{\\"type\\":\\"int\\",\\"specs\\":{\\"min\\":\\"55\\",\\"max\\":\\"60\\",\\"unit\\":\\"%\\",\\"step\\":\\"1\\"}}},{\\"identifier\\":\\"Temperature\\",\\"name\\":\\"温度\\",\\"dataType\\":{\\"type\\":\\"float\\",\\"specs\\":{\\"min\\":\\"26\\",\\"max\\":\\"28\\",\\"unit\\":\\"°C\\",\\"step\\":\\"0.01\\"}}}]}],\\"services\\":[{\\"identifier\\":\\"set\\",\\"name\\":\\"set\\",\\"required\\":true,\\"callType\\":\\"async\\",\\"desc\\":\\"属性设置\\",\\"method\\":\\"thing.service.property.set\\",\\"inputData\\":[{\\"identifier\\":\\"Humidity\\",\\"name\\":\\"湿度\\",\\"dataType\\":{\\"type\\":\\"int\\",\\"specs\\":{\\"min\\":\\"55\\",\\"max\\":\\"60\\",\\"unit\\":\\"%\\",\\"step\\":\\"1\\"}}},{\\"identifier\\":\\"Temperature\\",\\"name\\":\\"温度\\",\\"dataType\\":{\\"type\\":\\"float\\",\\"specs\\":{\\"min\\":\\"26\\",\\"max\\":\\"28\\",\\"unit\\":\\"°C\\",\\"step\\":\\"0.01\\"}}}],\\"outputData\\":[]},{\\"identifier\\":\\"get\\",\\"name\\":\\"get\\",\\"required\\":true,\\"callType\\":\\"async\\",\\"desc\\":\\"属性获取\\",\\"method\\":\\"thing.service.property.get\\",\\"inputData\\":[\\"Humidity\\",\\"Temperature\\"],\\"outputData\\":[{\\"identifier\\":\\"Humidity\\",\\"name\\":\\"湿度\\",\\"dataType\\":{\\"type\\":\\"int\\",\\"specs\\":{\\"min\\":\\"55\\",\\"max\\":\\"60\\",\\"unit\\":\\"%\\",\\"step\\":\\"1\\"}}},{\\"identifier\\":\\"Temperature\\",\\"name\\":\\"温度\\",\\"dataType\\":{\\"type\\":\\"float\\",\\"specs\\":{\\"min\\":\\"26\\",\\"max\\":\\"28\\",\\"unit\\":\\"°C\\",\\"step\\":\\"0.01\\"}}}]}]}</TslStr>\\n</Data>\\n<RequestId>C4371E68-F6DB-4D7B-8AD0-D38336E1DF94</RequestId>\\n<Success>true</Success>\\n</GetThingModelTslResponse>","errorExample":""}]',
+ 'title' => 'GetThingModelTsl',
+ 'summary' => 'Queries the Thing Specification Language (TSL) model of a product.',
+ 'description' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'requestParamsDescription' => 'The operation that you want to perform. Set the value to GetThingModelTsl.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ImportThingModelTsl' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n"
+ ."\n"
+ .'> You cannot specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm4l5tcwd****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product.'."\n"
+ ."\n"
+ .'You can view the ProductKey on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the [QueryProductList](~~69271~~) operation.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'TslStr',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The TSL model to be edited. The value is a JSON string. The TSL model defines the properties, services, and events of the product.'."\n"
+ ."\n"
+ .'The value of the **TslStr** parameter must conform to the standard TSL data format. For more information, see [TSL data format](~~73727~~).'."\n"
+ ."\n"
+ .'> To import a TSL model, you must specify the **TslStr** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{"schema":"https://iotx-tsl.oss-ap-southeast-1.aliyuncs.com/schema.json","profile":{"productKey":"a14TeW****"},"properties":[]}',
+ ],
+ ],
+ [
+ 'name' => 'TslUrl',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The URI that is used to store the TSL data in Object Storage Service (OSS).'."\n"
+ ."\n"
+ .'> This parameter does not take effect. To import a TSL model, you must specify the **TslStr** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'https://iotx-pop-dsl.oss-cn-shanghai.aliyuncs.com/thing/a14TeWI****/model.json?Expires=1581947119...',
+ ],
+ ],
+ [
+ 'name' => 'FunctionBlockId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the custom TSL module. Each identifier is unique in a product. The identifier must be 1 to 30 characters in length, and can contain letters, digits, and underscores (\\_).'."\n"
+ ."\n"
+ .'This parameter must be used in combination with the **FunctionBlockName** parameter. If you do not specify this parameter, the system imports the default module.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'BatteryModule',
+ ],
+ ],
+ [
+ 'name' => 'FunctionBlockName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the custom module. The name must be 4 to 30 characters in length, and can contain letters, digits, and underscores (\\_).'."\n"
+ ."\n"
+ .'This parameter must be used in combination with the **FunctionBlockId** parameter. If you do not specify this parameter, the system imports the default module.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ImportThingModelTslResponse>\\n<RequestId>9E76053E-26ED-4AB4-AE58-8AFC3F1E7E8E</RequestId>\\n<Success>true</Success>\\n</ImportThingModelTslResponse>","errorExample":""}]',
+ 'title' => 'ImportThingModelTsl',
+ 'summary' => 'Imports a Thing Specification Language (TSL) model to a specified product.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* If a product is published, you must call the [CancelReleaseProduct](~~213875~~) operation to unpublish the product before you call this operation.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryThingModelPublished' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm4l5tcwd***',
+ ],
+ ],
+ [
+ 'name' => 'ModelVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The version number of the TSL model.'."\n"
+ ."\n"
+ .'You can call the [ListThingModelVersion](~~150318~~) operation to view the version numbers of the TSL model for a product.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the last published TSL model version is returned.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v1.0.0',
+ ],
+ ],
+ [
+ 'name' => 'FunctionBlockId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the custom TSL module. Each identifier is unique in a product.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the default module is queried.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'BatteryModule',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The ProductKey of the product.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1BwAGV****',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The returned data.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ThingModelJson' => [
+ 'description' => 'Define features for the TSL model. For more information about the data format of the ThingModelJson parameter, see [Data structure of ThingModelJson](~~150457~~).'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ThingModelJson\\": \\"{\\\\\\\\\\\\\\"_ppk\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"version\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1594253010934\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"events\\\\\\\\\\\\\\":[],\\\\\\\\\\\\\\"productKey\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"a1BwAGV****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"properties\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"configCode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8C03F0EEC63D4897BF2637F89AE36B011594227294067\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"custom\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"customFlag\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"dataSpecs\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"custom\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"dataType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"INT\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"max\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"min\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"step\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"unit\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"ppb\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"dataType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"INT\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"description\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"extendConfig\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"originalDataType\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"specs\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"registerCount\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"reverseRegister\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"swap16\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":0},\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"bool\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"identifier\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"WakeUpData\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"registerAddress\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"0x04\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"scaling\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"writeFunctionCode\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"operateType\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"inputStatus\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"pollingTime\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1000,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"trigger\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1}\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"identifier\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"WakeUpData\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"唤醒数据\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"productKey\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"a114xeJGj2p\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"required\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"rwFlag\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"READ_ONLY\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std\\\\\\\\\\\\\\":false}],\\\\\\\\\\\\\\"services\\\\\\\\\\\\\\":[]}\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryThingModelPublishedResponse>\\n <RequestId>1F9041A2-ED5B-4A5A-9C44-598E28C0B434</RequestId>\\n <Data>\\n <ThingModelJson>{\\"_ppk\\":{\\"version\\":\\"1594253010934\\"},\\"events\\":[],\\"productKey\\":\\"a1BwAGV****\\",\\"properties\\":[{\\"configCode\\":\\"8C03F0EEC63D4897BF2637F89AE36B011594227294067\\",\\"custom\\":true,\\"customFlag\\":true,\\"dataSpecs\\":{\\"custom\\":true,\\"dataType\\":\\"INT\\",\\"max\\":\\"1\\",\\"min\\":\\"0\\",\\"step\\":\\"1\\",\\"unit\\":\\"ppb\\"},\\"dataType\\":\\"INT\\",\\"description\\":\\"1\\",\\"extendConfig\\":\\"{\\\\\\"originalDataType\\\\\\":{\\\\\\"specs\\\\\\":{\\\\\\"registerCount\\\\\\":1,\\\\\\"reverseRegister\\\\\\":0,\\\\\\"swap16\\\\\\":0},\\\\\\"type\\\\\\":\\\\\\"bool\\\\\\"},\\\\\\"identifier\\\\\\":\\\\\\"WakeUpData\\\\\\",\\\\\\"registerAddress\\\\\\":\\\\\\"0x04\\\\\\",\\\\\\"scaling\\\\\\":1,\\\\\\"writeFunctionCode\\\\\\":0,\\\\\\"operateType\\\\\\":\\\\\\"inputStatus\\\\\\",\\\\\\"pollingTime\\\\\\":1000,\\\\\\"trigger\\\\\\":1}\\",\\"identifier\\":\\"WakeUpData\\",\\"name\\":\\"唤醒数据\\",\\"productKey\\":\\"a114xeJ****\\",\\"required\\":false,\\"rwFlag\\":\\"READ_ONLY\\",\\"std\\":false}],\\"services\\":[]}</ThingModelJson>\\n </Data>\\n <Success>true</Success>\\n</QueryThingModelPublishedResponse>","errorExample":""}]',
+ 'title' => 'QueryThingModelPublished',
+ 'summary' => 'Queries the published TSL model of a specified product.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetThingModelTslPublished' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n"
+ ."\n"
+ .'> You cannot specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm4l5tcwd****',
+ ],
+ ],
+ [
+ 'name' => 'Simple',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to retrieve a simplified TSL model.'."\n"
+ ."\n"
+ .'* true: retrieves a simplified TSL model. A simplified TSL model includes only the **identifier** and **dataType** attributes of properties, services, events, and related input or output parameters. Simplified TSL models can be used by device developers for reference.'."\n"
+ .'* false: retrieves the complete TSL model. A complete TSL model includes all the parameters and values of properties, services, and events. Complete TSL models can be used by cloud application developers for reference.'."\n"
+ ."\n"
+ .'Default value: false.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ModelVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The version number of the TSL model.'."\n"
+ ."\n"
+ .'You can call the [ListThingModelVersion](~~150318~~) operation to view the version numbers of the TSL model for a product.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the last published TSL model version is returned.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v1.0.0',
+ ],
+ ],
+ [
+ 'name' => 'FunctionBlockId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the custom TSL module. Each identifier is unique in a product.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the default module is queried.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'BatteryModule',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The returned data.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'TslUri' => [
+ 'description' => 'The URI that is used to store the TSL data in Object Storage Service (OSS). The URI is valid for 60 minutes.'."\n",
+ 'type' => 'string',
+ 'example' => 'https://iotx-pop-dsl.oss-cn-shanghai.aliyuncs.com/thing/a14TeWI****/model.json?Expires=1581947119&OSSAccessKeyId=LTAIuFOwFSR9****&Signature=5i389hacjdj3t%2FnrHmQpEUfnxw****',
+ ],
+ 'TslStr' => [
+ 'description' => 'The string of the TSL model.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"schema\\":\\"https://iotx-tsl.oss-ap-southeast-1.aliyuncs.com/schema.json\\",\\"profile\\":{\\"productKey\\":\\"a14TeWI****\\"},\\"properties\\":[{\\"identifier\\":\\"Humidity\\"}]}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"TslUri\\": \\"https://iotx-pop-dsl.oss-cn-shanghai.aliyuncs.com/thing/a14T******/model.json?Expires=1581947119&OSSAccessKeyId=LTAI****************&Signature=5i38******\\",\\n \\"TslStr\\": \\"{\\\\\\\\\\\\\\"schema\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"https://iotx-tsl.oss-ap-southeast-1.aliyuncs.com/schema.json\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"profile\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"productKey\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"a14TeWI****\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"properties\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"identifier\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"Humidity\\\\\\\\\\\\\\"}]}\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetThingModelTslPublishedResponse>\\n<Data>\\n <TslUri>https://iotx-pop-dsl.oss-cn-shanghai.aliyuncs.com/thing/a14T******/model.json?Expires=1581947119&amp;OSSAccessKeyId=LTAI****************&amp;Signature=5i38******</TslUri>\\n <TslStr>{\\"schema\\":\\"https://iotx-tsl.oss-ap-southeast-1.aliyuncs.com/schema.json\\",\\"profile\\":{\\"productKey\\":\\"a14TeWI****\\"},\\"properties\\":[{\\"identifier\\":\\"Humidity\\",\\"name\\":\\"湿度\\",\\"accessMode\\":\\"rw\\",\\"required\\":false,\\"dataType\\":{\\"type\\":\\"int\\",\\"specs\\":{\\"min\\":\\"55\\",\\"max\\":\\"60\\",\\"unit\\":\\"%\\",\\"step\\":\\"1\\"}}},{\\"identifier\\":\\"Temperature\\",\\"name\\":\\"温度\\",\\"accessMode\\":\\"rw\\",\\"required\\":false,\\"dataType\\":{\\"type\\":\\"float\\",\\"specs\\":{\\"min\\":\\"26\\",\\"max\\":\\"28\\",\\"unit\\":\\"°C\\",\\"step\\":\\"0.01\\"}}}],\\"events\\":[{\\"identifier\\":\\"post\\",\\"name\\":\\"post\\",\\"type\\":\\"info\\",\\"required\\":true,\\"desc\\":\\"属性上报\\",\\"method\\":\\"thing.event.property.post\\",\\"outputData\\":[{\\"identifier\\":\\"Humidity\\",\\"name\\":\\"湿度\\",\\"dataType\\":{\\"type\\":\\"int\\",\\"specs\\":{\\"min\\":\\"55\\",\\"max\\":\\"60\\",\\"unit\\":\\"%\\",\\"step\\":\\"1\\"}}},{\\"identifier\\":\\"Temperature\\",\\"name\\":\\"温度\\",\\"dataType\\":{\\"type\\":\\"float\\",\\"specs\\":{\\"min\\":\\"26\\",\\"max\\":\\"28\\",\\"unit\\":\\"°C\\",\\"step\\":\\"0.01\\"}}}]}],\\"services\\":[{\\"identifier\\":\\"set\\",\\"name\\":\\"set\\",\\"required\\":true,\\"callType\\":\\"async\\",\\"desc\\":\\"属性设置\\",\\"method\\":\\"thing.service.property.set\\",\\"inputData\\":[{\\"identifier\\":\\"Humidity\\",\\"name\\":\\"湿度\\",\\"dataType\\":{\\"type\\":\\"int\\",\\"specs\\":{\\"min\\":\\"55\\",\\"max\\":\\"60\\",\\"unit\\":\\"%\\",\\"step\\":\\"1\\"}}},{\\"identifier\\":\\"Temperature\\",\\"name\\":\\"温度\\",\\"dataType\\":{\\"type\\":\\"float\\",\\"specs\\":{\\"min\\":\\"26\\",\\"max\\":\\"28\\",\\"unit\\":\\"°C\\",\\"step\\":\\"0.01\\"}}}],\\"outputData\\":[]},{\\"identifier\\":\\"get\\",\\"name\\":\\"get\\",\\"required\\":true,\\"callType\\":\\"async\\",\\"desc\\":\\"属性获取\\",\\"method\\":\\"thing.service.property.get\\",\\"inputData\\":[\\"Humidity\\",\\"Temperature\\"],\\"outputData\\":[{\\"identifier\\":\\"Humidity\\",\\"name\\":\\"湿度\\",\\"dataType\\":{\\"type\\":\\"int\\",\\"specs\\":{\\"min\\":\\"55\\",\\"max\\":\\"60\\",\\"unit\\":\\"%\\",\\"step\\":\\"1\\"}}},{\\"identifier\\":\\"Temperature\\",\\"name\\":\\"温度\\",\\"dataType\\":{\\"type\\":\\"float\\",\\"specs\\":{\\"min\\":\\"26\\",\\"max\\":\\"28\\",\\"unit\\":\\"°C\\",\\"step\\":\\"0.01\\"}}}]}]}</TslStr>\\n</Data>\\n<RequestId>C4371E68-F6DB-4D7B-8AD0-D38336E1DF94</RequestId>\\n<Success>true</Success>\\n</GetThingModelTslPublishedResponse>","errorExample":""}]',
+ 'title' => 'GetThingModelTslPublished',
+ 'summary' => 'Queries the published TSL model of a product.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 20 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryThingModelExtendConfig' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1T27vz****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123***',
+ ],
+ ],
+ [
+ 'name' => 'ModelVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The version number of the TSL model.'."\n"
+ ."\n"
+ .'You can call the [ListThingModelVersion](~~150318~~) operation to view the version numbers of the TSL model for a product.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the last published TSL version is returned.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v1.0.0',
+ ],
+ ],
+ [
+ 'name' => 'FunctionBlockId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the custom TSL module. Each identifier is unique in a product.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the system exports the data of the default module.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'BatteryModule',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data returned if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Configuration' => [
+ 'description' => 'The information of the extended TSL parameters. For more information about the definition of extended parameters, see [CreateThingModel](~~150323~~).'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"profile\\":{\\"productKey\\":\\"a114x******\\"},\\"properties\\":[{\\"originalDataType\\":{\\"specs\\":{\\"registerCount\\":1,\\"reverseRegister\\":0,\\"swap16\\":0},\\"type\\":\\"bool\\"},\\"identifier\\":\\"WakeUpData\\",\\"registerAddress\\":\\"0x04\\",\\"scaling\\":1,\\"writeFunctionCode\\":0,\\"operateType\\":\\"inputStatus\\",\\"pollingTime\\":1000,\\"trigger\\":1}]}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Configuration\\": \\"{\\\\\\\\\\\\\\"profile\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"productKey\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"a114x******\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"properties\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"originalDataType\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"specs\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"registerCount\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"reverseRegister\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"swap16\\\\\\\\\\\\\\":0},\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"bool\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"identifier\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"WakeUpData\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"registerAddress\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0x04\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"scaling\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"writeFunctionCode\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"operateType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"inputStatus\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"pollingTime\\\\\\\\\\\\\\":1000,\\\\\\\\\\\\\\"trigger\\\\\\\\\\\\\\":1}]}\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryThingModelExtendConfigResponse>\\n <Data>\\n <Configuration>{\\"profile\\":{\\"productKey\\":\\"a114x******\\"},\\"properties\\":[{\\"originalDataType\\":{\\"specs\\":{\\"registerCount\\":1,\\"reverseRegister\\":0,\\"swap16\\":0},\\"type\\":\\"bool\\"},\\"identifier\\":\\"WakeUpData\\",\\"registerAddress\\":\\"0x04\\",\\"scaling\\":1,\\"writeFunctionCode\\":0,\\"operateType\\":\\"inputStatus\\",\\"pollingTime\\":1000,\\"trigger\\":1}]}</Configuration>\\n </Data>\\n <RequestId>6DDF9D04-24C3-40D8-B490-2A528E59EA67</RequestId>\\n <Success>true</Success>\\n</QueryThingModelExtendConfigResponse>","errorExample":""}]',
+ 'title' => 'QueryThingModelExtendConfig',
+ 'summary' => 'Queries the extended Thing Specification Language (TSL) information of a specified product.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 20 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryThingModelExtendConfigPublished' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product.'."\n"
+ ."\n"
+ .'You can view the ProductKey on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the [QueryProductList](~~69271~~) operation.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'ModelVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The version number of the TSL model. If you do not specify this parameter, the last published TSL model is returned.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'v1.0.0',
+ ],
+ ],
+ [
+ 'name' => 'FunctionBlockId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the custom TSL module. Each identifier is unique in a product.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the default module is queried.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'BatteryModule',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data returned if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Configuration' => [
+ 'description' => 'The information about the extended TSL parameters. For more information about the definition of extended parameters, see [CreateThingModel](~~150323~~).'."\n"
+ ."\n"
+ .'For more information, see [Data structure of ThingModelJson](~~150457~~).'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"profile\\":{\\"productKey\\":\\"a114x******\\"},\\"properties\\":[{\\"originalDataType\\":{\\"specs\\":{\\"registerCount\\":1,\\"reverseRegister\\":0,\\"swap16\\":0},\\"type\\":\\"bool\\"},\\"identifier\\":\\"WakeUpData\\",\\"registerAddress\\":\\"0x04\\",\\"scaling\\":1,\\"writeFunctionCode\\":0,\\"operateType\\":\\"inputStatus\\",\\"pollingTime\\":1000,\\"trigger\\":1}]}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Configuration\\": \\"{\\\\\\\\\\\\\\"profile\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"productKey\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"a114x******\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"properties\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"originalDataType\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"specs\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"registerCount\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"reverseRegister\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"swap16\\\\\\\\\\\\\\":0},\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"bool\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"identifier\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"WakeUpData\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"registerAddress\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0x04\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"scaling\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"writeFunctionCode\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"operateType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"inputStatus\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"pollingTime\\\\\\\\\\\\\\":1000,\\\\\\\\\\\\\\"trigger\\\\\\\\\\\\\\":1}]}\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryThingModelExtendConfigPublishedResponse>\\n<Data>\\n <Configuration>{\\"profile\\":{\\"productKey\\":\\"a114x******\\"},\\"properties\\":[{\\"originalDataType\\":{\\"specs\\":{\\"registerCount\\":1,\\"reverseRegister\\":0,\\"swap16\\":0},\\"type\\":\\"bool\\"},\\"identifier\\":\\"WakeUpData\\",\\"registerAddress\\":\\"0x04\\",\\"scaling\\":1,\\"writeFunctionCode\\":0,\\"operateType\\":\\"inputStatus\\",\\"pollingTime\\":1000,\\"trigger\\":1}]}</Configuration>\\n</Data>\\n<RequestId>6DDF9D04-24C3-40D8-B490-2A528E59EA67</RequestId>\\n<Success>true</Success>\\n</QueryThingModelExtendConfigPublishedResponse>","errorExample":""}]',
+ 'title' => 'QueryThingModelExtendConfigPublished',
+ 'summary' => 'Queries the extended parameters of a published Thing Specification Language (TSL) model.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 20 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateThingScript' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ScriptContent',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The content of the script. You must specify this parameter.'."\n"
+ ."\n"
+ .'For more information about script examples, see [What is data parsing](~~68702~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '"function protocolToRawData(jsonObj) {return rawdata; }function rawDataToProtocol(rawData) {return jsonObj; }"',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify this parameter. Otherwise, the call fails.'."\n"
+ .'>* If the **Overview** page does not appear in the console or no ID is generated for your instance, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product.'."\n"
+ ."\n"
+ .'You can view the **ProductKey** on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the [QueryProductList](~~69271~~) operation.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1Q5XoY****',
+ ],
+ ],
+ [
+ 'name' => 'ScriptType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The language of the script. Valid values:'."\n"
+ ."\n"
+ .'* JavaScript'."\n"
+ .'* Python\\_27: Python 2.7'."\n"
+ .'* PHP\\_72: PHP 7.2'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'JavaScript',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request. The ID uniquely identifies this request.'."\n",
+ 'type' => 'string',
+ 'example' => 'BB71E443-4447-4024-A000-EDE09922891E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n"
+ ."\n"
+ .'* **true**: The request was successful.'."\n"
+ .'* **false**: The request failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"BB71E443-4447-4024-A000-EDE09922891E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateThingScriptResponse>\\r\\n <RequestId>BB71E443-4447-4024-A000-EDE09922891E</RequestId>\\r\\n <Success>true</Success>\\r\\n</CreateThingScriptResponse>","errorExample":""}]',
+ 'title' => 'CreateThingScript',
+ 'summary' => 'Submits a data parsing script for a specified product.',
+ 'description' => 'A data parsing script is used to convert data submitted by devices into the JSON format. The data submitted by devices is in a custom format. You can write a script in JavaScript, Python 2.7, and PHP 7.2. For more information, see [Submit scripts for data parsing](~~149963~~).'."\n"
+ ."\n"
+ .'> If the data format is **Alink JSON**, the CreateThingScript operation is not supported. Alink JSON is a standard data format that is defined by IoT Connectivity Alliance (ICA).'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateThingScript' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ScriptContent',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The content of the script. You must specify this parameter.'."\n"
+ ."\n"
+ .'For more information about script examples, see [What is data parsing](~~68702~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '"function protocolToRawData(jsonObj) {return rawdata; }function rawDataToProtocol(rawData) {return jsonObj; }"',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product.'."\n"
+ ."\n"
+ .'You can view the **ProductKey** on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the [QueryProductList](~~69271~~) operation.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1Q5XoY****',
+ ],
+ ],
+ [
+ 'name' => 'ScriptType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the script. Valid values:'."\n"
+ ."\n"
+ .'* JavaScript'."\n"
+ .'* Python\\_27: Python 2.7'."\n"
+ .'* PHP\\_72: PHP 7.2'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'JavaScript',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'BB71E443-4447-4024-A000-EDE09922891E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"BB71E443-4447-4024-A000-EDE09922891E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateThingScriptResponse>\\r\\n <RequestId>BB71E443-4447-4024-A000-EDE09922891E</RequestId>\\r\\n <Success>true</Success>\\r\\n</UpdateThingScriptResponse>","errorExample":""}]',
+ 'title' => 'UpdateThingScript',
+ 'summary' => 'Modifies a data parsing script for a specified product.',
+ 'description' => '* A data parsing script is used to convert the custom-formatted data to JSON data after the data is submitted by a device. You can write a script in JavaScript, Python 2.7, and PHP 7.2. For more information, see [Submit scripts for data parsing](~~149963~~).'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetThingScript' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product.'."\n"
+ ."\n"
+ .'You can view the **ProductKey** on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the [QueryProductList](~~69271~~) operation.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1Q5XoY****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'BB71E443-4447-4024-A000-EDE09922891E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data returned if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ScriptType' => [
+ 'description' => 'The type of the script. Valid values:'."\n"
+ ."\n"
+ .'* JavaScript'."\n"
+ .'* Python\\_27: Python 2.7'."\n"
+ .'* PHP\\_72: PHP 7.2'."\n",
+ 'type' => 'string',
+ 'example' => 'JavaScript',
+ ],
+ 'ScriptUrl' => [
+ 'description' => 'The URL of the script payload.'."\n",
+ 'type' => 'string',
+ 'example' => 'http://***',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"BB71E443-4447-4024-A000-EDE09922891E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ScriptType\\": \\"JavaScript\\",\\n \\"ScriptUrl\\": \\"http://***\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetThingScriptResponse>\\n<Data>\\n <ScriptType>JavaScript</ScriptType>\\n <ScriptUrl>http://***</ScriptUrl>\\n</Data>\\n<RequestId>6DDF9D04-24C3-40D8-B490-2A528E59EA67</RequestId>\\n<Success>true</Success>\\n</GetThingScriptResponse>","errorExample":""}]',
+ 'title' => 'GetThingScript',
+ 'summary' => 'Queries a data parsing script for a specified product.',
+ 'description' => '* A data parsing script is used to convert the custom-formatted data to JSON data after the data is submitted by a device. You can write a script in JavaScript, Python 2.7, and PHP 7.2. For more information, see [Submit scripts for data parsing](~~149963~~).'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'SetDeviceProperty' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the elastic container instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n"
+ .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-v64*****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you configure this parameter, you must also specify a value for the **DeviceName** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'> If you configure this parameter, you must specify a value for the **ProductKey** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n"
+ ."\n"
+ .'> The IotId parameter specifies a globally unique identifier (GUID) for the device. The value of the **IotId** parameter corresponds to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify a value for this parameter, you do not need to configure the **ProductKey** or **DeviceName** parameter. If you specify values for the **IotId**, **ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ [
+ 'name' => 'Items',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The properties that you want to specify. The properties must be in the JSON format.'."\n"
+ ."\n"
+ .'Each property consists of a **key-value pair in the key:value format**. Separate multiple properties with commas (,).'."\n"
+ ."\n"
+ .'For example, you can configure the following properties for a smart lamp:'."\n"
+ ."\n"
+ .'* A switch property whose key is **Switch** and whose data type is **BOOLEAN**. The value is **1**. The value 1 indicates that the light is on.'."\n"
+ .'* A color property whose key is **Color** and whose data type is **STRING**. The value is **blue**.'."\n"
+ ."\n"
+ .'In this case, you can specify the following properties in the JSON format:'."\n"
+ ."\n"
+ .'`Items={"Switch":1,"Color":"blue"}`'."\n"
+ ."\n"
+ .'> If you specify properties for the custom module testFb, set the Items parameter to `{"testFb:Switch":1,"testFb:Color":"blue"}`. The testFb module is not the default module.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '{"Switch":1,"Color":"blue"}',
+ ],
+ ],
+ [
+ 'name' => 'Qos',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '1',
+ 'minimum' => '0',
+ 'default' => '0',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data returned if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'MessageId' => [
+ 'description' => 'The ID of the message that IoT Platform sends to the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'abcabc123',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"MessageId\\": \\"abcabc123\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<SetDevicePropertyResponse>\\n<RequestId>57b144cf-09fc-4916-a272-a62902d5b207</RequestId>\\n<Success>true</Success>\\n<Data>\\n <MessageId>abcabc123</MessageId>\\n</Data>\\n</SetDevicePropertyResponse>","errorExample":""}]',
+ 'title' => 'SetDeviceProperty',
+ 'summary' => 'Specifies values for the properties of a device.',
+ 'description' => 'After IoT Platform sends a request to configure device properties, the device receives and processes the request in an asynchronous manner. When you call this operation, a successful response indicates that IoT Platform sent a request. The response does not indicate that the device received and processed the request. After the device SDK responds to the request, the device properties are configured.'."\n"
+ ."\n"
+ .'> If the Thing Specification Language (TSL) data is of the float or double type, the parameter values that correspond to the TSL data contain at least one decimal place. Examples: 10.0 and 11.1.'."\n"
+ ."\n\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 500 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must also configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'SetDevicesProperty' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.****'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n"
+ .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'Qos',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '1',
+ 'minimum' => '0',
+ 'default' => '0',
+ ],
+ ],
+ [
+ 'name' => 'Items',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The properties that you want to specify. The properties must be in the JSON format.'."\n"
+ ."\n"
+ .'Each property consists of a **key-value pair in the key:value format**. Separate multiple properties with commas (,).'."\n"
+ ."\n"
+ .'For example, you can configure the following properties for a smart lamp:'."\n"
+ ."\n"
+ .'* A switch property whose key is **Switch** and whose data type is **BOOLEAN**. The value is **1**. The value 1 indicates that the light is on.'."\n"
+ .'* A color property whose key is **Color** and whose data type is **STRING**. The value is **blue**.'."\n"
+ ."\n"
+ .'In this case, you can specify the following properties in the JSON format:'."\n"
+ ."\n"
+ .'`Items={"Switch":1,"Color":"blue"}`'."\n"
+ ."\n"
+ .'> If you configure properties for the custom module testFb, set the Items parameter to `{"testFb:Switch":1,"testFb:Color":"blue"}`. The testFb module is not the default module.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '{"Switch":1,"Color":"blue"}',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The names of the devices whose properties you want to configure. Valid values: 1 to 100.'."\n",
+ ],
+ 'required' => true,
+ 'example' => 'light',
+ 'maxItems' => 500,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information about the error codes, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<SetDevicesPropertyResponse>\\n<RequestId>2E19BDAF-0FD0-4608-9F41-82D230CFEE38</RequestId>\\n<Success>true</Success>\\n</SetDevicesPropertyResponse>","errorExample":""}]',
+ 'title' => 'SetDevicesProperty',
+ 'summary' => 'Specifies values for multiple device properties at a time.',
+ 'description' => 'If the Thing Specification Language (TSL) data is of the float or double type, the parameter values that correspond to the TSL data contain at least one decimal place. Examples: 10.0 and 11.1.'."\n"
+ ."\n\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 10 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must also configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'InvokeThingService' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the elastic container instance. On the **Overview** page in the IoT Platform console, you can view the ID of the instance.****'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for the parameter. Otherwise, the call fails.********'."\n"
+ .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n"
+ .'>If you configure this parameter, you must specify a value for the **DeviceName** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device to which the required service belongs.'."\n"
+ ."\n"
+ .'> If you configure this parameter, you must specify a value for the **ProductKey** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'Identifier',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the service.'."\n"
+ ."\n"
+ .'You can use one of the following methods to view the **identifier** of the service:'."\n"
+ ."\n"
+ .'* Log on to the [IoT Platform console](https://iot.console.aliyun.com/). On the **Define Feature** tab of the product to which the device belongs, view the identifier.'."\n"
+ .'* Call the [QueryThingModel](~~150321~~) operation and view the identifier in the TSL information that is returned.'."\n"
+ ."\n"
+ .'> If a service named testService belongs to a custom module named testFb, you can set this parameter to ******testFb:testService******. The custom module is not the default module.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'Set',
+ ],
+ ],
+ [
+ 'name' => 'Args',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The input parameter of the service. The value is a JSON string. Example: **Args={"param1": 1}**.'."\n"
+ ."\n"
+ .'If this parameter is left empty, set the value to **Args={}**.'."\n"
+ ."\n"
+ .'> If the TSL data is of the float or double type, the parameter values that correspond to the TSL data contain at least one decimal place. Examples: 10.0 and 11.1.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '{"param1":1}',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n"
+ ."\n"
+ .'>The IotId parameter specifies a globally unique identifier (GUID) for the device. The value of the **IotId** parameter corresponds to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify a value for this parameter, you do not need to configure the **ProductKey** or **DeviceName** parameter. If you specify values for the **IotId**,**ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ [
+ 'name' => 'Qos',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '1',
+ 'minimum' => '0',
+ 'default' => '0',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful. However, this value does not indicate that the service is implemented. To obtain the implementation result, view the logs of the device.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data returned if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Result' => [
+ 'description' => 'The result of the synchronous call.'."\n"
+ ."\n"
+ .'If you asynchronously call the service, this parameter is not returned.'."\n",
+ 'type' => 'string',
+ 'example' => '{"param1":1}',
+ ],
+ 'MessageId' => [
+ 'description' => 'The ID of the message. IoT Platform sends the message to the device to call the service.'."\n",
+ 'type' => 'string',
+ 'example' => 'abcabcabc1234****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Result\\": \\"{\\\\\\"param1\\\\\\":1}\\",\\n \\"MessageId\\": \\"abcabcabc1234****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<InvokeThingServiceResponse>\\n<Data>\\n <Result>{\\"code\\":200,\\"data\\":{},\\"id\\":\\"100686\\",\\"message\\":\\"success\\",\\"version\\":\\"1.0\\"}</Result>\\n <MessageId>abcabc123</MessageId>\\n</Data>\\n<RequestId>A44C818E-FA7F-4765-B1E7-01D14AE01C6A</RequestId>\\n<Success>true</Success>\\n</InvokeThingServiceResponse>","errorExample":""}]',
+ 'title' => 'InvokeThingService',
+ 'summary' => 'Calls a service of a device.',
+ 'description' => 'When you define a service in a Thing Specification Language (TSL) model, the mode in which the service is called is specified. When you call a service by using this operation, IoT Platform uses a call mode based on the value of the **Identifier** parameter.'."\n"
+ ."\n"
+ .'* Synchronous mode: IoT Platform sends a revert-remote procedure call (RRPC) request to a device. Then, the device synchronously returns an RRPC response. For more information about how to use an RRPC, see [What is RRPC?](~~90567~~)'."\n"
+ .'* Asynchronous mode: IoT Platform sends an RRPC request to a device. Then, the device asynchronously returns an RRPC response. For more information about topics, see [Device properties, events, and services](~~89301~~).'."\n"
+ ."\n"
+ .'> If you set the Checksum Type parameter to **Verification-free** when you create a product, the asynchronous mode is used.'."\n"
+ ."\n"
+ .'When the device receives the service call, the device returns a response to the service caller. When you configure the device, you must specify the response logic and response parameters. The data formats of response parameters must comply with the Alink protocol. Example:'."\n"
+ ."\n"
+ .'```'."\n"
+ ."\n"
+ .'{'."\n"
+ .' "id": "58***89",'."\n"
+ .' "code": 200,'."\n"
+ .' "data": {},'."\n"
+ .' "message": "success",'."\n"
+ .' "localizedMsg": "localizedMsg"'."\n"
+ .'}'."\n"
+ .'```'."\n"
+ ."\n"
+ .'> * The **id** parameter specifies the unique identifier of the request. The ID is generated by IoT Platform. The device can obtain the ID from the request parameters and then return the ID.'."\n"
+ .'>* The **code** parameter specifies the result of the service call. The value of the parameter is an integer.'."\n"
+ .'>* The **data** parameter specifies the result of the service call. This parameter is returned to the service caller. You can configure the parameters that you want to include in the returned result. The data must be in the JSON format.'."\n"
+ .'>* The **message** and **localizedMsg** parameters are optional.'."\n"
+ .'>* Link SDK for C of IoT Platform provides an example on how to use a TSL model. For more information, see [Call device services](~~258239~~).'."\n"
+ ."\n\n"
+ .'## Limits'."\n"
+ ."\n"
+ .'If you synchronously call a service, the timeout period is 8 seconds. If a server does not receive a response within 8 seconds, a timeout error occurs. No limit is imposed on the timeout period of asynchronous calls. '."\n"
+ ."\n\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 500 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must also configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'InvokeThingsService' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.****'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n"
+ .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'Qos',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '1',
+ 'minimum' => '0',
+ 'default' => '0',
+ ],
+ ],
+ [
+ 'name' => 'Identifier',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the service.'."\n"
+ ."\n"
+ .'You can use one of the following methods to view the **identifier** of the service.'."\n"
+ ."\n"
+ .'* Log on to the IoT Platform console. On the **Define Feature** tab of the product to which the device belongs, you can view the identifier.'."\n"
+ .'* Call the [QueryThingModel](~~150321~~) operation and view the identifier in the TSL information that is returned.'."\n"
+ ."\n"
+ .'> If a service named testService belongs to a custom module named testFb, you can set this parameter to ******testFb:testService******. The custom module is not the default module.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Set',
+ ],
+ ],
+ [
+ 'name' => 'Args',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The input parameter of the service. The value is a JSON string. Example: **Args={"param1": 1}**.'."\n"
+ ."\n"
+ .'If this parameter is left empty, set the value to **Args={}**.'."\n"
+ ."\n"
+ .'>If the TSL data is of the float or double type, the parameter values that correspond to the TSL data contain at least one decimal place. Examples: 10.0 and 11.1.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '{"param1":1}',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The name of the device whose service you want to call. You can specify up to 100 device names.'."\n",
+ ],
+ 'required' => true,
+ 'example' => 'device1',
+ 'maxItems' => 500,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful. However, this value does not indicate that the service is implemented. To obtain the implementation result, view the logs of the device.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<InvokeThingsServiceResponse>\\n<RequestId>059C3274-6197-4BEC-95E4-49A076330E57</RequestId>\\n<Success>true</Success>\\n</InvokeThingsServiceResponse>","errorExample":""}]',
+ 'title' => 'InvokeThingsService',
+ 'summary' => 'Calls multiple device services at a time.',
+ 'description' => 'You can only asynchronously call this operation.'."\n"
+ ."\n"
+ .'When the device receives the service call, the device returns a response to the service caller. When you configure the device, you must specify the response logic and response parameters. The data formats of response parameters must comply with the Alink protocol. Example:'."\n"
+ ."\n"
+ .'```'."\n"
+ ."\n"
+ .'{'."\n"
+ .' "id": "58***89",'."\n"
+ .' "code": 200,'."\n"
+ .' "data": {},'."\n"
+ .' "message": "success",'."\n"
+ .' "localizedMsg": "localizedMsg"'."\n"
+ .'}'."\n"
+ .'```'."\n"
+ ."\n"
+ .'> * The **id** parameter specifies the unique identifier of the request. The ID is generated by IoT Platform. The device can obtain the ID from the request parameters and return the ID.'."\n"
+ .'>* The **code** parameter specifies the result of the service call. The value of the parameter is an integer.'."\n"
+ .'>* The **data** parameter specifies the result of the service call. This parameter is returned to the service caller. You can specify the parameters included in the returned result. The data must be in JSON format.'."\n"
+ .'>* The **message** and **localizedMsg** parameters are optional.'."\n"
+ .'>* Link SDK for C of IoT Platform provides an example on how to use a TSL model. For more information, see [Call device services](~~258239~~).'."\n"
+ ."\n\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 10 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must also configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDevicePropertyData' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not configure this parameter, the call fails.'."\n"
+ .'* If your instance has no **Overview** page or ID, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n"
+ .'>If you specify a value for this parameter, you must also specify a value for the **DeviceName** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the device.'."\n"
+ ."\n"
+ .'>If you specify a value for this parameter, you must also specify a value for the **ProductKey** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'airconditioning',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The start of the time range to query. The value of the StartTime parameter must be less than the value of the **EndTime** parameter. The value is a timestamp in milliseconds, for example, 1579249499000.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '1579249499000',
+ ],
+ ],
+ [
+ 'name' => 'Identifier',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the property that you want to query.'."\n"
+ ."\n"
+ .'You can view the property **identifier** on the Define Feature tab of the Product Details page in the IoT Platform console. You can also call the [QueryThingModel](~~150321~~) operation and view the property identifier in the returned TSL data.'."\n"
+ ."\n"
+ .'> If a property named temperature belongs to a custom module named testFb, set this parameter to **testFb:temperature**. The custom module is not the default module.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'temperature',
+ ],
+ ],
+ [
+ 'name' => 'Asc',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The order in which you want to sort the property records that are returned. Valid values:'."\n"
+ ."\n"
+ .'* **0**: reverse chronological order'."\n"
+ .'* **1**: chronological order'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device to which the property belongs.:'."\n"
+ ."\n"
+ .'You can call the [QueryDeviceInfo](~~257184~~) operation to query the **ID** of the device.'."\n"
+ ."\n"
+ .'>If you specify a value for this parameter, you do not need to specify a value for the **ProductKey** or **DeviceName** parameter. The **IotId** parameter specifies a globally unique identifier (GUID) for the device. The value of the IotId parameter corresponds to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify a value for the **IotId** parameter and values for the **ProductKey** and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The end of the time range to query. The value of the EndTime parameter must be greater than the value of the **StartTime** parameter. The value is a timestamp in milliseconds, for example, 1579249499000.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '1579249499000',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The property data returned if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'NextTime' => [
+ 'description' => 'The start time of the property records on the next page. '."\n"
+ ."\n"
+ .'- If the **Asc** parameter is set to **0**, you can specify this value for the **EndTime** parameter when you call this operation again to query the next page of property records.'."\n"
+ .'- If the **Asc** parameter is set to **1**, you can specify this value for the **StartTime** parameter when you call this operation again to query the next page of property records.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1579249499000',
+ ],
+ 'NextValid' => [
+ 'description' => 'Indicates whether the next page exists.'."\n"
+ ."\n"
+ .'* **true**: The next page exists. If the return value of the NextValid parameter is true, the value of the **NextTime** parameter is returned. For more information, see the description of the **NextTime** parameter in this topic.'."\n"
+ .'* **false**: The next page does not exist.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'PropertyInfo' => [
+ 'description' => 'The list of property records.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Value' => [
+ 'description' => 'The value of the property.'."\n",
+ 'type' => 'string',
+ 'example' => '2',
+ ],
+ 'Time' => [
+ 'description' => 'The time when the property was modified.'."\n",
+ 'type' => 'string',
+ 'example' => '1516541885630',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"NextTime\\": 1579249499000,\\n \\"NextValid\\": true,\\n \\"List\\": {\\n \\"PropertyInfo\\": [\\n {\\n \\"Value\\": \\"2\\",\\n \\"Time\\": \\"1516541885630\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDevicePropertyDataResponse>\\n<Data>\\n <NextValid>false</NextValid>\\n <NextTime>1579249151177</NextTime>\\n <List>\\n <PropertyInfo>\\n <Value>32.46</Value>\\n <Time>1579249151178</Time>\\n </PropertyInfo>\\n </List>\\n</Data>\\n<RequestId>45391E10-446B-4986-863E-1BA8CC44748F</RequestId>\\n<Success>true</Success>\\n</QueryDevicePropertyDataResponse>","errorExample":""}]',
+ 'title' => 'QueryDevicePropertyData',
+ 'summary' => 'Queries the data of a property in a device or a digital twin node within a specified period of time.',
+ 'description' => 'If a device or a digital twin node has multiple properties, you can call this operation to query the data of the properties multiple times. You must specify a value for the **Identifier** parameter each time you call the operation. You can also call the [QueryDevicePropertiesData](~~99237~~) operation and specify multiple values for the **Identifier** parameter to query the data of the properties.'."\n"
+ ."\n"
+ .'## Limits'."\n"
+ ."\n"
+ .'You can query only property data that is generated within the previous 30 days. '."\n"
+ ."\n"
+ .'> The data of a property is stored from the day when the data is generated.'."\n"
+ .' '."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 50 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDevicePropertiesData' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of records that is returned for each property. Maximum value: 100.'."\n"
+ ."\n"
+ .'The number of records that are returned for an arbitrary property cannot exceed the limit.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'airconditioning',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The start of the time range to query. The value is a 13-digit timestamp in milliseconds, for example, 1579249499000.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1579249499000',
+ ],
+ ],
+ [
+ 'name' => 'Asc',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The sorting order of the returned property records. Valid values:'."\n"
+ ."\n"
+ .'* **0**: in reverse chronological order. In this case, the time that is specified by the **StartTime** parameter must be later than the time that is specified by the **EndTime** parameter.'."\n"
+ .'* **1**: in chronological order. In this case, the time that is specified by the **StartTime** parameter must be earlier than the time that is specified by the **EndTime** parameter.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device. The device ID is issued by IoT Platform.'."\n"
+ ."\n"
+ .'> The **IotId** parameter is a globally unique identifier (GUID), and corresponds to a combination of the **ProductKey** and **DeviceName** parameters. If you specify the **IotId** parameter and a combination of the **ProductKey** and **DeviceName** parameters at the same time, the **IotId** parameter is used.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The end of the time range to query. The value is a 13-digit timestamp in milliseconds, for example 1579249499000.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1579249499000',
+ ],
+ ],
+ [
+ 'name' => 'Identifier',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The identifiers of the properties.'."\n"
+ ."\n"
+ .'The property identifiers must be unique.'."\n"
+ ."\n"
+ .'You can view the property identifiers in the IoT Platform console. Go to the Define Feature tab of the Product Details page. You can also call the [QueryThingModel](~~150321~~) operation and view the property identifiers in the returned TSL data.'."\n"
+ ."\n"
+ .'> If a property named temperature belongs to a custom module named testFb, set this pararmeter to **testFb:temperature**. The custom module is not the default module.'."\n",
+ ],
+ 'required' => true,
+ 'example' => 'temperature',
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'NextValid' => [
+ 'description' => 'Indicates whether the next page exists.'."\n"
+ ."\n"
+ .'* **true**: The next page exists.'."\n"
+ .'* **false**: The next page does not exist.'."\n"
+ ."\n"
+ .'If the return value of the **NextValid** parameter is **true**, you can use the value of the **NextTime** parameter as the value of the **StartTime** parameter when you query the next page of results.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'NextTime' => [
+ 'description' => 'The start time to query on the next page.'."\n"
+ ."\n"
+ .'You can use the value of the **NextTime** parameter as the value of the **StartTime** parameter when you query the next page of results.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1579249499000',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. '."\n"
+ ."\n"
+ .'- **true**: The call was successful.'."\n"
+ .'- **false**: The call failed.',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'PropertyDataInfos' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'PropertyDataInfo' => [
+ 'description' => 'The list of property records returned if the call is successful. For more information, see **PropertyDataInfo**.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Identifier' => [
+ 'description' => 'The identifier of the property.'."\n",
+ 'type' => 'string',
+ 'example' => 'temperature',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'PropertyInfo' => [
+ 'description' => 'The list of property records.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Value' => [
+ 'description' => 'The value of the property.'."\n",
+ 'type' => 'string',
+ 'example' => '21.3',
+ ],
+ 'Time' => [
+ 'description' => 'The time when the property was submitted. The value is a timestamp in milliseconds, such as 1579249499000.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1579249499000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextValid\\": true,\\n \\"NextTime\\": 1579249499000,\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PropertyDataInfos\\": {\\n \\"PropertyDataInfo\\": [\\n {\\n \\"Identifier\\": \\"temperature\\",\\n \\"List\\": {\\n \\"PropertyInfo\\": [\\n {\\n \\"Value\\": \\"21.3\\",\\n \\"Time\\": 1579249499000\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDevicePropertiesData>\\n<NextValid>false</NextValid>\\n<RequestId>CC4CAC00-ED4C-4004-9E8D-E8B4A78552FA</RequestId>\\n<PropertyDataInfos>\\n <PropertyDataInfo>\\n <List>\\n <PropertyInfo>\\n <Value>32.46</Value>\\n <Time>1579249151178</Time>\\n </PropertyInfo>\\n </List>\\n <Identifier>Temperature</Identifier>\\n </PropertyDataInfo>\\n <PropertyDataInfo>\\n <List>\\n <PropertyInfo>\\n <Value>48</Value>\\n <Time>1579249151178</Time>\\n </PropertyInfo>\\n </List>\\n <Identifier>Humidity</Identifier>\\n </PropertyDataInfo>\\n</PropertyDataInfos>\\n<Success>true</Success>\\n</QueryDevicePropertiesData>","errorExample":""}]',
+ 'title' => 'QueryDevicePropertiesData',
+ 'summary' => 'Queries multiple properties that are submitted by a device within a specified period.',
+ 'description' => 'When you call this operation to query property records within a specified period, the number of records for a property at a point in time may reach the limit.**** The limit is specified by the **PageSize** parameter. In this case, the query stops. Some records of other properties may be not returned.**** You can check whether all records of a property are returned based on the NextValid repsonse parameter: '."\n"
+ ."\n"
+ .'- If the value of the **NextValid** parameter is true, unretrieved records exist in the period that is indicated by the **NextTime** and **EndTime** parameter. '."\n"
+ ."\n"
+ .'You can use the value of the **NextTime** response parameter as the value of the StartTime request parameter and call this operation again to query the rest records. You can call this operation multiple times until the value of the **NextValid** parameter is false. > To retrieve all property records within a specified period, you can set the **PageSize** parameter to the maximum value. Then, call this operation multiple times until the value of the **NextValid** parameter is false.'."\n"
+ .'- If the value of the **NextValid** parameter is false, all property records are returned.'."\n"
+ ."\n"
+ .'## Limits'."\n"
+ ."\n"
+ .'* A maximum of 10 properties can be queried at a time. A maximum of 100 records can be queried for each property.'."\n"
+ ."\n"
+ .'* You can query property data that is generated within the last 30 days.'."\n"
+ ."\n"
+ .'> The storage period of a property record is calculated from the day when the property record was generated.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'>RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceEventData' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify this parameter. Otherwise, the call fails.'."\n"
+ .'>* If the **Overview** page does not appear in the IoT Platform console or no ID is generated for your instance, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: 1 to 50. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'> If you specify a value for this parameter, you must also specify a value for the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The beginning of the time range to query. The value is a 13-digit timestamp in milliseconds. Example: 1516538300303.'."\n"
+ ."\n"
+ .'> You can query the event data only of the most recent 30 days.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1516541900303',
+ ],
+ ],
+ [
+ 'name' => 'Identifier',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the event that you want to query. You can view the event identifier on the Define Feature tab of the Product Details page in the IoT Platform console. You can also call the [QueryThingModel](~~150321~~) operation and view the event identifier in the returned TSL data.'."\n"
+ ."\n"
+ .'> If the PowerOff event belongs to a custom module named testFb, this parameter is set to **testFb:PowerOff**.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the system queries all event data of the default module and custom modules.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'PowerOff',
+ ],
+ ],
+ [
+ 'name' => 'EventType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the event that you want to query. Valid values:'."\n"
+ ."\n"
+ .'* **info**: Information.'."\n"
+ .'* **alert**: Alert.'."\n"
+ .'* **error**: Error.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'info',
+ ],
+ ],
+ [
+ 'name' => 'Asc',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The order in which you want to sort the returned event records. Valid values:'."\n"
+ ."\n"
+ .'* **0**: in reverse chronological order. This is the default value.'."\n"
+ .'* **1**: in chronological order.'."\n"
+ ."\n"
+ .'> If you do not configure this parameter, the default value **0** is used. The system sorts the returned event records in reverse chronological order.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n"
+ ."\n"
+ .'> If you specify a value for this parameter, you do not need to specify a value for the **ProductKey** or **DeviceName** parameter. The **IotId** parameter specifies a globally unique identifier (GUID) for the device. The value of the IotId parameter corresponds to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify a value for the **IotId** parameter and values for the **ProductKey** and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The end of the time range to query. The value is a 13-digit timestamp in milliseconds. Example: 1516541900303.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1516541900303',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The event records returned if the call succeeds.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'NextValid' => [
+ 'description' => 'Indicates whether the next page exists.'."\n"
+ ."\n"
+ .'* **true**: The next page exists. The value of the **NextTime** parameter is returned. For more information, see the description of the **NextTime** parameter in this topic.'."\n"
+ .'* **false**: The next page does not exist.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'NextTime' => [
+ 'description' => 'The start time of the event records on the next page. The value is a timestamp in milliseconds. '."\n"
+ ."\n"
+ .'- If the **Asc** parameter is set to 0, you can specify this value for the **EndTime** parameter when you call this operation again to query the next page of event records.'."\n"
+ .'- If the **Asc** parameter is set to 1, you can specify this value for the **StartTime** parameter when you call this operation again to query the next page of event records.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1579163099000',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'EventInfo' => [
+ 'description' => 'The array of events. Each element represents an event.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Identifier' => [
+ 'description' => 'The identifier of the event.'."\n",
+ 'type' => 'string',
+ 'example' => 'PowerOff',
+ ],
+ 'OutputData' => [
+ 'description' => 'The output parameter of the event. The value is a string in the MAP format.'."\n",
+ 'type' => 'string',
+ 'example' => '{"structArgs":{"structchildFLOATf71c20e":1.23}}',
+ ],
+ 'Time' => [
+ 'description' => 'The time when the event occurred. The value is a timestamp in milliseconds.'."\n",
+ 'type' => 'string',
+ 'example' => '1579163099000',
+ ],
+ 'EventType' => [
+ 'description' => 'The type of the event. Valid values:'."\n"
+ ."\n"
+ .'* **info**: information.'."\n"
+ .'* **alert**: alert.'."\n"
+ .'* **error**: error.'."\n",
+ 'type' => 'string',
+ 'example' => 'info',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the event.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"NextValid\\": true,\\n \\"NextTime\\": 1579163099000,\\n \\"List\\": {\\n \\"EventInfo\\": [\\n {\\n \\"Identifier\\": \\"PowerOff\\",\\n \\"OutputData\\": \\"{\\\\\\"structArgs\\\\\\":{\\\\\\"structchildFLOATf71c20e\\\\\\":1.23}}\\",\\n \\"Time\\": \\"1579163099000\\",\\n \\"EventType\\": \\"info\\",\\n \\"Name\\": \\"设备关机\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceEventDataResponse>\\n<Data>\\n <NextValid>false</NextValid>\\n <NextTime>1579249151177</NextTime>\\n <List>\\n <EventInfo>\\n <Name>testEventInfoName</Name>\\n <Time>1516517974638</Time>\\n <OutputData>{\\"structArgs\\":{\\"structchildFLOATf71c20e\\":1.23,\\"structchildINT6b6b626\\":3,\\"structchildDATE663436a\\":\\"1516517966152\\",\\"structchildDOUBLE08d0f74\\":1.23,\\"structchildTEXTdc764f9\\":\\"07b68264b0ba42c18e5f\\",\\"structchildBOOLd260729\\":0,\\"structchildENUMbe62590\\":1},\\"enumArgs\\":0,\\"boolArgs\\":0,\\"floatArgs\\":2.3,\\"dateArgs\\":\\"1516517966152\\",\\"intArgs\\":1,\\"doubleArgs\\":2.3,\\"textArgs\\":\\"dV56zbkzjBjw1Ti1dA52\\"}</OutputData>\\n <EventType>info</EventType>\\n <Identifier>testEventInfo</Identifier>\\n </EventInfo>\\n </List>\\n</Data>\\n<RequestId>45391E10-446B-4986-863E-1BA8CC44748F</RequestId>\\n<Success>true</Success>\\n</QueryDeviceEventDataResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceEventData',
+ 'summary' => 'Queries the event records of a specified device.',
+ 'description' => 'You can query only the event records that are generated in the previous 30 days.'."\n"
+ ."\n"
+ .'> The storage period of an event record is calculated from the day when the record is generated.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 50 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceServiceData' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n"
+ .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n"
+ .'>If you specify a value for this parameter, you must configure the **DeviceName** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'> If you specify a value for this parameter, you must configure the **ProductKey** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The beginning of the time range to query. The value is a Unix timestamp. Unit: milliseconds. Example: 1579249499000.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1579249499000',
+ ],
+ ],
+ [
+ 'name' => 'Identifier',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the service. The **identifier** of the service that is called. You can view the service identifier on the Define Feature tab in the IoT Platform console. You can also call the [QueryThingModel](~~150321~~) operation to view the service identifier.'."\n"
+ ."\n"
+ .'> If a service named **testService** belongs to a custom module named **testFb**, you can set this parameter to **testFb:testService**. The custom module is not the default module.'."\n"
+ ."\n"
+ .'If you do not specify a value for this parameter, the system queries all service data of the default module and custom modules.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Set',
+ ],
+ ],
+ [
+ 'name' => 'Asc',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The sorting order of the returned service call records. Valid values:'."\n"
+ ."\n"
+ .'* **0**: reverse chronological order'."\n"
+ .'* **1**: chronological order'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n"
+ ."\n"
+ .'> The IotId parameter specifies a GUID for the device. The value of the **IotId** parameter is equivalent to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify a value for this parameter, you do not need to configure the **ProductKey** or **DeviceName** parameter. If you specify values for the **IotId**, **ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The end of the time range to query. The value is a Unix timestamp. Unit: milliseconds. Example: 1579249499000.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1579249499000',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code that is returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request. The ID uniquely identifies the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The service call records returned if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'NextValid' => [
+ 'description' => 'Indicates whether the next page exists.'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n"
+ ."\n"
+ .'If the return value of the **NextValid** parameter is **true**, you can use the value of the **NextTime** parameter as the value of the **StartTime** parameter when you query the next page of results.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'NextTime' => [
+ 'description' => 'The start time of service call records on the next page. '."\n"
+ ."\n"
+ .'If you call the QueryDeviceServiceData operation to query the service call records on the next page, you must set the **StartTime** parameter to the value of this parameter.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1579335899000',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'ServiceInfo' => [
+ 'description' => 'The array of service call records. Each element represents a service call record.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Identifier' => [
+ 'description' => 'The identifier of the service.'."\n",
+ 'type' => 'string',
+ 'example' => 'Set',
+ ],
+ 'OutputData' => [
+ 'description' => 'The output parameter of the service. The value is a string in the MAP format. Syntax: `key:value`.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"code\\":200,\\"data\\":{},\\"id\\":\\"100686\\",\\"message\\":\\"success\\",\\"version\\":\\"1.0\\"}',
+ ],
+ 'Time' => [
+ 'description' => 'The time when the service was called.'."\n",
+ 'type' => 'string',
+ 'example' => '1579249499000',
+ ],
+ 'InputData' => [
+ 'description' => 'The input parameter of the service. The value is a string in the MAP format. Syntax: `key:value`.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"LightAdjustLevel\\":123}',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the service.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"NextValid\\": true,\\n \\"NextTime\\": 1579335899000,\\n \\"List\\": {\\n \\"ServiceInfo\\": [\\n {\\n \\"Identifier\\": \\"Set\\",\\n \\"OutputData\\": \\"{\\\\\\\\\\\\\\"code\\\\\\\\\\\\\\":200,\\\\\\\\\\\\\\"data\\\\\\\\\\\\\\":{},\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"100686\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"message\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"success\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"version\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1.0\\\\\\\\\\\\\\"}\\",\\n \\"Time\\": \\"1579249499000\\",\\n \\"InputData\\": \\"{\\\\\\\\\\\\\\"LightAdjustLevel\\\\\\\\\\\\\\":123}\\",\\n \\"Name\\": \\"设置温度\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceServiceDataResponse>\\n<Data>\\n <NextValid>true</NextValid>\\n <NextTime>1517315865197</NextTime>\\n <List>\\n <ServiceInfo>\\n <Name>set</Name>\\n <Time>1517315865198</Time>\\n <OutputData>{\\"code\\":200,\\"data\\":{},\\"id\\":\\"100686\\",\\"message\\":\\"success\\",\\"version\\":\\"1.0\\"}</OutputData>\\n <InputData>{\\"LightAdjustLevel\\":123}</InputData>\\n <Identifier>set</Identifier>\\n </ServiceInfo>\\n </List>\\n</Data>\\n<RequestId>A44C818E-FA7F-4765-B1E7-01D14AE01C6A</RequestId>\\n<Success>true</Success>\\n</QueryDeviceServiceDataResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceServiceData',
+ 'summary' => 'Queries the service call records of a specified device.',
+ 'description' => 'You can query only the service call records of the previous 30 days.'."\n"
+ ."\n"
+ .'> The storage period of a service call record is calculated from the day when the service is called.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 50 times per second per account. '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'SetDeviceDesiredProperty' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.****'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n"
+ .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you configure this parameter, you must also specify a value for the **DeviceName** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the device.'."\n"
+ ."\n"
+ .'> If you specify a value for this parameter, you must also specify a value for the **ProductKey** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n"
+ ."\n"
+ .'> The IotId parameter specifies a globally unique identifier (GUID) for the device. The value of the **IotId** parameter corresponds to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify a value for this parameter, you do not need to specify the **ProductKey** or **DeviceName** parameters. If you specify values for the **IotId**, **ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ [
+ 'name' => 'Versions',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The version number of the desired property value. The value of this parameter is a JSON string. Format: Key:Value. Example: {"Temperature":2}.'."\n"
+ ."\n"
+ .'* **Key** specifies the identifier of the property. You can view the property identifier on the Define Feature tab of the Product Details page in the IoT Platform console.'."\n"
+ ."\n"
+ .'> The property identifier must be unique.'."\n"
+ ."\n"
+ .'* **Value** specifies the version number of the desired property value.'."\n"
+ ."\n"
+ .' The first time you specify a desired property value, set the Value parameter to 0. After you set the property value, the version number changes to 1. Each time you specify a desired property value, IoT Platform automatically increases the version number by 1. The second time that you specify a desired property value, the version number changes to 2. The third time that you specify a desired property value, set the version number to 2. After you specify the desired property value, the version number changes to 3.'."\n"
+ ."\n"
+ .'> If the version number that you specify for this parameter is not the current version number, the server rejects the request. If you are not sure about the current version number, you do not need to specify a version number. However, you must enter a valid JSON object {}.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '{"Temperature":2}',
+ ],
+ ],
+ [
+ 'name' => 'Items',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The property value that you want to specify. The value of this parameter is a JSON string. Format: **Key:Value**. Example: {"Temperature":35}. You can specify up to 10 desired property values.'."\n"
+ ."\n"
+ .'* **Key** specifies the identifier of the property. You can view the property identifier on the **Define Feature**[ tab of the Product Details page in the IoT Platform console. You can also call the ](~~150321~~)QueryThingModel operation and view the property identifier in the returned TSL data.'."\n"
+ ."\n"
+ .' If the temperature property belongs to a custom module named testFb, this parameter is set to **{"testFb:temperature":35}**.'."\n"
+ ."\n"
+ .'>The specified property must allow read/write access. If you specify a read-only property, the setting fails. The property identifier must be unique.'."\n"
+ ."\n"
+ .'* **Value** specifies the desired value of the property. The value must match the data type and value range that are defined for the property.'."\n"
+ ."\n"
+ .'> If you set Value to null, the desired value of the property is cleared.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '{"Temperature":35}',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data returned if the call is successful. For more information, see the following parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'MessageId' => [
+ 'description' => 'The ID of the message that IoT Platform sends to the device to specify desired property values.'."\n",
+ 'type' => 'string',
+ 'example' => '300511751',
+ ],
+ 'Versions' => [
+ 'description' => 'The current version numbers of the desired property values.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"Temperature\\":2}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"MessageId\\": \\"300511751\\",\\n \\"Versions\\": \\"{\\\\\\\\\\\\\\"Temperature\\\\\\\\\\\\\\":2}\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<SetDeviceDesiredPropertyResponse>\\n<Data>\\n <MessageId>300511751</MessageId>\\n <Versions>{\\"LightAdjustLevel\\":2}</Versions>\\n</Data>\\n<RequestId>AADE79D2-B328-4FC6-A3E0-34BB23BCA440</RequestId>\\n<Success>true</Success>\\n</SetDeviceDesiredPropertyResponse>","errorExample":""}]',
+ 'title' => 'SetDeviceDesiredProperty',
+ 'summary' => 'Specifies desired values for multiple device properties at a time.',
+ 'description' => '* You cannot query the desired values of read-only properties.'."\n"
+ .'* You can specify up to 10 desired property values in a call.'."\n"
+ .'* After a device is created, the value of the **Version** parameter is 0. If you want to configure the **Version** parameter the first time you specify a desired property value, set the **Version** parameter to 0.'."\n"
+ ."\n"
+ .'> If the Thing Specification Language (TSL) data is of the float or double type, the parameter values that correspond to the TSL data contain at least one decimal place. Examples: 10.0 and 11.1.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 50 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must also configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceDesiredProperty' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'>* If no **Overview** page or ID is generated for your instance, you do not need configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you specify a value for this parameter, you must configure the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'> If you specify a value for this parameter, you must configure the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n"
+ ."\n"
+ .'> If you specify a value for this parameter, you do not need to configure the **ProductKey** or **DeviceName** parameter. The **IotId** parameter specifies a GUID for the device. The value of the IotId parameter is equivalent to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify values for the **IotId**, **ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ [
+ 'name' => 'FunctionBlockId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the custom TSL module. Each identifier is unique in a product.'."\n"
+ ."\n"
+ .'If you do not configure this parameter, the system queries the data of the default module.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'BatteryModule',
+ ],
+ ],
+ [
+ 'name' => 'Identifier',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The identifiers of the properties that you want to query.'."\n"
+ ."\n"
+ .'To view the property identifiers, go to the Define Feature tab of the Product Details page in the IoT Platform console.'."\n"
+ ."\n"
+ .'* You can specify up to 10 property identifiers in a single call.'."\n"
+ .'* Each property identifier must be unique.'."\n"
+ .'* If you do not configure this parameter, the desired values of all properties are returned.'."\n",
+ ],
+ 'required' => false,
+ 'example' => 'Temperature',
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data returned in the **List** parameter if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DesiredPropertyInfo' => [
+ 'description' => 'The desired property information returned in the **DesiredPropertyInfo** parameter.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Time' => [
+ 'description' => 'The time when the desired value of the property was last modified. Unit: milliseconds.'."\n",
+ 'type' => 'string',
+ 'example' => '1579335899000',
+ ],
+ 'Value' => [
+ 'description' => 'The desired value of the property.'."\n"
+ ."\n"
+ .'> If you call the [ClearDeviceDesiredProperty](~~477431~~) operation to delete the desired value of the property, the **Value** parameter is not returned.'."\n",
+ 'type' => 'string',
+ 'example' => '34',
+ ],
+ 'DataType' => [
+ 'description' => 'The data type of the property.'."\n",
+ 'type' => 'string',
+ 'example' => 'int',
+ ],
+ 'Version' => [
+ 'description' => 'The version of the desired value.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'Unit' => [
+ 'description' => 'The unit of the property.'."\n",
+ 'type' => 'string',
+ 'example' => '℃',
+ ],
+ 'Identifier' => [
+ 'description' => 'The identifier of the property.'."\n",
+ 'type' => 'string',
+ 'example' => 'Temperature',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the property.'."\n",
+ 'type' => 'string',
+ 'example' => 'airconditioning',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"List\\": {\\n \\"DesiredPropertyInfo\\": [\\n {\\n \\"Time\\": \\"1579335899000\\",\\n \\"Value\\": \\"34\\",\\n \\"DataType\\": \\"int\\",\\n \\"Version\\": 1,\\n \\"Unit\\": \\"℃\\",\\n \\"Identifier\\": \\"Temperature\\",\\n \\"Name\\": \\"airconditioning\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceDesiredPropertyResponse>\\n<Data>\\n <List>\\n <DesiredPropertyInfo>\\n <Name>温度</Name>\\n <Value>35</Value>\\n <Time>1581778567154</Time>\\n <DataType>float</DataType>\\n <Version>1</Version>\\n <Identifier>Temperature</Identifier>\\n <Unit>°C</Unit>\\n </DesiredPropertyInfo>\\n </List>\\n</Data>\\n<RequestId>F0B1F7C8-A799-44C3-BDF8-1B8F9E91E675</RequestId>\\n<Success>true</Success>\\n</QueryDeviceDesiredPropertyResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceDesiredProperty',
+ 'summary' => 'Queries the desired values of properties of a device.',
+ 'description' => '* The desired values of read-only properties cannot be queried.'."\n"
+ .'* You can query the desired values of up to 10 properties in a single call.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 50 times per second per account. '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDevicePropertyStatus' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'>* If no **Overview** page or instance ID appears in the console, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n"
+ .'>If you specify this parameter, you must also specify the **DeviceName** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'>If you specify this parameter, you must also specify the **ProductKey** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device or digital twin node whose property data you want to query.'."\n"
+ ."\n"
+ .'* You can call the [QueryDeviceInfo](~~257184~~) operation to query the **ID** of the device.'."\n"
+ .'* Log on to the IoT Platform console. On the **Twin Details** page, click the digital twin node to view its **ID**.'."\n"
+ ."\n"
+ .'>If you specify this parameter, you do not need to specify the **ProductKey** and **DeviceName** parameters. The **IotId** parameter specifies a globally unique identifier (GUID) for the device. The value of the IotId parameter corresponds to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify the **IotId**, **ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ [
+ 'name' => 'FunctionBlockId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the custom TSL module. Each identifier is unique in a product.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the system queries the data of the default module.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'BatteryModule',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data returned if the call succeeds. For more information, see **List**.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'PropertyStatusInfo' => [
+ 'description' => 'The array of property information. The information about each property is indicated by the **PropertyStatusInfo** parameter.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Time' => [
+ 'description' => 'The time when the property was modified, in milliseconds.'."\n",
+ 'type' => 'string',
+ 'example' => '1517553572362',
+ ],
+ 'Value' => [
+ 'description' => 'The value of the property.'."\n",
+ 'type' => 'string',
+ 'example' => '25',
+ ],
+ 'DataType' => [
+ 'description' => 'The data type of the property. Valid values:'."\n"
+ ."\n"
+ .'* **int**: integer'."\n"
+ .'* **float**: single-precision floating-point number'."\n"
+ .'* **double**: double-precision floating-point number'."\n"
+ .'* **enum**: enumeration'."\n"
+ .'* **bool**: Boolean'."\n"
+ .'* **text**: character'."\n"
+ .'* **date**: time (string-type UTC timestamp in milliseconds)'."\n"
+ .'* **array**: array'."\n"
+ .'* **struct**: structure'."\n",
+ 'type' => 'string',
+ 'example' => 'int',
+ ],
+ 'Unit' => [
+ 'description' => 'The unit of the property value.'."\n",
+ 'type' => 'string',
+ 'example' => '°C',
+ ],
+ 'Identifier' => [
+ 'description' => 'The identifier of the property.'."\n",
+ 'type' => 'string',
+ 'example' => 'Temperature',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the property.'."\n",
+ 'type' => 'string',
+ 'example' => 'temperature',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"List\\": {\\n \\"PropertyStatusInfo\\": [\\n {\\n \\"Time\\": \\"1517553572362\\",\\n \\"Value\\": \\"25\\",\\n \\"DataType\\": \\"int\\",\\n \\"Unit\\": \\"°C\\",\\n \\"Identifier\\": \\"Temperature\\",\\n \\"Name\\": \\"temperature\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDevicePropertyStatusResponse>\\n<Data>\\n <List>\\n <PropertyStatusInfo>\\n <Name>湿度</Name>\\n <Value>48</Value>\\n <Time>1579249151178</Time>\\n <DataType>int</DataType>\\n <Identifier>Humidity</Identifier>\\n <Unit>%</Unit>\\n </PropertyStatusInfo>\\n <PropertyStatusInfo>\\n <Name>温度</Name>\\n <Value>32.46</Value>\\n <Time>1579249151178</Time>\\n <DataType>float</DataType>\\n <Identifier>Temperature</Identifier>\\n <Unit>°C</Unit>\\n </PropertyStatusInfo>\\n </List>\\n</Data>\\n<RequestId>84BAD25B-9879-4BA1-9213-F576C6558D77</RequestId>\\n<Success>true</Success>\\n</QueryDevicePropertyStatusResponse>","errorExample":""}]',
+ 'title' => 'QueryDevicePropertyStatus',
+ 'summary' => 'Queries all the property snapshots of a device or digital twin node.',
+ 'description' => 'To query the property data of a digital twin node, you must set the **IotId** parameter to the ID of the digital twin node.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 200 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceOriginalPropertyStatus' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'NextPageToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the next page. If the next page exists, this parameter is returned. In this case, you must add the value of the parameter to the next request.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Bo***x44Qx',
+ ],
+ ],
+ [
+ 'name' => 'Asc',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The chronological order in which property data is queried. Valid values:'."\n"
+ ."\n"
+ .'* 0: in reverse chronological order.'."\n"
+ .'* 1: in chronological order.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device. It is the unique identifier that IoT Platform generated for the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you do not need to specify the **ProductKey** or **DeviceName** parameter. The **IotId** parameter specifies a unique identifier for the device, and corresponds to a combination of the **ProductKey** and **DeviceName** parameters. If you specify the **IotId** parameter and a combination of the **ProductKey** and **DeviceName** parameters at the same time, the **IotId** parameter takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.common.InvalidPageParams',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call succeeds.'."\n"
+ ."\n"
+ .'* true: The call succeeded.'."\n"
+ .'* false: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data returned if the call succeeds. For more information, see the parameters of the List parameter.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'NextPageToken' => [
+ 'description' => 'The identifier of the next page.',
+ 'type' => 'string',
+ 'example' => 'Bo***x44Qx',
+ ],
+ 'NextValid' => [
+ 'description' => 'Indicates whether the next page exists.'."\n"
+ ."\n"
+ .'* **true**: The next page exists.'."\n"
+ .'* **false**: The next page does not exist.'."\n"
+ ."\n"
+ .'If the value ******true** is returned, you can add the value of the **NextPageToken** parameter**** to the next query. This allows you to query the data that is not returned by the current query.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'PropertyStatusDataInfo' => [
+ 'description' => 'The array of property information. The information about each property is indicated by the **PropertyStatusInfo** parameter.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Identifier' => [
+ 'description' => 'The identifier of the property.'."\n",
+ 'type' => 'string',
+ 'example' => 'Temperture',
+ ],
+ 'Value' => [
+ 'description' => 'The value of the property.'."\n",
+ 'type' => 'string',
+ 'example' => '26',
+ ],
+ 'Time' => [
+ 'description' => 'The time when the property was modified, in milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1517553572362',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.common.InvalidPageParams\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"NextPageToken\\": \\"Bo***x44Qx\\",\\n \\"NextValid\\": true,\\n \\"List\\": {\\n \\"PropertyStatusDataInfo\\": [\\n {\\n \\"Identifier\\": \\"Temperture\\",\\n \\"Value\\": \\"26\\",\\n \\"Time\\": 1517553572362\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceOriginalPropertyStatusResponse>\\n<Data>\\n <NextValid>false</NextValid>\\n <nextPageToken>Bo***x44Qx</nextPageToken>\\n <List>\\n <PropertyStatusInfo>\\n <Value>48</Value>\\n <Time>1579249151178</Time>\\n <Identifier>Humidity</Identifier>\\n </PropertyStatusInfo>\\n <PropertyStatusInfo>\\n <Value>32.46</Value>\\n <Time>1579249151178</Time>\\n <Identifier>Temperature</Identifier>\\n </PropertyStatusInfo>\\n </List>\\n</Data>\\n<RequestId>84BAD25B-9879-4BA1-9213-F576C6558D77</RequestId>\\n<Success>true</Success>\\n</QueryDeviceOriginalPropertyStatusResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceOriginalPropertyStatus',
+ 'summary' => 'Queries the original property snapshots that are submitted by a specified device. These snapshots include properties that are verified and not verified by a specified Thing Specification Language (TSL) model.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this API operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceOriginalPropertyData' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n"
+ .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of records that can be returned for each property. Maximum value: 100.'."\n"
+ ."\n"
+ .'The number of records that are returned for an arbitrary property cannot exceed the limit.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.****'."\n"
+ ."\n\n"
+ ."\n"
+ .'> If you specify a value for this parameter, you must configure the **DeviceName** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'> If you specify a value for this parameter, you must configure the **ProductKey** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'NextPageToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The token that is used to retrieve the next page of the query results. If the next page exists, this parameter is returned. In this case, you must add the value of the parameter to the next request.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Bo***x44Qx',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The start of the time range to query. The value must be a 13-digit timestamp.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1569249488000',
+ ],
+ ],
+ [
+ 'name' => 'Identifier',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the property.'."\n"
+ ."\n"
+ .'* If weak verification is used, you can perform the following steps to view the **Identifier** of a device property: Log on to the IoT Platform console and go to the Define Feature tab of the Product Details page. You can also call the [QueryThingModel](~~150321~~) operation and view the property identifier in the returned TSL data.'."\n"
+ .'* If no verification is used, the value must be the same as the custom **identifier** that is submitted by the device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'temperature',
+ ],
+ ],
+ [
+ 'name' => 'Asc',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The order in which you want to sort the returned property records. Valid values:'."\n"
+ ."\n"
+ .'* 0: descending.'."\n"
+ .'* 1: ascending.'."\n"
+ ."\n"
+ .'> The **start time** must be earlier than the **end time**. The system sorts the returned records based on the specified order.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n"
+ ."\n"
+ .'> The IotId parameter specifies a unique ID for the device. The value of the **IotId** parameter is equivalent to a combination of the values of the **ProductKey** and **DeviceName.N** parameters. If you specify the IotId parameter, you do not need to configure the **ProductKey** or **DeviceName.N** parameter. If you specify values for the **IotId**, **ProductKey**, and **DeviceName.N** parameters, the value of the **IotId** parameter takes precedence.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The end of the time range to query. The value must be a 13-digit timestamp.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1579249499000',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.device.InvalidIoTId',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The property records returned if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'nextPageToken' => [
+ 'description' => 'The token that is used to retrieve the next page of the query results.'."\n",
+ 'type' => 'string',
+ 'example' => 'Bo***x44Qx',
+ ],
+ 'NextValid' => [
+ 'description' => 'Indicates whether the next page exists. '."\n"
+ ."\n"
+ .'- **true**: The next page exists.'."\n"
+ .'- **false**: The next page does not exist.'."\n"
+ ."\n"
+ .'If **true** is returned for the **NextValid** parameter, you can add the value of the **NextPageToken** parameter to the next request. This way, you can query the data that is not included in the current query.',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'PropertyInfo' => [
+ 'description' => 'The properties. Each element indicates a property.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Value' => [
+ 'description' => 'The value of the property.'."\n",
+ 'type' => 'string',
+ 'example' => '2',
+ ],
+ 'Time' => [
+ 'description' => 'The time when the property was modified.'."\n",
+ 'type' => 'string',
+ 'example' => '1516541885630',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.device.InvalidIoTId\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"nextPageToken\\": \\"Bo***x44Qx\\",\\n \\"NextValid\\": true,\\n \\"List\\": {\\n \\"PropertyInfo\\": [\\n {\\n \\"Value\\": \\"{\\\\\\\\\\\\\\"data\\\\\\\\\\\\\\":32.49}\\",\\n \\"Time\\": \\"1516541885630\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceOriginalPropertyDataResponse>\\n<RequestId>DD8EE383-F007-5647-8B6B-0C52FAC3E7F2</RequestId>\\n<Data>\\n <NextValid>true</NextValid>\\n <nextPageToken>MTcxMjc0N***********</nextPageToken>\\n <List>\\n <PropertyInfo>\\n <Value>{\\"data\\":31.26}</Value>\\n <Time>1712747043556</Time>\\n </PropertyInfo>\\n <PropertyInfo>\\n <Value>{\\"data\\":32.43}</Value>\\n <Time>1712747043108</Time>\\n </PropertyInfo>\\n <PropertyInfo>\\n <Value>{\\"data\\":30.58}</Value>\\n <Time>1712747042619</Time>\\n </PropertyInfo>\\n <PropertyInfo>\\n <Value>{\\"data\\":32.49}</Value>\\n <Time>1712747042182</Time>\\n </PropertyInfo>\\n <PropertyInfo>\\n <Value>{\\"data\\":30.66}</Value>\\n <Time>1712747041731</Time>\\n </PropertyInfo>\\n </List>\\n</Data>\\n<Code/>\\n<Success>true</Success>\\n</QueryDeviceOriginalPropertyDataResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceOriginalPropertyData',
+ 'summary' => 'Queries the original property records that are submitted by a specified device. These records include the records of properties that passed and failed the verification of a specified Thing Specification Language (TSL) model.',
+ 'description' => 'You can query only the property records that are generated within the previous 30 days.'."\n"
+ ."\n"
+ .'> The data of a property is stored from the day when the data is generated.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 50 times per second per account. '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceOriginalEventData' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: 1 to 50. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'NextPageToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the next page. If the next page exists, this parameter is returned. In this case, you must add the value of the parameter to the next request.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Bo***x44Qx',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The start of the time range to query. The value is a 13-digit timestamp in milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1516538300303',
+ ],
+ ],
+ [
+ 'name' => 'Identifier',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The event identifier that you want to query.'."\n"
+ ."\n"
+ .'* If low-level verification is applied, you can perform the following steps to view the **Identifier** of a device event: Log on to the IoT Platform console and go to the Define Feature tab of the Product Details page. You can also call the [QueryThingModel](~~150321~~) operation and view the service identifier in the returned TSL data.'."\n"
+ .'* If no verification is applied, the value must be the same as the value of the custom** identifier** that is submitted by the device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'PowerOff',
+ ],
+ ],
+ [
+ 'name' => 'Asc',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The sorting order of the returned event records. Value values:'."\n"
+ ."\n"
+ .'* 0: descending.'."\n"
+ .'* 1: ascending.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device. It is the unique identifier that IoT Platform generated for the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you do not need to specify the **ProductKey** or **DeviceName** parameter. The **IotId** parameter specifies a unique identifier for the device, and corresponds to a combination of the **ProductKey** and **DeviceName** parameters. If you specify the **IotId** parameter and the combination of the **ProductKey** and **DeviceName** parameters at the same time, only the **IotId** parameter is used.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The end of the time range to query. The value is a 13-digit timestamp in milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1516541900303',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.device.InvalidIoTId',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call succeeds.'."\n"
+ ."\n"
+ .'* true: The call succeeded.'."\n"
+ .'* false: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The event records returned if the call succeeds.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'NextPageToken' => [
+ 'description' => 'The identifier of the next page.',
+ 'type' => 'string',
+ 'example' => 'Bo***x44Qx',
+ ],
+ 'NextValid' => [
+ 'description' => 'Indicates whether the next page exists.'."\n"
+ ."\n"
+ .'* **true**: The next page exists.'."\n"
+ .'* **false**: The next page does not exist.'."\n"
+ ."\n"
+ .'If the value ******true** is returned, you can add the value of the **NextPageToken** parameter**** to the next request. This allows you to query the data that is not included in the current query.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'EventInfo' => [
+ 'description' => 'The array of events. Each element represents an event. For more information about the details of the event, see the parameters of the **EventInfo** parameter.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Identifier' => [
+ 'description' => 'The identifier of the event.'."\n",
+ 'type' => 'string',
+ 'example' => 'PowerOff',
+ ],
+ 'OutputData' => [
+ 'description' => 'The output parameter of the event. The value is a string in the MAP format.'."\n",
+ 'type' => 'string',
+ 'example' => '{"structArgs":{"structchildFLOATf71c20e":1.23}}',
+ ],
+ 'Time' => [
+ 'description' => 'The time when the event occurred. The value is a 13-digit timestamp in milliseconds.'."\n",
+ 'type' => 'string',
+ 'example' => '1579163099000',
+ ],
+ 'EventType' => [
+ 'description' => 'The type of the event. Valid values:'."\n"
+ ."\n"
+ .'* info: information.'."\n"
+ .'* alert: alert.'."\n"
+ .'* error: error.'."\n",
+ 'type' => 'string',
+ 'example' => 'info',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the event.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.device.InvalidIoTId\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"NextPageToken\\": \\"Bo***x44Qx\\",\\n \\"NextValid\\": true,\\n \\"List\\": {\\n \\"EventInfo\\": [\\n {\\n \\"Identifier\\": \\"PowerOff\\",\\n \\"OutputData\\": \\"{\\\\\\"structArgs\\\\\\":{\\\\\\"structchildFLOATf71c20e\\\\\\":1.23}}\\",\\n \\"Time\\": \\"1579163099000\\",\\n \\"EventType\\": \\"info\\",\\n \\"Name\\": \\"设备关机\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceOriginalEventDataResponse>\\n<Data>\\n <NextValid>false</NextValid>\\n <NextTime>Bo***x44Qx</NextTime>\\n <List>\\n <EventInfo>\\n <Name>testEventInfoName</Name>\\n <Time>1516517974638</Time>\\n <OutputData>{\\"structArgs\\":{\\"structchildFLOATf71c20e\\":1.23,\\"structchildINT6b6b626\\":3,\\"structchildDATE663436a\\":\\"1516517966152\\",\\"structchildDOUBLE08d0f74\\":1.23,\\"structchildTEXTdc764f9\\":\\"07b68264b0ba42c18e5f\\",\\"structchildBOOLd260729\\":0,\\"structchildENUMbe62590\\":1},\\"enumArgs\\":0,\\"boolArgs\\":0,\\"floatArgs\\":2.3,\\"dateArgs\\":\\"1516517966152\\",\\"intArgs\\":1,\\"doubleArgs\\":2.3,\\"textArgs\\":\\"dV56zbkzjBjw1Ti1dA52\\"}</OutputData>\\n <EventType>info</EventType>\\n <Identifier>testEventInfo</Identifier>\\n </EventInfo>\\n </List>\\n</Data>\\n<RequestId>45391E10-446B-4986-863E-1BA8CC44748F</RequestId>\\n<Success>true</Success>\\n</QueryDeviceOriginalEventDataResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceOriginalEventData',
+ 'summary' => 'Queries the event records that are submitted by a specified device. These records include events that are verified and not verified by a specified Thing Specification Language (TSL) model.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* You can query only the event records that are generated in the last 30 days.'."\n"
+ ."\n"
+ .'> The storage period of an event record is calculated from the day when the record is generated.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'>Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this API operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceOriginalServiceData' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Maximum value: 50.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'NextPageToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the next page. The response to the first request contains this parameter, which will be added to the next request.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Bo***x44Qx',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The start of the time range to query. The value must be a 13-digit timestamp.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1579249498000',
+ ],
+ ],
+ [
+ 'name' => 'Identifier',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the service.'."\n"
+ ."\n"
+ .'* If low-level verification is applied, you can perform the following steps to view the **Identifier** of a device event: Log on to the IoT Platform console and go to the Define Feature tab of the Product Details page. You can also call the [QueryThingModel](~~150321~~) operation and view the service identifier in the returned TSL data.'."\n"
+ .'* If no verification is applied, the value must be the same as the value of the custom** identifier** that is submitted by the device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Set',
+ ],
+ ],
+ [
+ 'name' => 'Asc',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The sorting order of the returned service call records. Valid values:'."\n"
+ ."\n"
+ .'* 0: descending.'."\n"
+ .'* 1: ascending.'."\n"
+ ."\n"
+ .'> **The start time** must be earlier than **the end time**. The system sorts the returned records based on the specified order.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device. It is the unique identifier that IoT Platform generated for the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you do not need to specify the **ProductKey** or **DeviceName** parameter. The **IotId** parameter specifies a unique identifier for the device, and corresponds to a combination of the **ProductKey** and **DeviceName** parameters. If you specify the **IotId** parameter and a combination of the **ProductKey** and **DeviceName** parameters at the same time, the **IotId** parameter takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The end of the time range to query. The value must be a 13-digit timestamp.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1579249499000',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.device.InvalidIoTId',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call succeeds.'."\n"
+ ."\n"
+ .'* true: The call succeeded.'."\n"
+ .'* false: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The service call records returned if the call succeeds.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'NextPageToken' => [
+ 'description' => 'The identifier of the next page.',
+ 'type' => 'string',
+ 'example' => 'Bo***x44Qx',
+ ],
+ 'NextValid' => [
+ 'description' => 'Indicates whether the next page exists.'."\n"
+ ."\n"
+ .'* **true**: The next page exists.'."\n"
+ .'* **false**: The next page does not exist.'."\n"
+ ."\n"
+ .'If the value ******true** is returned, you can add the value of the **NextPageToken** parameter**** to the next request. This allows you to query the data that is not included in the current query.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'ServiceInfo' => [
+ 'description' => 'The array of service call records. Each element represents a service call record. For more information about the details of a service, see the parameters that belong to the **ServiceInfo** parameter.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Identifier' => [
+ 'description' => 'The identifier of the service.'."\n",
+ 'type' => 'string',
+ 'example' => 'Set',
+ ],
+ 'OutputData' => [
+ 'description' => 'The output parameter of the service. The value is a string in the MAP format. Syntax: key:value.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"code\\":200,\\"data\\":{},\\"id\\":\\"100686\\",\\"message\\":\\"success\\",\\"version\\":\\"1.0\\"}',
+ ],
+ 'Time' => [
+ 'description' => 'The time when the service was called.'."\n",
+ 'type' => 'string',
+ 'example' => '1579249499000',
+ ],
+ 'InputData' => [
+ 'description' => 'The input parameter of the service. The value is a string in the MAP format. Syntax: key:value.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"LightAdjustLevel\\":123}',
+ ],
+ 'Name' => [
+ 'description' => 'The service name.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.device.InvalidIoTId\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"NextPageToken\\": \\"Bo***x44Qx\\",\\n \\"NextValid\\": true,\\n \\"List\\": {\\n \\"ServiceInfo\\": [\\n {\\n \\"Identifier\\": \\"Set\\",\\n \\"OutputData\\": \\"{\\\\\\\\\\\\\\"code\\\\\\\\\\\\\\":200,\\\\\\\\\\\\\\"data\\\\\\\\\\\\\\":{},\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"100686\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"message\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"success\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"version\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1.0\\\\\\\\\\\\\\"}\\",\\n \\"Time\\": \\"1579249499000\\",\\n \\"InputData\\": \\"{\\\\\\\\\\\\\\"LightAdjustLevel\\\\\\\\\\\\\\":123}\\",\\n \\"Name\\": \\"设置温度\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceOriginalServiceDataResponse>\\n<Data>\\n <NextValid>true</NextValid>\\n <NextPageToken>Bo***x44Qx</NextPageToken>\\n <List>\\n <ServiceInfo>\\n <Name>set</Name>\\n <Time>1517315865198</Time>\\n <OutputData>{\\"code\\":200,\\"data\\":{},\\"id\\":\\"100686\\",\\"message\\":\\"success\\",\\"version\\":\\"1.0\\"}</OutputData>\\n <InputData>{\\"LightAdjustLevel\\":123}</InputData>\\n <Identifier>set</Identifier>\\n </ServiceInfo>\\n </List>\\n</Data>\\n<RequestId>A44C818E-FA7F-4765-B1E7-01D14AE01C6A</RequestId>\\n<Success>true</Success>\\n</QueryDeviceOriginalServiceDataResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceOriginalServiceData',
+ 'summary' => 'Queries the original service records that are submitted by a specified device. These records include services that are verified and not verified by a specified Thing Specification Language (TSL) model.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* You can query only the service call records that are generated in the last 30 days.'."\n"
+ ."\n"
+ .'> The storage period of a service call record is calculated from the day when the service is called.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this API operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ClearDeviceDesiredProperty' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.****'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n"
+ .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-2w****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you specify a value for this parameter, you must configure the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'> If you specify a value for this parameter, you must configure the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n"
+ ."\n"
+ .'> The IotId parameter specifies a globally unique identifier (GUID) for the device. The value of the **IotId** parameter is equivalent to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify a value for the IotId parameter, you do not need to configure the **ProductKey** or **DeviceName** parameter. If you specify values for the **IotId**, **ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ [
+ 'name' => 'Identifies',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The identifiers of properties whose desired values you want to delete. You can specify up to 10 property identifiers.'."\n",
+ ],
+ 'required' => false,
+ 'example' => 'temperature',
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see the "**Error codes**" section of this topic.'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data returned if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Versions' => [
+ 'description' => 'The latest version of the desired values of the properties after you call this operation to delete the specified desired property values.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"temperature\\":0}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.device.InvalidFormattedDeviceName',
+ 'errorMessage' => 'The DeviceName format is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.device.NotSupportExemptionValidateType',
+ 'errorMessage' => 'The feature does not support the specified verification type.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.NotExistedProduct',
+ 'errorMessage' => 'The specified product does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.QueryProductPropertyFailed',
+ 'errorMessage' => 'An error occurred while querying the product property.',
+ ],
+ [
+ 'errorCode' => 'iot.check.InvalidFormattedParameter',
+ 'errorMessage' => 'The parameter format is invalid.',
+ ],
+ [
+ 'errorCode' => 'Iot.digitaltwin.DTInstanceInvalidThingType',
+ 'errorMessage' => 'The digital twin operation is not supported.',
+ ],
+ [
+ 'errorCode' => 'iot.check.NullParameter',
+ 'errorMessage' => 'Specify parameter is null.',
+ ],
+ [
+ 'errorCode' => 'iot.device.CanNotSetReadOnlyProperty',
+ 'errorMessage' => 'Cannot set read only property.',
+ ],
+ [
+ 'errorCode' => 'iot.device.DeviceIsDisable',
+ 'errorMessage' => 'The specified device has been disabled.',
+ ],
+ [
+ 'errorCode' => 'iot.device.InvalidIoTId',
+ 'errorMessage' => 'The specified device ID is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.device.NullDeviceName',
+ 'errorMessage' => 'The DeviceName parameter cannot be empty.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.NullProductKey',
+ 'errorMessage' => 'The ProductKey parameter cannot be empty.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.InvalidFormattedProductkey',
+ 'errorMessage' => 'The ProductKey format is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.common.InvalidTenant',
+ 'errorMessage' => 'The Invalid tenant.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.QueryPropertyNotFound',
+ 'errorMessage' => 'Query property not found.',
+ ],
+ [
+ 'errorCode' => 'iot.device.ClearPropertyDesiredFailed',
+ 'errorMessage' => 'Failed to clear desired value of property.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.QueryProductAbilitiesNotFound',
+ 'errorMessage' => 'query product abilities not found.',
+ ],
+ [
+ 'errorCode' => 'iot.Device.NotExistedDevice',
+ 'errorMessage' => 'This device does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.NullAbilityIdentifier',
+ 'errorMessage' => 'You must specify a feature identifier.',
+ ],
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Versions\\": \\"{\\\\\\\\\\\\\\"temperature\\\\\\\\\\\\\\":0}\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<ClearDeviceDesiredPropertyResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Data>\\n <Versions>{\\"temperature\\":0}</Versions>\\n</Data>\\n<Code/>\\n<Success>true</Success>\\n</ClearDeviceDesiredPropertyResponse>","errorExample":""}]',
+ 'title' => 'ClearDeviceDesiredProperty',
+ 'summary' => 'Deletes the desired values of properties of a device.',
+ 'description' => '* Each time you call this operation, you must specify the identifiers of properties whose desired values you want to delete for the **Identifies** parameter. If you do not configure the **Identifies** parameter, the call fails.'."\n"
+ .'* You can specify up to 10 property identifiers for the **Identifies** parameter in a single call.'."\n"
+ .'* After you call this operation to deletes the desired values of properties of a device, you can call the [QueryDeviceDesiredProperty](~~107566~~) operation to query the desired values of properties of the device. In this case, the QueryDeviceDesiredProperty operation returns the **Identifier** parameter instead of the **Value** parameter.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 50 times per second per account. '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'jobDescription',
+ ],
+ ],
+ [
+ 'name' => 'JobDocument',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '{ "serviceIdentifier": "test_service", "params": { "key1": "value1", "key2": "value2" } } ',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'INVOKE_SERVICE',
+ ],
+ ],
+ [
+ 'name' => 'JobFile',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'required' => false,
+ 'example' => '{ "fileKey":"5cc34***f9/tazJ***s", "signMethod":"Sha256", "sign":"***" }',
+ ],
+ ],
+ [
+ 'name' => 'JobName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'oneJob',
+ ],
+ ],
+ [
+ 'name' => 'TimeoutConfig',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'required' => false,
+ 'example' => '{"inProgressTimeoutInMinutes": 60}',
+ ],
+ ],
+ [
+ 'name' => 'RolloutConfig',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'required' => false,
+ 'example' => '{"maximumPerMinute": 1000}',
+ ],
+ ],
+ [
+ 'name' => 'TargetConfig',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'required' => true,
+ 'example' => '{"targetType":"PRODUCT_KEY","targetProduct":"a1j***3d"}',
+ ],
+ ],
+ [
+ 'name' => 'ScheduledTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1557062301656',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'JobId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'XUbmsMHmkqv0PiAG****010001',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"JobId\\": \\"XUbmsMHmkqv0PiAG****010001\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateJobResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<JobId>XUbmsMHmkqv0PiAG****010001</JobId>\\n<Success>true</Success>\\n</CreateJobResponse>","errorExample":""}]',
+ 'title' => 'CreateJob',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GenerateFileUploadURL' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'FileSuffix',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'bin',
+ ],
+ ],
+ [
+ 'name' => 'BizCode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'DEVICE_JOB_FILE',
+ ],
+ ],
+ [
+ 'name' => 'FileName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'file1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'subpath/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.suffix',
+ ],
+ 'OssAccessKeyId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'cS8uRRy54Rsz****',
+ ],
+ 'Signature' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'v6lViO4FBvfquajQjg20K5hK****',
+ ],
+ 'Host' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'https://iotx-bucket-name.oss-***.aliyuncs.com',
+ ],
+ 'Policy' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'eyJleHBpcmF****',
+ ],
+ 'ObjectStorage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'OSS',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Key\\": \\"subpath/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.suffix\\",\\n \\"OssAccessKeyId\\": \\"cS8uRRy54Rsz****\\",\\n \\"Signature\\": \\"v6lViO4FBvfquajQjg20K5hK****\\",\\n \\"Host\\": \\"https://iotx-bucket-name.oss-***.aliyuncs.com\\",\\n \\"Policy\\": \\"eyJleHBpcmF****\\",\\n \\"ObjectStorage\\": \\"OSS\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GenerateFileUploadURLResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Data>\\n <Policy>eyJleHBpcmF****</Policy>\\n <Signature>v6lViO4FBvfquajQjg20K5hK****</Signature>\\n <ObjectStorage>OSS</ObjectStorage>\\n <Host>https://iotx-bucket-name.oss-***.aliyuncs.com</Host>\\n <OssAccessKeyId>cS8uRRy54Rsz****</OssAccessKeyId>\\n <Key>subpath/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.suffix</Key>\\n</Data>\\n<Success>true</Success>\\n</GenerateFileUploadURLResponse>","errorExample":""}]',
+ 'title' => 'GenerateFileUploadURL',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot-cn-0pp1n8t****',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'jobDescription',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'TimeoutConfig',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '{"inProgressTimeoutInMinutes": 60}',
+ 'required' => false,
+ 'type' => 'object',
+ ],
+ ],
+ [
+ 'name' => 'RolloutConfig',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '{"maximumPerMinute": 1000}',
+ 'required' => false,
+ 'type' => 'object',
+ ],
+ ],
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'XUbmsMHmkqv0PiAG****010001',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'iot.system.SystemException',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => '',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateJobResponse>\\r\\n <RequestId>B78B4FD1-AE89-417B-AD55-367EBB0C6759</RequestId>\\r\\n <Success>true</Success>\\r\\n</UpdateJobResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'UpdateJob',
+ ],
+ 'QueryJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '450407b***',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'A6BEAB33-03E6-4CE0-A94F-9E24C5512BAD',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'SET_PROPERTY',
+ ],
+ 'Status' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'CANCELLED',
+ ],
+ 'Description' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'jobDescription',
+ ],
+ 'JobName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'tes',
+ ],
+ 'UtcModified' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2020-12-13T04:10:00.000Z',
+ ],
+ 'JobId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '450407b***',
+ ],
+ 'UtcCreate' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2020-12-13T04:09:51.000Z',
+ ],
+ 'ScheduledTime' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1557062301656',
+ ],
+ 'JobDocument' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RolloutConfig' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'MaximumPerMinute' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'MessageQoS' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Qos1',
+ ],
+ ],
+ ],
+ 'TimeoutConfig' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'InProgressTimeoutInMinutes' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ ],
+ ],
+ 'JobFile' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'FileUrl' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'https://iotx-***.oss-cn-shanghai.aliyuncs.com/job***/7u***.sh?Expires=16***&OSSAccessKeyId=LTA***&Signature=TTTejn***',
+ ],
+ 'SignMethod' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'SHA256',
+ ],
+ 'Sign' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'TTTejn***',
+ ],
+ ],
+ ],
+ 'TargetConfig' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'TargetProduct' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'nCwfSBzc***',
+ ],
+ 'TargetGroup' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '1234',
+ ],
+ 'TargetType' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'DEVICE_LIST',
+ ],
+ 'TargetDevices' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'targetDevices' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DeviceName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'a1Ix***',
+ ],
+ 'ProductKey' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'nCwfSBzc***',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"A6BEAB33-03E6-4CE0-A94F-9E24C5512BAD\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Type\\": \\"SET_PROPERTY\\",\\n \\"Status\\": \\"CANCELLED\\",\\n \\"Description\\": \\"jobDescription\\",\\n \\"JobName\\": \\"tes\\",\\n \\"UtcModified\\": \\"2020-12-13T04:10:00.000Z\\",\\n \\"JobId\\": \\"450407b***\\",\\n \\"UtcCreate\\": \\"2020-12-13T04:09:51.000Z\\",\\n \\"ScheduledTime\\": 1557062301656,\\n \\"JobDocument\\": \\"{ \\\\\\"serviceIdentifier\\\\\\": \\\\\\"test_service\\\\\\", \\\\\\"params\\\\\\": { \\\\\\"key1\\\\\\": \\\\\\"value1\\\\\\", \\\\\\"key2\\\\\\": \\\\\\"value2\\\\\\" } } \\",\\n \\"RolloutConfig\\": {\\n \\"MaximumPerMinute\\": 10,\\n \\"MessageQoS\\": \\"Qos1\\"\\n },\\n \\"TimeoutConfig\\": {\\n \\"InProgressTimeoutInMinutes\\": 5\\n },\\n \\"JobFile\\": {\\n \\"FileUrl\\": \\"https://iotx-***.oss-cn-shanghai.aliyuncs.com/job***/7u***.sh?Expires=16***&OSSAccessKeyId=LTA***&Signature=TTTejn***\\",\\n \\"SignMethod\\": \\"SHA256\\",\\n \\"Sign\\": \\"TTTejn***\\"\\n },\\n \\"TargetConfig\\": {\\n \\"TargetProduct\\": \\"nCwfSBzc***\\",\\n \\"TargetGroup\\": \\"1234\\",\\n \\"TargetType\\": \\"DEVICE_LIST\\",\\n \\"TargetDevices\\": {\\n \\"targetDevices\\": [\\n {\\n \\"DeviceName\\": \\"a1Ix***\\",\\n \\"ProductKey\\": \\"nCwfSBzc***\\"\\n }\\n ]\\n }\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryJobResponse>\\n <RequestId>A6BEAB33-03E6-4CE0-A94F-9E24C5512BAD</RequestId>\\n <Data>\\n <Status>CANCELLED</Status>\\n\\t\\t<ScheduledTime>1557062301656</ScheduledTime>\\n <Type>SET_PROPERTY</Type>\\n <TimeoutConfig>\\n <InProgressTimeoutInMinutes>5</InProgressTimeoutInMinutes>\\n </TimeoutConfig>\\n <Description>jobDescription</Description>\\n <UtcCreate>2020-12-13T04:09:51.000Z</UtcCreate>\\n <JobFile>\\n <FileUrl>https://iotx-***.oss-cn-shanghai.aliyuncs.com/job***/7u***.sh?Expires=16***&amp;OSSAccessKeyId=LTA***&amp;Signature=TTTejn***</FileUrl>\\n <Sign>1235</Sign>\\n <SignMethod>SHA256</SignMethod>\\n </JobFile>\\n <JobDocument>{}</JobDocument>\\n <JobName>test</JobName>\\n <UtcModified>2020-12-13T04:10:00.000Z</UtcModified>\\n <JobId>450407b***</JobId>\\n <TargetConfig>\\n <TargetDevices>\\n <targetDevices>\\n <ProductKey>nCwf***</ProductKey>\\n <DeviceName>a1IxS***</DeviceName>\\n </targetDevices>\\n <targetDevices>\\n <ProductKey>24VI***</ProductKey>\\n <DeviceName>a1***</DeviceName>\\n </targetDevices>\\n <targetDevices>\\n <ProductKey>6NDWQ***</ProductKey>\\n <DeviceName>a1I***</DeviceName>\\n </targetDevices>\\n <targetDevices>\\n <ProductKey>EQtTJT***</ProductKey>\\n <DeviceName>a1IxS***</DeviceName>\\n </targetDevices>\\n <targetDevices>\\n <ProductKey>rUdc33Vr***</ProductKey>\\n <DeviceName>a1IxS***</DeviceName>\\n </targetDevices>\\n </TargetDevices>\\n <TargetType>DEVICE_LIST</TargetType>\\n </TargetConfig>\\n </Data>\\n <Success>true</Success>\\n</QueryJobResponse>","errorExample":""}]',
+ 'title' => 'QueryJob',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'IN_PROGRESS',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '20',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'BF449394-1C7D-4144-B7C4-9C3FA29F8B64',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'PageSize' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'Page' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'data' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'CUSTOM_JOB',
+ ],
+ 'Status' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'COMPLETED',
+ ],
+ 'JobName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'MyTestJobOEfwJN',
+ ],
+ 'Description' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'TestDescription',
+ ],
+ 'UtcModified' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2019-05-21T17:15:46.000Z',
+ ],
+ 'JobId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Z20nyanW5****010001',
+ ],
+ 'UtcCreate' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2019-05-21T11:45:37.000Z',
+ ],
+ 'ScheduledTime' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1557062301656',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BF449394-1C7D-4144-B7C4-9C3FA29F8B64\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 5,\\n \\"Total\\": 20,\\n \\"Page\\": 1,\\n \\"Data\\": {\\n \\"data\\": [\\n {\\n \\"Type\\": \\"CUSTOM_JOB\\",\\n \\"Status\\": \\"COMPLETED\\",\\n \\"JobName\\": \\"MyTestJobOEfwJN\\",\\n \\"Description\\": \\"TestDescription\\",\\n \\"UtcModified\\": \\"2019-05-21T17:15:46.000Z\\",\\n \\"JobId\\": \\"Z20nyanW5****010001\\",\\n \\"UtcCreate\\": \\"2019-05-21T11:45:37.000Z\\",\\n \\"ScheduledTime\\": 1557062301656\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListJobResponse>\\n<PageSize>5</PageSize>\\n<RequestId>BF449394-1C7D-4144-B7C4-9C3FA29F8B64</RequestId>\\n<Total>20</Total>\\n<Page>1</Page>\\n<Data>\\n <data>\\n <Status>COMPLETED</Status>\\n <Type>CUSTOM_JOB</Type>\\n <ScheduledTime>1557062301656</ScheduledTime>\\n <Description>TestDescription</Description>\\n <UtcCreate>2019-05-21T13:03:52.000Z</UtcCreate>\\n <JobName>MyTestJobIax6Eq</JobName>\\n <UtcModified>2019-05-21T17:39:10.000Z</UtcModified>\\n <JobId>sGWotg***4F010001</JobId>\\n </data>\\n <data>\\n <Status>COMPLETED</Status>\\n <Type>CUSTOM_JOB</Type>\\n <ScheduledTime>1557064501656</ScheduledTime>\\n <Description>TestDescription</Description>\\n <UtcCreate>2019-05-21T11:45:37.000Z</UtcCreate>\\n <JobName>MyTestJobOEfwJN</JobName>\\n <UtcModified>2019-05-21T17:15:46.000Z</UtcModified>\\n <JobId>Z20nyanW5***010001</JobId>\\n </data>\\n</Data>\\n<Success>true</Success>\\n</ListJobResponse>","errorExample":""}]',
+ 'title' => 'ListJob',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CancelJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'XUbmsMHmkqv0PiAG****010001',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'C25255EA-9F6E-4E04-85FE-AC1E9C136EBB',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"C25255EA-9F6E-4E04-85FE-AC1E9C136EBB\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CancelJobResponse>\\n<RequestId>C25255EA-9F6E-4E04-85FE-AC1E9C136EBB</RequestId>\\n<Success>true</Success>\\n</CancelJobResponse>","errorExample":""}]',
+ 'title' => 'CancelJob',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'XUbmsMHmkqv0PiAG****010001',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'C25255EA-9F6E-4E04-85FE-AC1E9C136EBB',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常 \\",\\n \\"RequestId\\": \\"C25255EA-9F6E-4E04-85FE-AC1E9C136EBB\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteJobResponse>\\n<RequestId>C25255EA-9F6E-4E04-85FE-AC1E9C136EBB</RequestId>\\n<Success>true</Success>\\n</DeleteJobResponse>","errorExample":""}]',
+ 'title' => 'DeleteJob',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListTask' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'Limit',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '50',
+ 'minimum' => '1',
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'sGWotgRk***010001',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '22dhgg***',
+ ],
+ ],
+ [
+ 'name' => 'Device',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'required' => false,
+ 'example' => '{}',
+ ],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'QUEUED',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'NextToken' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '223sdf***',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '512FF8FD-A97F-4AAF-B0A2-7BE3D3A19BB3',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'data' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'SUCCEEDED',
+ ],
+ 'UtcQueueTime' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2019-05-21T13:03:53.000Z',
+ ],
+ 'ProductKey' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'a1S0OM***',
+ ],
+ 'Progress' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '80',
+ ],
+ 'DeviceName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'mydevice',
+ ],
+ 'JobName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'MyTestJobIax6Eq',
+ ],
+ 'UtcModified' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2019-05-21T13:03:56.000Z',
+ ],
+ 'JobId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'sGWotg***010001',
+ ],
+ 'TaskId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'MSnT9wl***q010101',
+ ],
+ 'IotId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'BDjhIC***i000101',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"NextToken\\": \\"223sdf***\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"512FF8FD-A97F-4AAF-B0A2-7BE3D3A19BB3\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"data\\": [\\n {\\n \\"Status\\": \\"SUCCEEDED\\",\\n \\"UtcQueueTime\\": \\"2019-05-21T13:03:53.000Z\\",\\n \\"ProductKey\\": \\"a1S0OM***\\",\\n \\"Progress\\": \\"80\\",\\n \\"DeviceName\\": \\"mydevice\\",\\n \\"JobName\\": \\"MyTestJobIax6Eq\\",\\n \\"UtcModified\\": \\"2019-05-21T13:03:56.000Z\\",\\n \\"JobId\\": \\"sGWotg***010001\\",\\n \\"TaskId\\": \\"MSnT9wl***q010101\\",\\n \\"IotId\\": \\"BDjhIC***i000101\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListTaskResponse>\\n<NextToken>223sdf***</NextToken>\\n<RequestId>512FF8FD-A97F-4AAF-B0A2-7BE3D3A19BB3</RequestId>\\n<Data>\\n <data>\\n <Status>SUCCEEDED</Status>\\n <IotId>BDjhIC***i000101</IotId>\\n <Progress>80</Progress>\\n <TaskId>MSnT9wl***q010101</TaskId>\\n <JobName>MyTestJobIax6Eq</JobName>\\n <UtcModified>2019-05-21T13:03:56.000Z</UtcModified>\\n <UtcQueueTime>2019-05-21T13:03:53.000Z</UtcQueueTime>\\n <ProductKey>a1S0OM***</ProductKey>\\n <JobId>sGWotg***010001</JobId>\\n <DeviceName>mydevice</DeviceName>\\n </data>\\n</Data>\\n<Success>true</Success>\\n</ListTaskResponse>","errorExample":""}]',
+ 'title' => 'ListTask',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryTask' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'TaskId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'MSnT9***q010101',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '512FF8FD-A97F-4AAF-B0A2-7BE3D3A19BB3',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'SUCCEEDED',
+ ],
+ 'Progress' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '80',
+ ],
+ 'DeviceName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'mydevice',
+ ],
+ 'Message' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'this is message about task execution',
+ ],
+ 'UtcQueueTime' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2019-05-21T13:03:53.000Z',
+ ],
+ 'ProductKey' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'a1S****',
+ ],
+ 'JobName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'MyTestJobIax6Eq',
+ ],
+ 'UtcModified' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2019-05-21T13:03:56.000Z',
+ ],
+ 'JobId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'sGWotgRkutxX*****',
+ ],
+ 'StatusDetail' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{ "msg":"this is message reported by device" }',
+ ],
+ 'TaskId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'MSnT9***q010101',
+ ],
+ 'IotId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'BDjhI****01',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"512FF8FD-A97F-4AAF-B0A2-7BE3D3A19BB3\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Status\\": \\"SUCCEEDED\\",\\n \\"Progress\\": \\"80\\",\\n \\"DeviceName\\": \\"mydevice\\",\\n \\"Message\\": \\"this is message about task execution\\",\\n \\"UtcQueueTime\\": \\"2019-05-21T13:03:53.000Z\\",\\n \\"ProductKey\\": \\"a1S****\\",\\n \\"JobName\\": \\"MyTestJobIax6Eq\\",\\n \\"UtcModified\\": \\"2019-05-21T13:03:56.000Z\\",\\n \\"JobId\\": \\"sGWotgRkutxX*****\\",\\n \\"StatusDetail\\": \\"{ \\\\\\"msg\\\\\\":\\\\\\"this is message reported by device\\\\\\" }\\",\\n \\"TaskId\\": \\"MSnT9***q010101\\",\\n \\"IotId\\": \\"BDjhI****01\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryTaskResponse>\\n<RequestId>512FF8FD-A97F-4AAF-B0A2-7BE3D3A19BB3</RequestId>\\n<Data>\\n <Status>SUCCEEDED</Status>\\n <Progress>80</Progress>\\n <TaskId>MSnT9***q010101</TaskId>\\n <Message>this is message about task execution</Message>\\n <JobName>MyTestJobIax6Eq</JobName>\\n <IotId>BDjhI****01</IotId>\\n <StatusDetail>{ \\"msg\\":\\"this is message reported by device\\" }</StatusDetail>\\n <UtcModified>2019-05-21T13:03:56.000Z</UtcModified>\\n <UtcQueueTime>2019-05-21T13:03:53.000Z</UtcQueueTime>\\n <ProductKey>a1S****</ProductKey>\\n <JobId>sGWotgRkutxX*****</JobId>\\n <DeviceName>mydevice</DeviceName>\\n</Data>\\n<Success>true</Success>\\n</QueryTaskResponse>","errorExample":""}]',
+ 'title' => 'QueryTask',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryJobStatistics' => [
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sGWotgRkut***10001',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '512FF8FD-A97F-4AAF-B0A2-7BE3D3A19BB3',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Rejected' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'TimeOut' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ 'Failed' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Queued' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'Succeeded' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '22',
+ ],
+ 'Sent' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '50',
+ ],
+ 'InProgress' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '13',
+ ],
+ 'Cancelled' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"512FF8FD-A97F-4AAF-B0A2-7BE3D3A19BB3\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Rejected\\": 1,\\n \\"TimeOut\\": 5,\\n \\"Failed\\": 1,\\n \\"Queued\\": 2,\\n \\"Succeeded\\": 22,\\n \\"Sent\\": 3,\\n \\"Total\\": 50,\\n \\"InProgress\\": 13,\\n \\"Cancelled\\": 3\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryJobStatisticsResponse>\\n<RequestId>512FF8FD-A97F-4AAF-B0A2-7BE3D3A19BB3</RequestId>\\n<Data>\\n <Succeeded>22</Succeeded>\\n <inProgress>13</inProgress>\\n <TimeOut>5</TimeOut>\\n <Failed>1</Failed>\\n <Total>50</Total>\\n <Canceled>3</Canceled>\\n <Rejected>1</Rejected>\\n <Queued>2</Queued>\\n <Sent>3</Sent>\\n</Data>\\n<Success>true</Success>\\n</QueryJobStatisticsResponse>","errorExample":""}]',
+ 'title' => 'QueryJobStatistics',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'RerunJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot-0pp1n8t****',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '450407b***',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'iot.system.SystemException',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => '',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => 'A6BEAB33-03E6-4CE0-A94F-9E24C5512BAD',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"A6BEAB33-03E6-4CE0-A94F-9E24C5512BAD\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<RerunJobResponse>\\n<RequestId>A6BEAB33-03E6-4CE0-A94F-9E24C5512BAD</RequestId>\\n<Success>true</Success>\\n</RerunJobResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'RerunJob',
+ ],
+ 'CreateProductTopic' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product for which you want to create a topic category.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'aldDEin****',
+ ],
+ ],
+ [
+ 'name' => 'TopicShortName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the user-defined category level that you want to set. By default, a topic category includes the following levels: \\_productkey\\_ and \\_devicename\\_. Separate the two levels with slashes (/). Format of a topic category: `productKey/deviceName/topicShortName` .'."\n"
+ ."\n"
+ .'> Each level can contain letters, digits, and underscores (\\_), and cannot be empty.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'submit',
+ ],
+ ],
+ [
+ 'name' => 'Operation',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The operation permissions of the device on the topic category. Valid values:'."\n"
+ ."\n"
+ .'* **SUB**: Subscribe.'."\n"
+ .'* **PUB**: Publish.'."\n"
+ .'* **ALL**: Publish and Subscribe.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'PUB',
+ ],
+ ],
+ [
+ 'name' => 'Desc',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the topic category. The description must be 1 to 100 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'submit a test topic',
+ ],
+ ],
+ [
+ 'name' => 'EnableProxySubscribe',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'Codec',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'TopicId' => [
+ 'description' => 'The ID of the topic category. The ID is generated by IoT Platform if the call is successful.'."\n"
+ ."\n"
+ .'> Secure the information for future reference. When you call an operation that is related to the topic category, you must provide this parameter.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '10000',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'FCC27691-9151-4B93-9622-9C90F30542EC',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"TopicId\\": 10000,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"FCC27691-9151-4B93-9622-9C90F30542EC\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<CreateProductTopicResponse>\\r\\n <RequestId>FCC27691-9151-4B93-9622-9C90F30542EC</RequestId>\\r\\n <Success>true</Success>\\r\\n <TopicId>10000</TopicId>\\r\\n</CreateProductTopicResponse>","errorExample":""}]',
+ 'title' => 'CreateProductTopic',
+ 'summary' => 'Creates a custom topic category for a specified product.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 1 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateProductTopic' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'Desc',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the topic category. The description must be 1 to 100 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'resubmit a test topic',
+ ],
+ ],
+ [
+ 'name' => 'Operation',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The operation permissions of the device on the topic category. Valid values:'."\n"
+ ."\n"
+ .'* **SUB**: Subscribe.'."\n"
+ .'* **PUB**: Publish.'."\n"
+ .'* **ALL**: Publish and Subscribe.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'PUB',
+ ],
+ ],
+ [
+ 'name' => 'TopicShortName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the user-defined category level that you want to set. By default, a topic category includes the following levels: \\_productkey\\_ and \\_devicename\\_. Separate the two levels with slashes (/). Format of a topic category: `productKey/deviceName/topicShortName`.'."\n"
+ ."\n"
+ .'> Each level can contain letters, digits, and underscores (\\_), and cannot be empty.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'resubmit',
+ ],
+ ],
+ [
+ 'name' => 'TopicId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the topic category that you want to modify.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '821****',
+ ],
+ ],
+ [
+ 'name' => 'EnableProxySubscribe',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'Codec',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'FCC27691-9151-4B93-9622-9C90F30542EC',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"FCC27691-9151-4B93-9622-9C90F30542EC\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<UpdateProductTopicResponse>\\r\\n <RequestId>FCC27691-9151-4B93-9622-9C90F30542EC</RequestId>\\r\\n <Success>true</Success>\\r\\n</UpdateProductTopicResponse>","errorExample":""}]',
+ 'title' => 'UpdateProductTopic',
+ 'summary' => 'Modifies a specified topic category.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryProductTopic' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'HMyB*******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'B953EAFF-CFF6-4FF8-BC94-8B89F018E4DD',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'ProductTopicInfo' => [
+ 'description' => 'The list of topic categories returned if the call is successful. For more information, see **ProductTopicInfo**.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Operation' => [
+ 'description' => 'The operation that devices can perform on the topic category. Valid values:'."\n"
+ ."\n"
+ .'* **0**: Publish.'."\n"
+ .'* **1**: Subscribe.'."\n"
+ .'* **2**: Publish and Subscribe.'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The ProductKey of the product.'."\n",
+ 'type' => 'string',
+ 'example' => 'HMyB***',
+ ],
+ 'Codec' => [
+ 'type' => 'string',
+ ],
+ 'TopicShortName' => [
+ 'description' => 'The topic category that does not include the \\_productKey\\_ and \\_deviceName\\_ levels.'."\n",
+ 'type' => 'string',
+ 'example' => '/HMyB***/${deviceName}/user/get',
+ ],
+ 'EnableProxySubscribe' => [
+ 'type' => 'boolean',
+ ],
+ 'Id' => [
+ 'description' => 'The ID of the topic category.'."\n",
+ 'type' => 'string',
+ 'example' => '821****',
+ ],
+ 'Desc' => [
+ 'description' => 'The description of the topic category.'."\n",
+ 'type' => 'string',
+ 'example' => 'topicDesc',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"B953EAFF-CFF6-4FF8-BC94-8B89F018E4DD\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ProductTopicInfo\\": [\\n {\\n \\"Operation\\": \\"1\\",\\n \\"ProductKey\\": \\"HMyB***\\",\\n \\"Codec\\": \\"compress\\",\\n \\"TopicShortName\\": \\"/HMyB***/${deviceName}/user/get\\",\\n \\"EnableProxySubscribe\\": false,\\n \\"Id\\": \\"821****\\",\\n \\"Desc\\": \\"topicDesc\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryProductTopicResponse>\\n<RequestId>310E4A1E-B614-5607-B7DB-55530CAE074A</RequestId>\\n<Data>\\n <ProductTopicInfo>\\n <TopicShortName>/g18******F/${deviceName}/user/get</TopicShortName>\\n <EnableProxySubscribe>false</EnableProxySubscribe>\\n <Operation>1</Operation>\\n <Id>3679****</Id>\\n <ProductKey>g18******F</ProductKey>\\n </ProductTopicInfo>\\n <ProductTopicInfo>\\n <TopicShortName>/g18******F/${deviceName}/user/update</TopicShortName>\\n <EnableProxySubscribe>false</EnableProxySubscribe>\\n <Operation>0</Operation>\\n <Id>3679****</Id>\\n <ProductKey>g18******F</ProductKey>\\n </ProductTopicInfo>\\n <ProductTopicInfo>\\n <TopicShortName>/g18******F/${deviceName}/user/update/error</TopicShortName>\\n <EnableProxySubscribe>false</EnableProxySubscribe>\\n <Operation>0</Operation>\\n <Id>3679****</Id>\\n <ProductKey>g18******F</ProductKey>\\n </ProductTopicInfo>\\n</Data>\\n<Success>true</Success>\\n</QueryProductTopicResponse>","errorExample":""}]',
+ 'title' => 'Query custom topic categories of a specified product ',
+ 'summary' => 'Invoke this API to query the custom topic categories of a specified product.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 3 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteProductTopic' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'TopicId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the topic category that you want to delete.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '798****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'FCC27691-9151-4B93-9622-9C90F30542EC',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"FCC27691-9151-4B93-9622-9C90F30542EC\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DeleteProductTopicResponse>\\r\\n <RequestId>FCC27691-9151-4B93-9622-9C90F30542EC</RequestId>\\r\\n <Success>true</Success>\\r\\n</DeleteProductTopicResponse>","errorExample":""}]',
+ 'title' => 'DeleteProductTopic',
+ 'summary' => 'Deletes a specified topic category.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateTopicRouteTable' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'SrcTopic',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The source topic. Example: `SrcTopic=/x7aWKW9 ****** /testDataToDataHub/user/update`.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '/x7aWKW9****/testDataToDataHub/user/update',
+ ],
+ ],
+ [
+ 'name' => 'DstTopic',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The list of destination topics. The destination topics subscribe to the source topic that is specified by the **SrcTopic** parameter. Use the array data type even if you specify only one destination topic. Examples: `DstTopic.1=/x7aWKW9****/deviceNameTest1/user/add` and `DstTopic.2=/x7aWKW9****/deviceNameTest2/user/delete`.'."\n",
+ ],
+ 'required' => true,
+ 'example' => '/x7aWKW9****/deviceNameTest1/user/add',
+ 'maxItems' => 100,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'FCC27691-9151-4B93-9622-9C90F30542EC',
+ ],
+ 'IsAllSucceed' => [
+ 'description' => 'Indicates whether all the message routing relationships between topics are established.'."\n"
+ ."\n"
+ .'* **true**: All the message routing relationships between topics are established.'."\n"
+ .'* **false**: Not all the message routing relationships between topics are established.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'FailureTopics' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Topic' => [
+ 'description' => 'The list of topics returned if the call fails.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'example' => '["/2Fx7aWKW9****/FdeviceNameTest2/user/delete"]',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"FCC27691-9151-4B93-9622-9C90F30542EC\\",\\n \\"IsAllSucceed\\": true,\\n \\"Success\\": true,\\n \\"FailureTopics\\": {\\n \\"Topic\\": [\\n \\"[\\\\\\"/2Fx7aWKW9****/FdeviceNameTest2/user/delete\\\\\\"]\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateTopicRouteTableResponse>\\n<RequestId>32B9828A-25DD-48E2-8E26-D1664B341940</RequestId>\\n<FailureTopics></FailureTopics>\\n<Success>true</Success>\\n</CreateTopicRouteTableResponse>","errorExample":""}]',
+ 'title' => 'CreateTopicRouteTable',
+ 'summary' => 'Establishes message routing relationships between topics.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* You can specify a maximum of 100 destination topics for a source topic.'."\n"
+ ."\n"
+ .'* The device to which the source topic belongs must be activated.'."\n"
+ ."\n"
+ .'* The source and destination topics support only custom topics.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryTopicRouteTable' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'Topic',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The source topic that publishes messages.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '/x7aWKW94bb8/testDataToDataHub/user/update',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'FCC27691-9151-4B93-9622-9C90F30542EC',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DstTopics' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Topic' => [
+ 'description' => 'The list of destination topics returned if the call is successful.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'example' => '["/CXi4***/device2/get","/CXi4***/device3/get"]',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"FCC27691-9151-4B93-9622-9C90F30542EC\\",\\n \\"Success\\": true,\\n \\"DstTopics\\": {\\n \\"Topic\\": [\\n \\"[\\\\\\"/CXi4***/device2/get\\\\\\",\\\\\\"/CXi4***/device3/get\\\\\\"]\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryTopicRouteTableResponse>\\n<DstTopics>\\n <Topic>/a1T27vz****/${deviceName}/user/submit/update</Topic>\\n</DstTopics>\\n<RequestId>D6CB2387-0D65-4240-9436-A2E18B434E31</RequestId>\\n<Success>true</Success>\\n</QueryTopicRouteTableResponse>","errorExample":""}]',
+ 'title' => 'QueryTopicRouteTable',
+ 'summary' => 'Queries the destination topics that subscribe to a specified source topic.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryTopicReverseRouteTable' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region where your devices reside. The region you specify must match the region that is specified in the console. Example: cn-shanghai.'."\n"
+ ."\n"
+ .'> This parameter is no longer used as an operation-specific request parameter. It is included in common request parameters.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The destination topic that receives messages.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'Topic',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '/x7aWKW9***/testDataToDataHub/user/update',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'FCC27691-9151-4B93-9622-9C90F30542EC"',
+ ],
+ 'Success' => [
+ 'description' => 'The list of source topics returned if the call is successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'SrcTopics' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Topic' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'example' => '["/CXi4***/device1/user/get","/CXi4***/device4/user/get"]',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"FCC27691-9151-4B93-9622-9C90F30542EC\\\\\\"\\",\\n \\"Success\\": true,\\n \\"SrcTopics\\": {\\n \\"Topic\\": [\\n \\"[\\\\\\"/CXi4***/device1/user/get\\\\\\",\\\\\\"/CXi4***/device4/user/get\\\\\\"]\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryTopicReverseRouteTableResponse>\\n<SrcTopics>\\n <Topic>/CXi4***/device1/user/get</Topic>\\n <Topic>/CXi4***/device4/user/get</Topic>\\n</SrcTopics>\\n<RequestId>C5515170-3C1F-4004-A7C1-181E7955BC73</RequestId>\\n<Success>true</Success>\\n</QueryTopicReverseRouteTableResponse>","errorExample":""}]',
+ 'title' => 'QueryTopicReverseRouteTable',
+ 'summary' => 'Queries the source topics that are subscribed to by a specified custom topic.',
+ 'description' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'requestParamsDescription' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteTopicRouteTable' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'SrcTopic',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The source topic. Example: `SrcTopic.1=/x7aWKW9****/testDataToDataHub/user/update`.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '/x7aWKW9***/testDataToDataHub/user/update',
+ ],
+ ],
+ [
+ 'name' => 'DstTopic',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The list of destination topics. The destination topics subscribe to the source topic that is specified by the **SrcTopic** parameter. Examples: `DstTopic.1=/x7aWKW9****/deviceNameTest1/user/add` and `DstTopic.2=/x7aWKW9****/deviceNameTest2/user/delete`.'."\n",
+ ],
+ 'required' => true,
+ 'example' => '/x7aWKW9***/deviceNameTest1/user/add',
+ 'maxItems' => 100,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'FCC27691-9151-4B93-9622-9C90F30542EC',
+ ],
+ 'IsAllSucceed' => [
+ 'description' => 'Indicates whether all the routing relationships of the topic are deleted.'."\n"
+ ."\n"
+ .'* **true**: All the routing relationships of the topic are deleted.'."\n"
+ .'* **false**: Not all the message routing relationships of the topic are deleted.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'FailureTopics' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Topic' => [
+ 'description' => 'The list of topics returned if the call fails.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'example' => '["/x7aWKW9***/deviceNameTest2/user/delete"]',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"FCC27691-9151-4B93-9622-9C90F30542EC\\",\\n \\"IsAllSucceed\\": true,\\n \\"Success\\": true,\\n \\"FailureTopics\\": {\\n \\"Topic\\": [\\n \\"[\\\\\\"/x7aWKW9***/deviceNameTest2/user/delete\\\\\\"]\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DeleteTopicRouteTableResponse>\\n<RequestId>9DEBEF66-2B75-4CB2-BF19-1488802F4381</RequestId>\\n<FailureTopics></FailureTopics>\\n<Success>true</Success>\\n</DeleteTopicRouteTableResponse>","errorExample":""}]',
+ 'title' => 'DeleteTopicRouteTable',
+ 'summary' => 'Deletes the routing relationships of a specified custom topic.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateRule' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. On the **Overview** page in the IoT Platform console, you can view the **ID** of the instance.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'>* If the **Overview** page or instance ID is not displayed in the IoT Platform console, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information about the instance, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'Select',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The SQL SELECT statement that you want to execute. For more information about the syntax, see [SQL statements](~~30554~~).'."\n"
+ ."\n"
+ .'> This parameter specifies the fields in SELECT statements. For example, if the SELECT statement is `SELECT a,b,c`, specify `a,b,c` for this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'deviceName() as deviceName, items.Humidity.value as Humidity, items.Temperature.value as Temperature',
+ ],
+ ],
+ [
+ 'name' => 'ShortTopic',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The topic to which this rule is applied. Format: `${deviceName}/topicShortName`. `${deviceName}` specifies the name of the device, and `topicShortName` specifies the custom name of the topic.'."\n"
+ ."\n"
+ .'* Basic communication topics or Thing Specification Language (TSL)-based communication topics. Format: `${deviceName}/topicShortName`. You can replace `${deviceName}` with the `+` wildcard character. The wildcard character indicates that the topic applies to all devices under the product. Valid values of `topicShortName`:'."\n"
+ ."\n"
+ .' * `/thing/event/property/post`: submits the property data of a device.'."\n"
+ ."\n"
+ .' * `/thing/event/${tsl.event.identifier}/post`: submits the event data of a device. `${tsl.event.identifier}` specifies the identifier of an event in the TSL model.'."\n"
+ ."\n"
+ .' * `/thing/lifecycle`: submits device lifecycle changes.'."\n"
+ ."\n"
+ .' * `/thing/downlink/reply/message`: sends a response to a request from IoT Platform.'."\n"
+ ."\n"
+ .' * `/thing/list/found`: submits the data when a gateway detects a new sub-device.'."\n"
+ ."\n"
+ .' * `/thing/topo/lifecycle`: submits device topology changes.'."\n"
+ ."\n"
+ .' * `/thing/event/property/history/post`: submits the historical property data of a device.'."\n"
+ ."\n"
+ .' * `/thing/event/${tsl.event.identifier}/post`: submits the historical event data of a device. `${tsl.event.identifier}` specifies the identifier of an event in the TSL model.'."\n"
+ ."\n"
+ .' * `/ota/upgrade`: submits the OTA update status.'."\n"
+ ."\n"
+ .' * `/ota/version/post`: submits OTA module versions.'."\n"
+ ."\n"
+ .' * `/thing/deviceinfo/update`: submits device tag changes.'."\n"
+ ."\n"
+ .' * `/edge/driver/${driver_id}/point_post`: submits pass-through data from Link IoT Edge. `${driver_id}` specifies the ID of the driver that a device uses to access Link IoT Edge.'."\n"
+ ."\n"
+ .' The `${packageId}/${jobId}/ota/job/status` topic submits the status of OTA update batches. This topic is a basic communication topic. `${packageId}` specifies the ID of the update package. `${jobId}` specifies the ID of the update batch.'."\n"
+ ."\n"
+ .'* Custom topics. Example: `${deviceName}/user/get`.'."\n"
+ ."\n"
+ .' You can call the [QueryProductTopic](~~69647~~) operation to view all custom topics of the product.'."\n"
+ ."\n"
+ .' When you specify a custom topic, you can use the `+` and `#` wildcard characters.'."\n"
+ ."\n"
+ .' * You can replace `${deviceName}` with the `+` wildcard character. The wildcard character specifies that the topic applies to all devices in the product.'."\n"
+ ."\n"
+ .' * You can add `/user/#` after ${deviceName}. The `#` wildcard character can match all field values at the levels that follow `/user`.'."\n"
+ ."\n"
+ .' For more information about how to use wildcard characters, see [Custom topics with one or more wildcard characters](~~85539~~).'."\n"
+ ."\n"
+ .'* Topics that are used to submit device status changes. The topic name is in the `${deviceName}` format.'."\n"
+ ."\n"
+ .' You can use the `+` wildcard character. In this case, the status changes of all devices under the product are submitted.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '+/thing/event/property/post',
+ ],
+ ],
+ [
+ 'name' => 'Where',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The condition that is used to trigger the rule. For more information about the rule, see [SQL statements](~~30554~~).'."\n"
+ ."\n"
+ .'> This parameter specifies the fields in the **WHERE** clause. For example, if the **WHERE** clause is `WHERE a > 10`, you must specify `a > 10` for this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Temperature>35',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the rule applies.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1T27vz****',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the data forwarding rule. The rule name must be 1 to 30 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'iot_test1',
+ ],
+ ],
+ [
+ 'name' => 'RuleDesc',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the rule. The description can be up to 100 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rule test',
+ ],
+ ],
+ [
+ 'name' => 'DataType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The format of the data that is processed based on the rule. The value of this parameter must be consistent with the format of device data that you want to process. Valid values:'."\n"
+ ."\n"
+ .'* **JSON**: JSON data. This is the default value.'."\n"
+ .'* **BINARY**: binary data.'."\n"
+ ."\n"
+ .'> If this parameter is set to **BINARY**, you cannot set the **TopicType** parameter to 0 and cannot forward data to Tablestore and ApsaraDB RDS.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'JSON',
+ ],
+ ],
+ [
+ 'name' => 'TopicType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '* **0**: The topic is a basic communication topic or TSL-based communication topic. The topic that is used to submit the status of OTA update batches belongs to the basic communication topics.****'."\n"
+ .'* **1**: a custom topic.'."\n"
+ .'* **2**: The topic is used to submit device status changes. Format: `/as/mqtt/status/${productKey}/${deviceName}`.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the rule is assigned. You can view the resource group information in the [Resource Management console](https://resourcemanager.console.aliyun.com/resource-groups).'."\n"
+ ."\n"
+ .'>You can specify a value for this parameter only if you have activated Resource Management.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the rule is assigned to the default resource group.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmxazb4ph****',
+ ],
+ ],
+ [
+ 'name' => 'Topic',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The complete topic to which the rule applies.'."\n"
+ ."\n"
+ .'If you specify this parameter, you do not need to specify the **ShortTopic** and **TopicType** parameters.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '/sys/g18l***/device1/thing/event/property/post',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request. The ID uniquely identifies this request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'RuleId' => [
+ 'description' => 'The ID of the rule. If the call succeeds, the rule ID is generated by the rules engine.'."\n"
+ ."\n"
+ .'> Keep the information safe for future reference. You must provide the rule ID when you want to call rule-related operations.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '100000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"RuleId\\": 100000\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<CreateRuleResponse>\\r\\n <RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\r\\n <RuleId>100000</RuleId>\\r\\n <Success>true</Success>\\r\\n</CreateRuleResponse>","errorExample":""}]',
+ 'title' => 'CreateRule',
+ 'summary' => 'Creates a data forwarding rule for a specified topic.',
+ 'description' => 'When you call this operation, you must specify the **ProductKey** parameter in the request.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 50 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n"
+ ."\n"
+ .'> To enable a rule, you must specify the ProductKey, ShortTopic, and Select parameters.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateRuleAction' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'RuleId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the rule for which you want to create an action. You can log on to the IoT Platform console, and choose **Rules** > **Data Forwarding** to view the rule ID. You can also call the [ListRule](~~69486~~) operation and view the rule ID in the response.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '100000',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the rule action. Valid values:'."\n"
+ ."\n"
+ .'* **REPUBLISH**: forwards topic data that is processed by the rules engine to another IoT Platform topic.'."\n"
+ .'* **AMQP**: forwards data to an AMQP consumer group.'."\n"
+ .'* **MNS**: forwards data that is processed by the rules engine to Message Service (MNS).'."\n"
+ .'* **FC**: forwards topic data that is processed by the rules engine to Function Compute for event computing.'."\n"
+ .'* **OTS**: forwards data that is processed by the rules engine to OTS for NoSQL data storage.'."\n"
+ ."\n"
+ .'> If you set the **DataType** parameter to **BINARY**, rules are created in the binary format. These rules cannot be used to forward data to Tablestore.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'REPUBLISH',
+ ],
+ ],
+ [
+ 'name' => 'Configuration',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The configurations of the rule action. You must specify a JSON string. The configurations vary based on the types of rule actions. For more information about required syntax and examples, see the following tables.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '{"topic":"/a1POX0c****/device1/user/get","topicType":1}',
+ ],
+ ],
+ [
+ 'name' => 'ErrorActionFlag',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether the rule action forwards error operation data. Error operation data is generated when the rules engine failed to forward data from the IoT Platform topic to the destination cloud service. A data forwarding failure indicates that forwarding retries also fail. Valid values:'."\n"
+ ."\n"
+ .'* **true**: forwards error operation data.'."\n"
+ .'* **false**: forwards normal data instead of error operation data.'."\n"
+ ."\n"
+ .'Default value: **false**.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ActionId' => [
+ 'description' => 'The ID of the action. The action ID is generated by the rules engine if the call is successful.'."\n"
+ ."\n"
+ .'> Secure the information for future reference. When you call an operation that is related to the rule action, you must provide the action ID.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '10003',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '21D327AF-A7DE-4E59-B5D1-ACAC8C024555',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ActionId\\": 10003,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"21D327AF-A7DE-4E59-B5D1-ACAC8C024555\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<CreateRuleActionResponse>\\r\\n <RequestId>21D327AF-A7DE-4E59-B5D1-ACAC8C024555</RequestId>\\r\\n <ActionId>10003</ActionId>\\r\\n <Success>true</Success>\\r\\n</CreateRuleActionResponse>","errorExample":""}]',
+ 'title' => 'CreateRuleAction',
+ 'summary' => 'Creates a rule action for a specified rule to forward processed data from a topic to another topic or a supported Alibaba Cloud service.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* Destination Alibaba Cloud services that are supported by the rules engine vary based on regions. For more information about the regions and destination cloud services that are supported by the rules engine, see [Regions and zones](~~85669~~).'."\n"
+ ."\n"
+ .'* You can create a maximum of 10 rule actions for each rule.'."\n"
+ ."\n"
+ .'* You can call this API operation to define rule actions to forward data to an IoT Platform topic, AMQP consumer group, or Alibaba Cloud service. The supported Alibaba Cloud services include Message Service (MNS), Function Compute, and Tablestore. If you need to forward data to ApsaraDB RDS, you must use the [IoT Platform console](https://iot.console.aliyun.com).'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => '**The configurations of the REPUBLISH type**| Parameter | Description |'."\n"
+ .'| --------- | ----------- |'."\n"
+ .'| topic | The destination topic. You can specify a Thing Specification Language (TSL) communication topic or a custom topic. You can forward data to the following downstream TSL communication topics: '."\n"
+ ."\n"
+ .'`/sys/${YourProductKey}/${YourDeviceName}/thing/service/property/set``/sys/${YourProductKey}/${YourDeviceName}/thing/service/${tsl.service.identifier}`Replace the **${tsl.service.identifier}** variable with a service identifier that is defined in the TSL model. |'."\n"
+ .'| topicType | The type of the topic. Valid values: '."\n"
+ ."\n"
+ .'0: a downstream TSL communication topic. '."\n"
+ ."\n"
+ .'1: a custom topic. |'."\n"
+ .'Examples****'."\n"
+ ."\n"
+ .'```'."\n"
+ .'A system topic: {"topic":"/sys/a1TXXXXXWSN/xxx_cache001/thing/service/property/set","topicType":0}'."\n"
+ .'A custom topic: {"topic":"/a1TXXXXXWSN/xxx_cache001/user/update","topicType":1}'."\n"
+ .'```'."\n"
+ .'**The configurations of the DATAHUB type**| Parameter | Description |'."\n"
+ .'| --------- | ----------- |'."\n"
+ .'| projectName | The name of the DataHub project that is used to receive data. |'."\n"
+ .'| topicName | The name of the DataHub topic that is used to receive data. |'."\n"
+ .'| regionName | The code of the region in which DataHub is deployed. Example: cn-shanghai. |'."\n"
+ .'| role | The information about the RAM role. You can grant IoT Platform the access to DataHub by assigning a service role to IoT Platform. The syntax of a RAM role: '."\n"
+ ."\n"
+ .'`{"roleArn":"acs:ram::6541***:role/aliyuniotaccessingdatahubrole","roleName": "AliyunIOTAccessingDataHubRole"}`Replace `6541***` with your Alibaba Cloud ID. You can log on to the Alibaba Cloud Management Console and view the account ID on the Security Settings page. '."\n"
+ ."\n"
+ .'`AliyunIOTAccessingDataHubRole` indicates a service-linked role that is defined in RAM. This role is used to grant IoT Platform the access to DataHub. You can go to the RAM Roles page of the RAM console to manage RAM roles. |'."\n"
+ .'| schemaVals | The schema of DataHub. For more information, see the following SchemaVals table. |'."\n"
+ .'schemaVals'."\n"
+ ."\n"
+ .'| Parameter | Description |'."\n"
+ .'| --------- | ----------- |'."\n"
+ .'| name | The name of the column. |'."\n"
+ .'| value | The value of the column. |'."\n"
+ .'| type | The data type of the column. Valid values: '."\n"
+ ."\n"
+ .'BIGINT: big integer '."\n"
+ ."\n"
+ .'DOUBLE: double-precision float '."\n"
+ ."\n"
+ .'BOOLEAN: Boolean. '."\n"
+ ."\n"
+ .'TIMESTAMP: timestamp. '."\n"
+ ."\n"
+ .'STRING: string. '."\n"
+ ."\n"
+ .'DECIMAL: decimal. |'."\n"
+ .'Example****'."\n"
+ ."\n"
+ .'```'."\n"
+ .'{'."\n"
+ .' "schemaVals": ['."\n"
+ .' {'."\n"
+ .' "name": "devicename",'."\n"
+ .' "value": "${deviceName}",'."\n"
+ .' "type": "STRING"'."\n"
+ .' },'."\n"
+ .' {'."\n"
+ .' "name": "msgtime",'."\n"
+ .' "value": "${msgTime}",'."\n"
+ .' "type": "TIMESTAMP"'."\n"
+ .' }'."\n"
+ .' ],'."\n"
+ .' "role": {'."\n"
+ .' "roleArn": "acs:ram::6541***:role/aliyuniotaccessingdatahubrole",'."\n"
+ .' "roleName": "AliyunIOTAccessingDataHubRole"'."\n"
+ .' },'."\n"
+ .' "projectName": "iot_datahub_stream",'."\n"
+ .' "topicName": "device_message",'."\n"
+ .' "regionName": "cn-shanghai"'."\n"
+ .'}'."\n"
+ .'```'."\n"
+ .'**The configurations of the OTS type**| Parameter | Description |'."\n"
+ .'| --------- | ----------- |'."\n"
+ .'| instanceName | The name of the Tablestore instance that is used to receive data. |'."\n"
+ .'| tableName | The name of the table that is used to receive data. |'."\n"
+ .'| regionName | The code of the region in which Tablestore is deployed. Example: cn-shanghai. |'."\n"
+ .'| role | The information about the RAM role. You can grant IoT Platform the access to Tablestore by assigning a service role to IoT Platform. The syntax of a RAM role: '."\n"
+ ."\n"
+ .'`{"roleArn":"acs:ram::6541***:role/aliyuniotaccessingotsrole","roleName": "AliyunIOTAccessingOTSRole"}`Replace `6541***` with your Alibaba Cloud ID. You can log on to the Alibaba Cloud Management Console and view the account ID on the Security Settings page. '."\n"
+ ."\n"
+ .'`AliyunIOTAccessingOTSRole` indicates a service-linked role that is defined in RAM. This role is used to grant IoT Platform the access to Tablestore. You can go to the RAM Roles page of the RAM console to manage RAM roles. |'."\n"
+ .'| primaryKeys | The list of primary keys in the destination table. For more information, see the following PrimaryKeys table. |'."\n"
+ .'PrimaryKeys'."\n"
+ ."\n"
+ .'| Parameter | Description |'."\n"
+ .'| --------- | ----------- |'."\n"
+ .'| columnType | The data type of the primary key. Valid values: '."\n"
+ ."\n"
+ .'INTEGER: integer '."\n"
+ ."\n"
+ .'STRING: string '."\n"
+ ."\n"
+ .'BINARY: binary |'."\n"
+ .'| columnName | The name of the primary key. |'."\n"
+ .'| columnValue | The value of the primary key. |'."\n"
+ .'| option | Specifies whether the primary key is an auto-increment column. You can set the parameter to AUTO_INCREMENT or leave it empty. The primary key is an auto-increment column if the columnType and option parameters are respectively set to INTEGER and AUTO_INCREMENT. |'."\n"
+ .'Example****'."\n"
+ ."\n"
+ .'```'."\n"
+ .'{'."\n"
+ .' "instanceName": "testaaa",'."\n"
+ .' "tableName": "tt",'."\n"
+ .' "primaryKeys": ['."\n"
+ .' {'."\n"
+ .' "columnType": "STRING",'."\n"
+ .' "columnName": "ttt",'."\n"
+ .' "columnValue": "${tt}",'."\n"
+ .' "option": ""'."\n"
+ .' },'."\n"
+ .' {'."\n"
+ .' "columnType": "INTEGER",'."\n"
+ .' "columnName": "id",'."\n"
+ .' "columnValue": "",'."\n"
+ .' "option": "AUTO_INCREMENT"'."\n"
+ .' }'."\n"
+ .' ],'."\n"
+ .' "regionName": "cn-shanghai",'."\n"
+ .' "role": {'."\n"
+ .' "roleArn": "acs:ram::5645***:role/aliyuniotaccessingotsrole",'."\n"
+ .' "roleName": "AliyunIOTAccessingOTSRole"'."\n"
+ .' }'."\n"
+ .'}'."\n"
+ .'```'."\n"
+ .'**The configurations of the MNS type**| Parameter | Description |'."\n"
+ .'| --------- | ----------- |'."\n"
+ .'| themeName | The name of the MNS topic that is used to receive data. |'."\n"
+ .'| regionName | The code of the region in which MNS is deployed. Example: cn-shanghai. |'."\n"
+ .'| role | The information about the RAM role. To grant IoT Platform the access to MNS, you can assign a service role to IoT Platform. The syntax of a RAM role: '."\n"
+ ."\n"
+ .'`{"roleArn":"acs:ram::6541***:role/aliyuniotaccessingmnsrole","roleName": "AliyunIOTAccessingMNSRole"}`Replace `6541***` with your Alibaba Cloud ID. You can log on to the Alibaba Cloud Management Console and view the account ID on the Security Settings page. '."\n"
+ ."\n"
+ .'`AliyunIOTAccessingMNSRole` indicates a service-linked role that is defined in RAM. This role is used to grant IoT Platform access to MNS. You can go to the RAM Roles page of the RAM console to manage RAM roles. |'."\n"
+ .'Example****'."\n"
+ ."\n"
+ .'```'."\n"
+ .'{'."\n"
+ .' "themeName": "mns-test-topic1",'."\n"
+ .' "regionName": "cn-shanghai",'."\n"
+ .' "role": {'."\n"
+ .' "roleArn": "acs:ram::5645***:role/aliyuniotaccessingmnsrole",'."\n"
+ .' "roleName": "AliyunIOTAccessingMNSRole"'."\n"
+ .' }'."\n"
+ .'}'."\n"
+ .'```'."\n"
+ .'**The configurations of the FC type**| Parameter | Description |'."\n"
+ .'| --------- | ----------- |'."\n"
+ .'| functionName | The name of the function that is used to receive data. |'."\n"
+ .'| serviceName | The name of the service that is used to receive data. |'."\n"
+ .'| regionName | The code of the region in which Function Compute is deployed. Example: cn-shanghai. |'."\n"
+ .'| role | The information about the RAM role. You can grant IoT Platform the access to Function Compute by assigning a service role to IoT Platform. The syntax of a RAM role: '."\n"
+ ."\n"
+ .'`{"roleArn":"acs:ram::6541***:role/aliyuniotaccessingfcrole","roleName": "AliyunIOTAccessingFCRole"}`Replace `6541***` with your Alibaba Cloud ID. You can log on to the Alibaba Cloud Management Console and view the account ID on the Security Settings page. '."\n"
+ ."\n"
+ .'`AliyunIOTAccessingFCRole` indicates a service-linked role that is defined in RAM. This role is used to grant IoT Platform the access to Function Compute. You can go to the RAM Roles page of the RAM console to manage RAM roles. |'."\n"
+ .'Example****'."\n"
+ ."\n"
+ .'```'."\n"
+ .'{'."\n"
+ .' "regionName": "cn-shanghai",'."\n"
+ .' "role": {'."\n"
+ .' "roleArn": "acs:ram::5645***:role/aliyuniotaccessingfcrole",'."\n"
+ .' "roleName": "AliyunIOTAccessingFCRole"'."\n"
+ .' },'."\n"
+ .' "functionName": "weatherForecast",'."\n"
+ .' "serviceName": "weather"'."\n"
+ .'}'."\n"
+ .'```'."\n"
+ .'**The configurations of the ONS type**> You must call the SDK or use the console of Message Queue for Apache RocketMQ to grant IoT Platform the access to the service. IoT Platform must be authorized to publish messages to Message Queue for Apache RocketMQ. Then, you can create a rule action to forward data to the service. | Parameter | Description |'."\n"
+ .'| --------- | ----------- |'."\n"
+ .'| instanceId | The ID of the Message Queue for Apache RocketMQ instance that is used to receive data. |'."\n"
+ .'| topic | The name of the Message Queue for Apache RocketMQ topic that is used to receive data. |'."\n"
+ .'| regionName | The code of the region in which Message Queue for Apache RocketMQ is deployed. Example: cn-shanghai. '."\n"
+ ."\n"
+ .'To forward data over the Internet in the same zone, you can use a common Message Queue for Apache RocketMQ instance. To forward data across zones, you must use a Message Queue for Apache RocketMQ Platinum Edition instance. |'."\n"
+ .'| tag | Optional. The tag. The tag cannot exceed 128 bytes in length. |'."\n"
+ .'| role | The information about the RAM role. You can grant IoT Platform the access to Message Queue for Apache RocketMQ by assigning a service role to IoT Platform. The syntax of a RAM role: '."\n"
+ ."\n"
+ .'`{"roleArn":"acs:ram::6541***:role/aliyuniotaccessingonsrole","roleName": "AliyunIOTAccessingONSRole"}`Replace `6541***` with your Alibaba Cloud ID. You can log on to the Alibaba Cloud Management Console and view the account ID on the Security Settings page. '."\n"
+ ."\n"
+ .'`AliyunIOTAccessingONSRole` indicates a service-linked role that is defined in RAM. This role is used to grant IoT Platform the access to Message Queue for Apache RocketMQ. You can go to the RAM Roles page of the RAM console to manage RAM roles. |'."\n"
+ .'Example****'."\n"
+ ."\n"
+ .'```'."\n"
+ .'{'."\n"
+ .' "instanceId": "MQ_INST_123157908552****_XXXXXX"'."\n"
+ .' "topic": "aliyun-iot-XXXXX",'."\n"
+ .' "regionName": "cn-hangzhou",'."\n"
+ .' "role": {'."\n"
+ .' "roleArn": "acs:ram::6541***:role/aliyuniotaccessingonsrole",'."\n"
+ .' "roleName": "AliyunIOTAccessingONSRole"'."\n"
+ .' }'."\n"
+ .'}'."\n"
+ .'```'."\n"
+ .'**The configurations of the AMQP type**| Parameter | Description |'."\n"
+ .'| --------- | ----------- |'."\n"
+ .'| groupId | The ID of the consumer group. |'."\n"
+ .'Example****'."\n"
+ ."\n"
+ .'```'."\n"
+ .'{'."\n"
+ .' "groupId":"ZTh1JmyLGuZcUfv44p4z00****"'."\n"
+ .'}'."\n"
+ .'```'."\n"
+ .'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](/help/en/iot-platform/latest/836ef4).',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteRule' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'RuleId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the rule that you want to delete. You can log on to the IoT Platform console and choose **Rules** > **Data Forwarding** to view the rule ID. You can also call the [ListRule](~~69486~~) operation and view the rule ID in the response.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '100000',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'A8F48485-44B9-40D8-A56D-F716F384F387',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"A8F48485-44B9-40D8-A56D-F716F384F387\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DeleteRuleResponse>\\r\\n <RequestId>A8F48485-44B9-40D8-A56D-F716F384F387</RequestId>\\r\\n <Success>true</Success>\\r\\n</DeleteRuleResponse>","errorExample":""}]',
+ 'title' => 'DeleteRule',
+ 'summary' => 'Deletes a specified rule.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteRuleAction' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ActionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identifier of the rule action that you want to delete.'."\n"
+ ."\n"
+ .'After you call the [CreateRuleAction](~~69586~~) operation to create a rule action, the rule action ID is returned. You can call the [ListRuleActions](~~69517~~) operation to view the rule action ID.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '100001',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '8FC9E36B-E0DC-4802-84EE-184E255B4E95',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"8FC9E36B-E0DC-4802-84EE-184E255B4E95\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DeleteRuleActionResponse>\\r\\n <RequestId>8FC9E36B-E0DC-4802-84EE-184E255B4E95</RequestId>\\r\\n <Success>true</Success>\\r\\n</DeleteRuleActionResponse>","errorExample":""}]',
+ 'title' => 'DeleteRuleAction',
+ 'summary' => 'Deletes a specified rule action.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetRule' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'RuleId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the rule that you want to query. You can log on to the IoT Platform console and choose **Rules** > **Data Forwarding** to view the rule ID. You can also call the [ListRule](~~69486~~) operation and view the rule ID in the response.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '100000',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '58D4CEC0-3E95-4DBE-AFC1-809D1400E52F',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'RuleInfo' => [
+ 'description' => 'The rule information returned if the call is successful. For more information, see RuleInfo.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Modified' => [
+ 'description' => 'The time when the rule was last modified. The time is displayed in UTC-6.'."\n",
+ 'type' => 'string',
+ 'example' => 'Thu Feb 28 14:20:58 CST 2019',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the rule. Valid values:'."\n"
+ ."\n"
+ .'* **RUNNING**: Running'."\n"
+ .'* **STOP**: Stopped'."\n",
+ 'type' => 'string',
+ 'example' => 'STOP',
+ ],
+ 'DataType' => [
+ 'description' => 'The data type of the rule. Valid values: **JSON** and **BINARY** .'."\n",
+ 'type' => 'string',
+ 'example' => 'JSON',
+ ],
+ 'Select' => [
+ 'description' => 'The values of **Select** in the SQL statements of the rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'deviceName() as deviceName',
+ ],
+ 'UtcCreated' => [
+ 'description' => 'The time when the rule was created. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-02-28T06:14:33.000Z',
+ ],
+ 'TopicType' => [
+ 'description' => 'The type of the topic. This parameter is returned if you set the SQL statement for the rule. Valid values:'."\n"
+ ."\n"
+ .'* **0**: a basic communication topic or TSL communication topic.'."\n"
+ .'* **1**: a custom topic.'."\n"
+ .'* **2**: a device status topic.'."\n"
+ ."\n"
+ .'If no SQL statement is set for the rule, the value **-1** is returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'CreateUserId' => [
+ 'description' => 'The ID of the user who created the rule.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '100000000000000',
+ ],
+ 'Where' => [
+ 'description' => 'The **Where** query condition in the SQL statements of the rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'Temperature>35',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The ProductKey of the product to which the rule applies.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1KiV******',
+ ],
+ 'UtcModified' => [
+ 'description' => 'The time when the rule was last modified. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-02-28T06:20:58.000Z',
+ ],
+ 'Topic' => [
+ 'description' => 'The complete topic to which the rule applies. Format: `${productKey}/${deviceName}/topicShortName`.'."\n"
+ ."\n"
+ .'> For information about how to use the `+` or `#` wildcard in a topic, see [Topic wildcards](~~73731~~).'."\n",
+ 'type' => 'string',
+ 'example' => '/a1QsMlL44pp/+/user/pm25data',
+ ],
+ 'ShortTopic' => [
+ 'description' => 'The topic to which the rule applies. The topic does not include the ProductKey level. Format: `${deviceName}/topicShortName`. ${deviceName} indicates the name of the device, and topicShortName indicates the custom name of the topic.'."\n"
+ ."\n"
+ .'> For information about how to use the `+` or `#` wildcard in a topic, see [Topic wildcards](~~73731~~).'."\n",
+ 'type' => 'string',
+ 'example' => '+/user/pm25data',
+ ],
+ 'RuleDesc' => [
+ 'description' => 'The description of this rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'rule1Desc',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'iotrules',
+ ],
+ 'Created' => [
+ 'description' => 'The time when the rule was created. The time is displayed in UTC-6.'."\n",
+ 'type' => 'string',
+ 'example' => 'Thu Feb 28 14:14:33 CST 2019',
+ ],
+ 'Id' => [
+ 'description' => 'The ID of the rule.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '100000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"58D4CEC0-3E95-4DBE-AFC1-809D1400E52F\\",\\n \\"Success\\": true,\\n \\"RuleInfo\\": {\\n \\"Modified\\": \\"Thu Feb 28 14:20:58 CST 2019\\",\\n \\"Status\\": \\"STOP\\",\\n \\"DataType\\": \\"JSON\\",\\n \\"Select\\": \\"deviceName() as deviceName\\",\\n \\"UtcCreated\\": \\"2019-02-28T06:14:33.000Z\\",\\n \\"TopicType\\": 1,\\n \\"CreateUserId\\": 100000000000000,\\n \\"Where\\": \\"Temperature>35\\",\\n \\"ProductKey\\": \\"a1KiV******\\",\\n \\"UtcModified\\": \\"2019-02-28T06:20:58.000Z\\",\\n \\"Topic\\": \\"/a1QsMlL44pp/+/user/pm25data\\",\\n \\"ShortTopic\\": \\"+/user/pm25data\\",\\n \\"RuleDesc\\": \\"rule1Desc\\",\\n \\"Name\\": \\"iotrules\\",\\n \\"Created\\": \\"Thu Feb 28 14:14:33 CST 2019\\",\\n \\"Id\\": 100000\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<GetRuleResponse>\\n<RequestId>85648524-E5EE-418E-BD16-FAFBB4FF3645</RequestId>\\n<Success>true</Success>\\n<RuleInfo>\\n <DataType>JSON</DataType>\\n <ShortTopic>+/user/pm25data</ShortTopic>\\n <ProductKey>a1QsMl****</ProductKey>\\n <UtcModified>2019-12-23T03:34:45.000Z</UtcModified>\\n <CreateUserId>198426864326****</CreateUserId>\\n <UtcCreated>2019-12-23T02:32:06.000Z</UtcCreated>\\n <Name>Ruff_rule1</Name>\\n <Status>RUNNING</Status>\\n <Select>deviceName() as deviceName , timestamp(\'yyyy-MM-dd HH:mm:ss\') as time, pm25, pm10</Select>\\n <Created>Mon Dec 23 10:32:06 CST 2019</Created>\\n <Modified>Mon Dec 23 11:34:45 CST 2019</Modified>\\n <TopicType>1</TopicType>\\n <Topic>/a1QsMlL****/+/user/pm25data</Topic>\\n <Id>425367</Id>\\n</RuleInfo>\\n</GetRuleResponse>","errorExample":""}]',
+ 'title' => 'GetRule',
+ 'summary' => 'Queries detailed information about a specified rule.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetRuleAction' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The rule action ID that you want to query.'."\n"
+ ."\n"
+ .'You can query the rule action ID by using the following methods:'."\n"
+ ."\n"
+ .'* Call the [CreateRuleAction](~~69586~~) operation and view the **ActionId** parameter in the response.'."\n"
+ .'* Call the [ListRuleActions](~~69517~~) operation and view the **Id** parameter in the response.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ActionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '100001',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'F2D0755D-F350-40FE-9A6D-491859DB5E5F',
+ ],
+ 'Success' => [
+ 'description' => 'The rule action information returned if the call was successful. For more information, see the following parameters.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'RuleActionInfo' => [
+ 'description' => 'Indicates whether the rule action forwarded error operation data that failed to be forwarded to the destination cloud service. A data forwarding failure indicates that forwarding retries also failed.'."\n"
+ ."\n"
+ .'* **true**: forwards error operation data.'."\n"
+ .'* **false**: forwards normal data instead of error operation data.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorActionFlag' => [
+ 'description' => 'The type of the rule action. Valid values:'."\n"
+ ."\n"
+ .'* **REPUBLISH**: forwards data to another topic.'."\n"
+ .'* **OTS**: stores data to Tablestore.'."\n"
+ .'* **MNS**: sends data to Message Service (MNS).'."\n"
+ .'* **FC**: sends data to Function Compute.'."\n"
+ .'* **RDS**: Save to cloud databases.'."\n"
+ .'* **AMQP**: forwards data to an AMQP consumer group.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'Type' => [
+ 'description' => 'The configurations of the rule action.'."\n",
+ 'type' => 'string',
+ 'example' => 'REPUBLISH',
+ ],
+ 'Configuration' => [
+ 'description' => 'The ID of rule action.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"topic\\":\\"/sys/a1zSA28****/device/thing/service/property/set\\",\\"topicType\\":0,\\"uid\\":\\"1231579*******\\"}',
+ ],
+ 'Id' => [
+ 'description' => 'The ID of the rule based on which the rule action is performed.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '100001',
+ ],
+ 'RuleId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '152323',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"F2D0755D-F350-40FE-9A6D-491859DB5E5F\\",\\n \\"Success\\": true,\\n \\"RuleActionInfo\\": {\\n \\"ErrorActionFlag\\": false,\\n \\"Type\\": \\"REPUBLISH\\",\\n \\"Configuration\\": \\"{\\\\\\\\\\\\\\"topic\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"/sys/a1zSA28****/device/thing/service/property/set\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"topicType\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"uid\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1231579*******\\\\\\\\\\\\\\"}\\",\\n \\"Id\\": 100001,\\n \\"RuleId\\": 152323\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<GetRuleActionResponse>\\r\\n <RuleActionInfo>\\r\\n <Type>REPUBLISH</Type>\\r\\n <RuleId>152323</RuleId>\\r\\n <Id>100001</Id>\\r\\n <Configuration>\\r\\n <topic>/sys/a1zSA28****/device/thing/service/property/set</topic>\\r\\n <topicType>0</topicType>\\r\\n <uid>1231579*******</uid>\\r\\n </Configuration>\\r\\n <ErrorActionFlag>false</ErrorActionFlag>\\r\\n </RuleActionInfo>\\r\\n <RequestId>F2D0755D-F350-40FE-9A6D-491859DB5E5F</RequestId>\\r\\n <Success>true</Success>\\r\\n</GetRuleActionResponse>","errorExample":""}]',
+ 'title' => 'GetRuleAction',
+ 'summary' => 'Queries detailed information of a specified rule action.',
+ 'description' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'requestParamsDescription' => 'The operation that you want to perform. Set the value to GetRuleAction.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListRule' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.****'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n"
+ .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Maximum value: 1000. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: 1 to 100. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '2',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the rule belongs. You can log on to the [Resource Management](https://resourcemanager.console.aliyun.com/resource-groups) console to view the details of the resource group.'."\n"
+ ."\n"
+ .'>You can configure this parameter only if you have activated Resource Management.'."\n"
+ ."\n"
+ .'If you do not configure this parameter, all rules of the Alibaba Cloud account are queried.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmxazb4ph****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '1564B626-DE97-452D-9E9B-305888AC6105',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The error code that is returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of pages returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '25',
+ ],
+ 'Page' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'RuleInfo' => [
+ 'description' => 'The rules returned if the call is successful. For more information, see the "**RuleInfo**" section of this topic.'."\n"
+ ."\n"
+ .'> The returned rules are sorted in reverse-chronological order based on the time when the rules were created.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Modified' => [
+ 'description' => 'The time when the rule was last modified. The time is displayed in UTC-6.'."\n",
+ 'type' => 'string',
+ 'example' => 'Wed Feb 27 20:45:43 CST 2019',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the rule. Valid values:'."\n"
+ ."\n"
+ .'* **RUNNING**: The rule is running.'."\n"
+ .'* **STOP**: The rule is disabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'STOP',
+ ],
+ 'DataType' => [
+ 'description' => 'The data type of the rule. Valid values: **JSON** and **BINARY**.'."\n",
+ 'type' => 'string',
+ 'example' => 'JSON',
+ ],
+ 'Select' => [
+ 'description' => 'The content that follows the **Select** keyword in the SQL statement of the rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'deviceName() as deviceName',
+ ],
+ 'UtcCreated' => [
+ 'description' => 'The time when the device was created. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-02-27T12:40:43.000Z',
+ ],
+ 'CreateUserId' => [
+ 'description' => 'The ID of the user who created the rule.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1231579085000000',
+ ],
+ 'Where' => [
+ 'description' => 'The **Where** query condition in the SQL statement of the rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'Temperature>35',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The **ProductKey** of the product to which the rule applies.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1KiV******',
+ ],
+ 'UtcModified' => [
+ 'description' => 'The time when the rule was last modified.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-02-27T12:45:43.000Z',
+ ],
+ 'Topic' => [
+ 'description' => 'The topic to which the rule applies. Format: `${productKey}/${deviceName}/topicShortName`.'."\n"
+ ."\n"
+ .'> For information about how to use a plus sign (`+`) or a number sign (`#`) as a wildcard character in a topic, see [Topic wildcards](~~73731~~).'."\n",
+ 'type' => 'string',
+ 'example' => '/a1T27vz****/+/thing/event/property/post',
+ ],
+ 'ShortTopic' => [
+ 'description' => 'The topic to which the rule applies. The topic does not include the ProductKey level. Format: `${deviceName}/topicShortName`. ${deviceName} indicates the name of the device, and topicShortName indicates the custom name of the topic.'."\n"
+ ."\n"
+ .'> For information about how to use a plus sign (`+`) or a number sign (`#`) as a wildcard character in a topic, see [Topic wildcards](~~73731~~).'."\n",
+ 'type' => 'string',
+ 'example' => '+/thing/event/property/post',
+ ],
+ 'RuleDesc' => [
+ 'description' => 'The description of the rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'rule1Desc',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'test123',
+ ],
+ 'Created' => [
+ 'description' => 'The time when the rule was created. The time is displayed in UTC-6.'."\n",
+ 'type' => 'string',
+ 'example' => 'Wed Feb 27 20:45:43 CST 2019',
+ ],
+ 'Id' => [
+ 'description' => 'The ID of the rule.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '151454',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1564B626-DE97-452D-9E9B-305888AC6105\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 2,\\n \\"Total\\": 25,\\n \\"Page\\": 1,\\n \\"Data\\": {\\n \\"RuleInfo\\": [\\n {\\n \\"Modified\\": \\"Wed Feb 27 20:45:43 CST 2019\\",\\n \\"Status\\": \\"STOP\\",\\n \\"DataType\\": \\"JSON\\",\\n \\"Select\\": \\"deviceName() as deviceName\\",\\n \\"UtcCreated\\": \\"2019-02-27T12:40:43.000Z\\",\\n \\"CreateUserId\\": 1231579085000000,\\n \\"Where\\": \\"Temperature>35\\",\\n \\"ProductKey\\": \\"a1KiV******\\",\\n \\"UtcModified\\": \\"2019-02-27T12:45:43.000Z\\",\\n \\"Topic\\": \\"/a1T27vz****/+/thing/event/property/post\\",\\n \\"ShortTopic\\": \\"+/thing/event/property/post\\",\\n \\"RuleDesc\\": \\"rule1Desc\\",\\n \\"Name\\": \\"test123\\",\\n \\"Created\\": \\"Wed Feb 27 20:45:43 CST 2019\\",\\n \\"Id\\": 151454\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<ListRuleResponse>\\n<Data>\\n <RuleInfo>\\n <DataType>JSON</DataType>\\n <ProductKey>a1T27vz****</ProductKey>\\n <CreateUserId>198426864326****</CreateUserId>\\n <UtcModified>2020-02-26T06:38:27.000Z</UtcModified>\\n <UtcCreated>2020-02-26T02:50:44.000Z</UtcCreated>\\n <Where>Temperature&gt;35</Where>\\n <Name>testrule2</Name>\\n <Status>STOP</Status>\\n <Select>deviceName() as DeviceName</Select>\\n <Created>Wed Feb 26 10:50:44 CST 2020</Created>\\n <Modified>Wed Feb 26 14:38:27 CST 2020</Modified>\\n <Topic>/a1T27vz****/+/thing/event/property/post</Topic>\\n <Id>497350</Id>\\n </RuleInfo>\\n</Data>\\n<Page>1</Page>\\n<PageSize>1</PageSize>\\n<RequestId>1A6131EC-7504-4673-B997-DEFC6B363A37</RequestId>\\n<Success>true</Success>\\n<Total>5</Total>\\n</ListRuleResponse>","errorExample":""}]',
+ 'title' => 'ListRule',
+ 'summary' => 'Queries rules by page.',
+ 'description' => '## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 20 times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListRuleActions' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. On the **Overview** page in the IoT Platform console, you can view the **ID** of the instance.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'>* If the **Overview** page or instance ID is not displayed in the IoT Platform console, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information about the instance, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'RuleId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the rule.'."\n"
+ ."\n"
+ .'You can log on to the IoT Platform console and go to the details page of the instance that you want to manage. On the instance details page, choose **Rules Engine** > **Data Forwarding** to obtain the rule ID. Alternatively, you can call the [ListRule](~~69486~~) operation to view the value of the **Id** parameter in the response.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '10000',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information about error codes, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '22254BDB-3DC1-4643-8D1B-EE0437EF09A9',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. '."\n"
+ ."\n"
+ .'- **true**: The call was successful.'."\n"
+ .'- **false**: The call failed.',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'RuleActionList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'RuleActionInfo' => [
+ 'description' => 'If the call is successful, all configured data forwarding actions of the specified rule are returned. For more information about the returned data, see the following **RuleActionInfo** parameter.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'description' => 'The type of the action in which data is forwarded to a destination. Valid values:'."\n"
+ ."\n"
+ .'* **REPUBLISH**: Data is forwarded to a topic.'."\n"
+ .'* **OTS**: Data is stored in Tablestore.'."\n"
+ .'* **MNS**: Data is forwarded to Message Service (MNS).'."\n"
+ .'* **ONS**: Data is forwarded to Message Queue for Apache RocketMQ.'."\n"
+ .'* **TSDB**: Data is stored in Time Series Database.'."\n"
+ .'* **FC**: Data is forwarded to Function Compute.'."\n"
+ .'* **RDS**: Data is forwarded to ApsaraDB RDS.'."\n"
+ .'* **AMQP**: Data is forwarded to an Advanced Message Queuing Protocol (AMQP) consumer group.'."\n",
+ 'type' => 'string',
+ 'example' => 'OTS',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the data forwarding action. Valid values:'."\n"
+ ."\n"
+ .'* **INIT**: The action is being configured.'."\n"
+ .'* **NORMAL**: The configuration is complete, and the action can run properly.'."\n"
+ .'* **INVALID**: The configuration data is invalid, and the action fails to run.'."\n"
+ .'* **SHORTCUT**: An exception occurs and the data forwarding action is stopped.'."\n",
+ 'type' => 'string',
+ 'example' => 'NORMAL',
+ ],
+ 'Configuration' => [
+ 'description' => 'The configurations of the data destination.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"endPoint\\":\\"http://ShanghaiRegion.cn-shanghai.ots.aliyuncs.com\\",\\"instanceName\\":\\"ShanghaiRegion\\",\\"primaryKeys\\":[{\\"columnName\\":\\"temperature\\",\\"columnType\\":\\"INTEGER\\",\\"columnValue\\":\\"${deviceName}\\"}],\\"regionName\\":\\"cn-shanghai\\",\\"role\\":{\\"roleArn\\":\\"acs:ram::1231579085******:role/aliyuniotaccessingotsrole\\",\\"roleName\\":\\"AliyunIOTAccessingOTSRole\\"},\\"tableName\\":\\"iottest\\",\\"uid\\":\\"1231579085******\\"}',
+ ],
+ 'ErrorActionFlag' => [
+ 'description' => 'Indicates whether the data destination is used to receive the error operation data. The error operation data is data that failed to be forwarded two consecutive times.'."\n"
+ ."\n"
+ .'* **true**: This destination is used to receive error operation data.'."\n"
+ .'* **false**: This destination is not used to receive error operation data.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'Id' => [
+ 'description' => 'The ID of the action in which data is forwarded to the destination.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '139099',
+ ],
+ 'RuleId' => [
+ 'description' => 'The ID of the rule based on which data is forwarded to the destination.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '10000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"22254BDB-3DC1-4643-8D1B-EE0437EF09A9\\",\\n \\"Success\\": true,\\n \\"RuleActionList\\": {\\n \\"RuleActionInfo\\": [\\n {\\n \\"Type\\": \\"OTS\\",\\n \\"Status\\": \\"NORMAL\\",\\n \\"Configuration\\": \\"{\\\\\\\\\\\\\\"endPoint\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"http://ShanghaiRegion.cn-shanghai.ots.aliyuncs.com\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"instanceName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"ShanghaiRegion\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"primaryKeys\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"columnName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"temperature\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"columnType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"INTEGER\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"columnValue\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"${deviceName}\\\\\\\\\\\\\\"}],\\\\\\\\\\\\\\"regionName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cn-shanghai\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"role\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"roleArn\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"acs:ram::1231579085******:role/aliyuniotaccessingotsrole\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"roleName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"AliyunIOTAccessingOTSRole\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"tableName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"iottest\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"uid\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1231579085******\\\\\\\\\\\\\\"}\\",\\n \\"ErrorActionFlag\\": false,\\n \\"Id\\": 139099,\\n \\"RuleId\\": 10000\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListRuleActionsResponse>\\n<RuleActionList>\\n <RuleActionInfo>\\n <Type>OTS</Type>\\n <RuleId>10000</RuleId>\\n <Id>139099</Id>\\n <Status>NORMAL</Status>\\n <Configuration>{\\"endPoint\\":\\"http://ShanghaiRegion.cn-shanghai.ots.aliyuncs.com\\",\\"instanceName\\":\\"ShanghaiRegion\\",\\"primaryKeys\\":[{\\"columnName\\":\\"temperature\\",\\"columnType\\":\\"INTEGER\\",\\"columnValue\\":\\"${deviceName}\\"}],\\"regionName\\":\\"cn-shanghai\\",\\"role\\":{\\"roleArn\\":\\"acs:ram::1231579085******:role/aliyuniotaccessingotsrole\\",\\"roleName\\":\\"AliyunIOTAccessingOTSRole\\"},\\"tableName\\":\\"iottest\\",\\"uid\\":\\"1231579085******\\"}</Configuration>\\n <ErrorActionFlag>false</ErrorActionFlag>\\n </RuleActionInfo>\\n <RuleActionInfo>\\n <Type>REPUBLISH</Type>\\n <RuleId>152323</RuleId>\\n <Id>142401</Id>\\n <Status>NORMAL</Status>\\n <Configuration>{\\"topic\\":\\"/sys/a1zSA28H***/device/thing/service/property/set\\",\\"topicType\\":0,\\"uid\\":\\"1231579085******\\"}</Configuration>\\n <ErrorActionFlag>false</ErrorActionFlag>\\n </RuleActionInfo>\\n</RuleActionList>\\n<RequestId>22254BDB-3DC1-4643-8D1B-EE0437EF09A9</RequestId>\\n<Success>true</Success>\\n</ListRuleActionsResponse>","errorExample":""}]',
+ 'title' => 'ListRuleActions',
+ 'summary' => 'Queries all the configured data forwarding actions of a specific rule. When the rule is triggered, data can be forwarded to different destinations based on the configured actions.',
+ 'description' => '## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> The Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about the common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'StartRule' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'RuleId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the rule that you want to enable. You can log on to the IoT Platform console and choose **Rules** > **Data Forwarding** to view the rule ID. You can also call the [ListRule](~~69486~~) operation and view the rule ID in the response.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '100000',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '9A2F243E-17FE-4846-BAB5-D02A25155AC4',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"9A2F243E-17FE-4846-BAB5-D02A25155AC4\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<StartRuleResponse>\\r\\n <RequestId>9A2F243E-17FE-4846-BAB5-D02A25155AC4</RequestId>\\r\\n <Success>true</Success>\\r\\n</StartRuleResponse>","errorExample":""}]',
+ 'title' => 'StartRule',
+ 'summary' => 'Enables a specified rule.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* You must verify that the rule has SQL statements configured before you start the rule. If you do not set an SQL statement when you create the rule, call the [UpdateRule](~~69513~~) operation to add an SQL statement and update the rule.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'StopRule' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'RuleId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the rule that you want to disable. You can log on to the IoT Platform console and choose **Rules** > **Data Forwarding** to view the rule ID. You can also call the [ListRule](~~69486~~) operation and view the rule ID in the response.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '100000',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '9A2F243E-17FE-4846-BAB5-D02A25155AC4',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"9A2F243E-17FE-4846-BAB5-D02A25155AC4\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<StopRuleResponse>\\r\\n <RequestId>9A2F243E-17FE-4874-QBB5-D02A25155AC8</RequestId>\\r\\n <Success>true</Success>\\r\\n</StopRuleResponse>","errorExample":""}]',
+ 'title' => 'StopRule',
+ 'summary' => 'Disables a specified rule.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateRule' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'RuleId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the rule that you want to modify. You can log on to the IoT Platform console and choose **Rules** > **Data Forwarding** to view the rule ID. You can also call the [ListRule](~~69486~~) operation and view the rule ID in the response.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '100000',
+ ],
+ ],
+ [
+ 'name' => 'Select',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The SQL SELECT statement to be executed. For more information, see [SQL expressions](~~30554~~).'."\n"
+ ."\n"
+ .'> Specify the content that follows the SELECT keyword for this parameter. For example, if the SELECT statement is `SELECT a,b,c`, specify `a,b,c` for this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'deviceName() as deviceName, items.Humidity.value as Humidity, items.Temperature.value as Temperature',
+ ],
+ ],
+ [
+ 'name' => 'ShortTopic',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The topic to which this rule is applied. Syntax: `${deviceName}/topicShortName`. `${deviceName}` specifies the name of the device, and `topicShortName` specifies the custom name of the topic.'."\n"
+ ."\n"
+ .'* Basic communication topics or Thing Specification Language (TSL)-based communication topics. Syntax: `${deviceName}/topicShortName`. You can replace `${deviceName}` with the `+` wildcard. The wildcard indicates that the topic applies to all devices under the product. Valid values of `topicShortName`:'."\n"
+ ."\n"
+ .' * `/thing/event/property/post`: submits the property data of a device.'."\n"
+ ."\n"
+ .' * `/thing/event/${tsl.event.identifier}/post`: submits the event data of a device. `${tsl.event.identifier}` specifies the identifier of an event in the TSL model.'."\n"
+ ."\n"
+ .' * `/thing/lifecycle`: submits device lifecycle changes.'."\n"
+ ."\n"
+ .' * `/thing/downlink/reply/message`: sends a response to a request from IoT Platform.'."\n"
+ ."\n"
+ .' * `/thing/list/found`: submits the data when a gateway detects a new sub-device.'."\n"
+ ."\n"
+ .' * `/thing/topo/lifecycle`: submits device topology changes.'."\n"
+ ."\n"
+ .' * `/thing/event/property/history/post`: submits historical property data of a device.'."\n"
+ ."\n"
+ .' * `/thing/event/${tsl.event.identifier}/post`: submits the historical event data of a device. `${tsl.event.identifier}` specifies the identifier of an event in the TSL.'."\n"
+ ."\n"
+ .' * `/ota/upgrade`: submits OTA update statuses.'."\n"
+ ."\n"
+ .' * `/ota/version/post`: submits OTA module versions.'."\n"
+ ."\n"
+ .' * `/thing/deviceinfo/update`: submits device tag changes.'."\n"
+ ."\n"
+ .' * `/edge/driver/${driver_id}/point_post`: submits pass-through data from Link IoT Edge. `${driver_id}` specifies the ID of the driver that a device uses to access Link IoT Edge.'."\n"
+ ."\n"
+ .' `${packageId}/${jobId}/ota/job/status`: submits the statuses of OTA update batches. This topic is a basic communication topic. `${packageId}` specifies the ID of the update package. `${jobId}` specifies the ID of the update batch.'."\n"
+ ."\n"
+ .'* Custom topics. Example: `${deviceName}/user/get`.'."\n"
+ ."\n"
+ .' You can call the [QueryProductTopic](~~69647~~) operation to view all custom topics of the product.'."\n"
+ ."\n"
+ .' When you specify a custom topic, you can use the `+` and `#` wildcards.'."\n"
+ ."\n"
+ .' * You can replace `${deviceName}` with the `+` wildcard. The wildcard indicates that the topic applies to all devices under the product.'."\n"
+ ."\n"
+ .' * You can replace the fields that follow ${deviceName} with `/user/#`. The `#` wildcard indicates that the topic applies whatever values are specified for the fields that follow`/user`.'."\n"
+ ."\n"
+ .' For more information about how to use wildcards, see [Wildcards in topics](~~85539~~).'."\n"
+ ."\n"
+ .'* Topic that is used to submit device status changes: `${deviceName}`.'."\n"
+ ."\n"
+ .' You can use the `+` wildcard. In this case, the status changes of all devices under the product are submitted.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '+/thing/event/property/post',
+ ],
+ ],
+ [
+ 'name' => 'Where',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The condition that is used to trigger the rule. For more information, see [SQL expressions](~~30554~~).'."\n"
+ ."\n"
+ .'> Specify the content that follows the WHERE keyword for this parameter. For example, if the WHERE statement is `WHERE a>10`, specify `a>10` for this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Temperature>35',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the rule applies.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'aladaeW****',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the rule. The rule name must be 1 to 30 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test_2',
+ ],
+ ],
+ [
+ 'name' => 'RuleDesc',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the rule. The description can be up to 100 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'TopicType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '* **0**: The topic is a basic communication topic or TSL-based communication topic.****'."\n"
+ .'* **1**: The topic is a custom topic.'."\n"
+ .'* **2**: The topic is used to submit device status changes. Syntax: `/as/mqtt/status/${productKey}/${deviceName}`.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'Topic',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The complete topic to which the rule applies.'."\n"
+ ."\n"
+ .'If you specify this parameter, you do not need to specify the **ProductKey**, **ShortTopic**, and **TopicType** parameters.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '/sys/g18l***/device1/thing/event/property/post',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '9A2F243E-17FE-4846-BAB5-D02A25155AC4',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"9A2F243E-17FE-4846-BAB5-D02A25155AC4\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<UpdateRuleResponse>\\r\\n <RequestId>9A2F243E-17FE-4874-QBB5-D02A25155AC8</RequestId>\\r\\n <Success>true</Success>\\r\\n</UpdateRuleResponse>","errorExample":""}]',
+ 'title' => 'UpdateRule',
+ 'summary' => 'Modifies a specified rule.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateRuleAction' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ActionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the rule action to be modified.'."\n"
+ ."\n"
+ .'After you call the [CreateRuleAction](~~69586~~) operation to create a rule action, the rule action ID is returned. You can call the [ListRuleActions](~~69517~~) operation to view the rule action ID.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1000003',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the rule action. Valid values:'."\n"
+ ."\n"
+ .'* **MNS**: forwards topic data that is processed by the rules engine to MNS.'."\n"
+ .'* **FC**: forwards topic data that is processed by the rules engine to Function Compute for event computing.'."\n"
+ .'* **REPUBLISH**: forwards topic data that is processed by the rules engine to another IoT Platform topic.'."\n"
+ .'* **AMQP**: forwards data to an AMQP consumer group.'."\n"
+ .'* **OTS**: forwards topic data that is processed by the rules engine to Tablestore for NoSQL data storage.'."\n"
+ ."\n"
+ .'> * If you set the **DataType** parameter to **BINARY**, rules are created in the binary format. These rules cannot be used to forward data to Tablestore.'."\n"
+ .'>* Destination Alibaba Cloud services that are supported by the rules engine vary based on regions. For more information about the regions and destination cloud services that are supported by the rules engine, see [Regions and zones](~~85669~~).',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'REPUBLISH',
+ ],
+ ],
+ [
+ 'name' => 'Configuration',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The configurations of the rule action. The configurations for different rule action types are different. For more information about the configurations for different rule action types, see [CreateRuleAction](~~69586~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '{"topic":"/a1iYSOl****/device5/user/get","topicType":1}',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '21D327AF-A7DE-4E59-B5D1-ACAC8C024555',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"21D327AF-A7DE-4E59-B5D1-ACAC8C024555\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<UpdateRuleActionResponse>\\r\\n <RequestId>9A2F243E-17FE-4874-QBB5-D02A25155AC8</RequestId>\\r\\n <Success>true</Success>\\r\\n</UpdateRuleActionResponse>","errorExample":""}]',
+ 'title' => 'UpdateRuleAction',
+ 'summary' => 'Modifies a specified rule action.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateParser' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-n8t***',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'DataParser',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '291438BA-6E10-4C4C-B761-243B9A0D324F',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ParserId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '100*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.CreateRuleException',
+ 'errorMessage' => 'An exception occurred while creating the rule.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.InvalidRuleName',
+ 'errorMessage' => 'The rule name is invalid',
+ ],
+ [
+ 'errorCode' => 'iot.rule.ConnectorCountExceed',
+ 'errorMessage' => 'The count of parser exceeds the maximum number',
+ ],
+ [
+ 'errorCode' => 'iot.rule.ConnectorIsAlreadyExisted',
+ 'errorMessage' => 'The parser name already exists.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"291438BA-6E10-4C4C-B761-243B9A0D324F\\",\\n \\"Success\\": true,\\n \\"ParserId\\": 0\\n}","errorExample":""},{"type":"xml","example":"<CreateParserResponse>\\n<RequestId>291438BA-6E10-4C4C-B761-243B9A0D324F</RequestId>\\n<ParserId>100*</ParserId>\\n<Success>true</Success>\\n</CreateParserResponse>","errorExample":""}]',
+ 'title' => '{"title1":"CreateParser"}',
+ 'summary' => '{"summary1":""}',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateParser' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-8t***',
+ ],
+ ],
+ [
+ 'name' => 'ParserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '9999999999',
+ 'minimum' => '0',
+ 'example' => '1001',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'DataParserTwo',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.common.InvalidFormattedParameter',
+ 'errorMessage' => 'The parameter format is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.UpdateRuleFailed',
+ 'errorMessage' => 'An error occurred while upgrading the rule.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.InvalidRuleName',
+ 'errorMessage' => 'The rule name is invalid',
+ ],
+ [
+ 'errorCode' => 'iot.rule.NotFoundRule',
+ 'errorMessage' => 'there are no rules',
+ ],
+ [
+ 'errorCode' => 'iot.rule.ConnectorIsAlreadyExisted',
+ 'errorMessage' => 'The parser name already exists.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateParserResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Success>true</Success>\\n</UpdateParserResponse>","errorExample":""}]',
+ 'title' => '{"title1":"UpdateParser"}',
+ 'summary' => '{"summary1":""}',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListParser' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-n8t****',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '100',
+ 'minimum' => '0',
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'SearchName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'DataParser',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'ParserList' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'STOP',
+ ],
+ 'Description' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'UtcModified' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2022-03-25T12:45:43.000Z',
+ ],
+ 'Name' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'DataParser',
+ ],
+ 'UtcCreated' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2022-03-21T12:45:43.000Z',
+ ],
+ 'ParserId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1001',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.common.InvalidPageParams',
+ 'errorMessage' => 'The specified pagination size or pagination parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.common.InvalidFormattedParameter',
+ 'errorMessage' => 'The parameter format is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.QueryRulePageActionError',
+ 'errorMessage' => 'An error occurred while querying the rule action list across multiple pages.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Total\\": 100,\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ParserList\\": [\\n {\\n \\"Status\\": \\"STOP\\",\\n \\"Description\\": \\"转发数据。\\",\\n \\"UtcModified\\": \\"2022-03-25T12:45:43.000Z\\",\\n \\"Name\\": \\"DataParser\\",\\n \\"UtcCreated\\": \\"2022-03-21T12:45:43.000Z\\",\\n \\"ParserId\\": 1001\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListParserResponse>\\r\\n <RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\r\\n <Total>100</Total>\\r\\n <Data>\\r\\n <ParserList>\\r\\n <Status>STOP</Status>\\r\\n <Description>转发数据1。</Description>\\r\\n <UtcCreated>2022-03-21T12:45:43.000Z</UtcCreated>\\r\\n <UtcModified>2022-03-25T12:45:43.000Z</UtcModified>\\r\\n <ParserId>1001</ParserId>\\r\\n <Name>DataParser1</Name>\\r\\n </ParserList>\\r\\n <ParserList>\\r\\n <Status>STOP</Status>\\r\\n <Description>转发数据2。</Description>\\r\\n <UtcCreated>2022-03-21T12:50:43.000Z</UtcCreated>\\r\\n <UtcModified>2022-03-25T12:48:43.000Z</UtcModified>\\r\\n <ParserId>1002</ParserId>\\r\\n <Name>DataParser2</Name>\\r\\n </ParserList>\\r\\n </Data>\\r\\n <Success>true</Success>\\r\\n</ListParserResponse>","errorExample":""}]',
+ 'title' => '{"title1":"ListParser"}',
+ 'summary' => '{"summary1":""}',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetParser' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-n8t***',
+ ],
+ ],
+ [
+ 'name' => 'ParserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '999999999',
+ 'minimum' => '0',
+ 'example' => '1001',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'STOP',
+ ],
+ 'Description' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'UtcModified' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2022-04-27T12:45:43.000Z',
+ ],
+ 'DataSourceId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1003',
+ ],
+ 'ScriptDraft' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'var data = payload("json"); var h = data.items.Humidity.value; var t = data.items.Temperature.value; writeTsdb(1000,timestamp(),"temperature", t , {"deviceName":deviceName()}); writeTsdb(1000,timestamp(),"humidity", h , {"deviceName":deviceName()});',
+ ],
+ 'UtcCreated' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2022-03-27T12:45:43.000Z',
+ ],
+ 'Name' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'DataParser',
+ ],
+ 'Script' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'var data = payload("json"); var h = data.items.Humidity.value; var t = data.items.Temperature.value; writeTsdb(1000,timestamp(),"temperature", t , {"deviceName":deviceName()}); writeTsdb(1000,timestamp(),"humidity", h , {"deviceName":deviceName()});',
+ ],
+ 'ParserId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1001',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.common.InvalidFormattedParameter',
+ 'errorMessage' => 'The parameter format is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.QueryRuleFailed',
+ 'errorMessage' => 'An error occurred while querying the rule.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.NotFoundRule',
+ 'errorMessage' => 'there are no rules',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Status\\": \\"STOP\\",\\n \\"Description\\": \\"转发数据。\\",\\n \\"UtcModified\\": \\"2022-04-27T12:45:43.000Z\\",\\n \\"DataSourceId\\": 1003,\\n \\"ScriptDraft\\": \\"var data = payload(\\\\\\"json\\\\\\"); var h = data.items.Humidity.value; var t = data.items.Temperature.value; writeTsdb(1000,timestamp(),\\\\\\"temperature\\\\\\", t , {\\\\\\"deviceName\\\\\\":deviceName()}); writeTsdb(1000,timestamp(),\\\\\\"humidity\\\\\\", h , {\\\\\\"deviceName\\\\\\":deviceName()});\\",\\n \\"UtcCreated\\": \\"2022-03-27T12:45:43.000Z\\",\\n \\"Name\\": \\"DataParser\\",\\n \\"Script\\": \\"var data = payload(\\\\\\"json\\\\\\"); var h = data.items.Humidity.value; var t = data.items.Temperature.value; writeTsdb(1000,timestamp(),\\\\\\"temperature\\\\\\", t , {\\\\\\"deviceName\\\\\\":deviceName()}); writeTsdb(1000,timestamp(),\\\\\\"humidity\\\\\\", h , {\\\\\\"deviceName\\\\\\":deviceName()});\\",\\n \\"ParserId\\": 1001\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetParserResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Data>\\n <Status>STOP</Status>\\n <Script>var data = payload(\\"json\\"); var h = data.items.Humidity.value; var t = data.items.Temperature.value; writeTsdb(1000,timestamp(),\\"temperature\\", t , {\\"deviceName\\":deviceName()}); writeTsdb(1000,timestamp(),\\"humidity\\", h , {\\"deviceName\\":deviceName()});</Script>\\n <Description>转发数据。</Description>\\n <UtcCreated>2022-03-27T12:45:43.000Z</UtcCreated>\\n <ScriptDraft>var data = payload(\\"json\\"); var h = data.items.Humidity.value; var t = data.items.Temperature.value; writeTsdb(1000,timestamp(),\\"temperature\\", t , {\\"deviceName\\":deviceName()}); writeTsdb(1000,timestamp(),\\"humidity\\", h , {\\"deviceName\\":deviceName()});</ScriptDraft>\\n <UtcModified>2022-04-27T12:45:43.000Z</UtcModified>\\n <ParserId>1001</ParserId>\\n <DataSourceId>1003</DataSourceId>\\n <Name>DataParser</Name>\\n</Data>\\n<Success>true</Success>\\n</GetParserResponse>","errorExample":""}]',
+ 'title' => '{"title1":"GetParser"}',
+ 'summary' => '{"summary1":""}',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteParser' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ParserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '9999999999',
+ 'minimum' => '0',
+ 'example' => '1001',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.check.InvalidFormattedParameter',
+ 'errorMessage' => 'The parameter format is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.DeleteRuleFailed',
+ 'errorMessage' => 'An error occurred while deleting the rule.',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.RuleAlreadyIsStarted',
+ 'errorMessage' => 'The specified rule has already started',
+ ],
+ [
+ 'errorCode' => 'iot.rule.NotFoundRule',
+ 'errorMessage' => 'there are no rules',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteParserResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Success>true</Success>\\n</DeleteParserResponse>","errorExample":""}]',
+ 'title' => '{"title1":"DeleteParser"}',
+ 'summary' => '{"summary1":""}',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateParserDataSource' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-w2****',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'DataSource',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '291438BA-6E10-4C4C-B761-243B9A0D324F',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DataSource' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'UtcCreated' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2022-03-27T12:45:43.000Z',
+ ],
+ 'Name' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'DataSource',
+ ],
+ 'Description' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'DataSourceId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1001',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.CreateRuleException',
+ 'errorMessage' => 'An exception occurred while creating the rule.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.DataSourceCountExceed',
+ 'errorMessage' => 'The count of data source exceeds the maximum number',
+ ],
+ [
+ 'errorCode' => 'iot.rule.DataSourceExists',
+ 'errorMessage' => 'Same datasource is existed',
+ ],
+ [
+ 'errorCode' => 'iot.rule.InvalidDataSourceName',
+ 'errorMessage' => 'The data source name is invalid',
+ ],
+ [
+ 'errorCode' => 'iot.common.TooManyRequest',
+ 'errorMessage' => 'Request frequency is too high',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"291438BA-6E10-4C4C-B761-243B9A0D324F\\",\\n \\"Success\\": true,\\n \\"DataSource\\": {\\n \\"UtcCreated\\": \\"2022-03-27T12:45:43.000Z\\",\\n \\"Name\\": \\"DataSource\\",\\n \\"Description\\": \\"设备数据。\\",\\n \\"DataSourceId\\": 1001\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateParserDataSourceResponse>\\n<RequestId>291438BA-6E10-4C4C-B761-243B9A0D324F</RequestId>\\n<Success>true</Success>\\n<DataSource>\\n <Description>设备数据。</Description>\\n <UtcCreated>2022-03-27T12:45:43.000Z</UtcCreated>\\n <DataSourceId>1001</DataSourceId>\\n <Name>DataSource</Name>\\n</DataSource>\\n</CreateParserDataSourceResponse>","errorExample":""}]',
+ 'title' => 'CreateParserDataSource',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateParserDataSource' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-2w****',
+ ],
+ ],
+ [
+ 'name' => 'DataSourceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '9999999999',
+ 'minimum' => '0',
+ 'example' => '1001',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'DataSource',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.UpdateRuleFailed',
+ 'errorMessage' => 'An error occurred while upgrading the rule.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.DataSourceNotExists',
+ 'errorMessage' => 'Datasource not existed',
+ ],
+ [
+ 'errorCode' => 'iot.rule.DataSourceExists',
+ 'errorMessage' => 'Same datasource is existed',
+ ],
+ [
+ 'errorCode' => 'iot.rule.InvalidDataSourceName',
+ 'errorMessage' => 'The data source name is invalid',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateParserDataSourceResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Success>true</Success>\\n</UpdateParserDataSourceResponse>","errorExample":""}]',
+ 'title' => 'UpdateParserDataSource',
+ 'summary' => 'Updates a data source for a parser.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListParserDataSource' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-2w****',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'SearchName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'DataSource',
+ ],
+ ],
+ [
+ 'name' => 'Page',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '999999',
+ 'minimum' => '1',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'PageSize' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'Page' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DataSource' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'UtcCreated' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2022-03-27T12:45:43.000Z',
+ ],
+ 'Name' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'DataSource',
+ ],
+ 'Description' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'DataSourceId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1001',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.NotFoundRule',
+ 'errorMessage' => 'there are no rules.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"Total\\": 100,\\n \\"Page\\": 1,\\n \\"Data\\": {\\n \\"DataSource\\": [\\n {\\n \\"UtcCreated\\": \\"2022-03-27T12:45:43.000Z\\",\\n \\"Name\\": \\"DataSource\\",\\n \\"Description\\": \\"设备数据。\\",\\n \\"DataSourceId\\": 1001\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListParserDataSourceResponse>\\n<Data>\\n <DataSource>\\n <Description>设备1数据。</Description>\\n <UtcCreated>2022-03-27T12:45:43.000Z</UtcCreated>\\n <DataSourceId>1001</DataSourceId>\\n <Name>DataSource1</Name>\\n </DataSource>\\n <DataSource>\\n <Description>设备2数据。</Description>\\n <UtcCreated>2022-04-27T12:45:43.000Z</UtcCreated>\\n <DataSourceId>1002</DataSourceId>\\n <Name>DataSource2</Name>\\n </DataSource>\\n</Data>\\n<PageSize>10</PageSize>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Total>100</Total>\\n<Page>1</Page>\\n<Success>true</Success>\\n</ListParserDataSourceResponse>","errorExample":""}]',
+ 'title' => 'ListParserDataSource',
+ 'summary' => 'Queries the data sources of a parser.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetParserDataSource' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-2w****',
+ ],
+ ],
+ [
+ 'name' => 'DataSourceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '9999999',
+ 'minimum' => '0',
+ 'example' => '1001',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DataSource' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'UtcCreated' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2022-03-27T12:45:43.000Z',
+ ],
+ 'Description' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Name' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'DataSource',
+ ],
+ 'CreateUserId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '11111111000000111',
+ ],
+ 'DataSourceId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1001',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.NotFoundRule',
+ 'errorMessage' => 'there are no rules.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.DataSourceNotExists',
+ 'errorMessage' => 'Datasource not existed',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"DataSource\\": {\\n \\"UtcCreated\\": \\"2022-03-27T12:45:43.000Z\\",\\n \\"Description\\": \\"设备数据。\\",\\n \\"Name\\": \\"DataSource\\",\\n \\"CreateUserId\\": 11111111000000112,\\n \\"DataSourceId\\": 1001\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetParserDataSourceResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Success>true</Success>\\n<DataSource>\\n <Description>设备数据。</Description>\\n <UtcCreated>2022-03-27T12:45:43.000Z</UtcCreated>\\n <CreateUserId>11111111000000112</CreateUserId>\\n <DataSourceId>1001</DataSourceId>\\n <Name>DataSource</Name>\\n</DataSource>\\n</GetParserDataSourceResponse>","errorExample":""}]',
+ 'title' => '{"title1":"GetParserDataSource"}',
+ 'summary' => '{"summary1":""}',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteParserDataSource' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-2w****',
+ ],
+ ],
+ [
+ 'name' => 'DataSourceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '999999999',
+ 'minimum' => '0',
+ 'example' => '1001',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.DeleteRuleFailed',
+ 'errorMessage' => 'An error occurred while deleting the rule.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.DataSourceNotExists',
+ 'errorMessage' => 'Datasource not existed',
+ ],
+ [
+ 'errorCode' => 'iot.rule.DataSourceBounded',
+ 'errorMessage' => 'data source has been bounded. unbound it first',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteParserDataSourceResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Success>true</Success>\\n</DeleteParserDataSourceResponse>","errorExample":""}]',
+ 'title' => '{"title1":"DeleteParserDataSource"}',
+ 'summary' => '{"summary1":""}',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateDataSourceItem' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-0pp1n8t***',
+ ],
+ ],
+ [
+ 'name' => 'DataSourceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '999999999999',
+ 'minimum' => '0',
+ 'example' => '1002',
+ ],
+ ],
+ [
+ 'name' => 'Topic',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The topic that you want to add to the data source in the rules engine. Format: `/${productKey}/${deviceName}/topicShortName`. `${productKey}` specifies the **ProductKey** of the product to which a device belongs. `${deviceName}` specifies the name of the device. `topicShortName` specifies the custom name of the topic.'."\n"
+ ."\n"
+ .'* Basic communication topics or Thing Specification Language (TSL) communication topics are in the `/${productKey}/${deviceName}/topicShortName` format. You can replace `${deviceName}` with the plus sign (`+`) wildcard character. The wildcard character specifies that the topic applies to all devices in the product. Valid values of `topicShortName`:'."\n"
+ ."\n"
+ .' * `/thing/event/property/post`: submits the property data of a device.'."\n"
+ .' * `/thing/event/${tsl.event.identifier}/post`: submits the event data of a device. `${tsl.event.identifier}` specifies the identifier of an event in the TSL model.'."\n"
+ .' * `/thing/lifecycle`: submits device lifecycle changes.'."\n"
+ .' * `/thing/downlink/reply/message`: sends a response to a request from IoT Platform.'."\n"
+ .' * `/thing/list/found`: submits data when a gateway detects a new sub-device.'."\n"
+ .' * `/thing/topo/lifecycle`: submits device topology changes.'."\n"
+ .' * `/thing/event/property/history/post`: submits the historical property data of a device.'."\n"
+ .' * `/thing/event/${tsl.event.identifier}/post`: submits the historical event data of a device. `${tsl.event.identifier}` specifies the identifier of an event in the TSL model.'."\n"
+ .' * `/ota/upgrade`: submits the over-the-air (OTA) update status.'."\n"
+ .' * `/ota/version/post`: submits OTA module versions.'."\n"
+ .' * `/thing/deviceinfo/update`: submits device tag changes.'."\n"
+ ."\n"
+ .' `/${productKey}/${packageId}/${jobId}/ota/job/status`: submits the status of each OTA update batch. This topic is a basic communication topic. `${packageId}` specifies the ID of the update package. `${jobId}` specifies the ID of the update batch.'."\n"
+ ."\n"
+ .'* Custom topics are in the `/${productKey}/${deviceName}/user/#` format. Example: `/${productKey}/${deviceName}/user/get`.'."\n"
+ ."\n"
+ .' You can call the [QueryProductTopic](~~69647~~) operation to view all custom topics of a product.'."\n"
+ ."\n"
+ .' When you specify a custom topic, you can use the plus sign (`+`) and number sign (`#`) wildcard characters.'."\n"
+ ."\n"
+ .' * You can replace `${deviceName}` with the plus sign (`+`) wildcard character. The wildcard character specifies that the topic applies to all devices in the product.'."\n"
+ .' * You can replace the fields that follow ${deviceName} with `/user/#`. The number sign (`#`) wildcard character specifies that the topic applies to all fields that follow `/user`.'."\n"
+ ."\n"
+ .'* Topics that are used to submit device status changes are in the `/as/mqtt/status/${productKey}/${deviceName}` format.'."\n"
+ ."\n"
+ .'You can use the plus sign (`+`) wildcard character to specify that the status changes of all devices in the product are submitted.'."\n"
+ ."\n"
+ .'For more information about how to use wildcard characters, see the "Custom topics with wildcard characters" section in [Use custom topics](~~85539~~).'."\n"
+ ."\n"
+ .'For more information about the data formats of topics, see [Data formats](~~73736~~).'."\n"
+ ."\n"
+ .'> You can add only the following topics to the data source in the rules engine for MQTT gateways, devices of MQTT gateways, and products and devices that use the open source MQTT protocol: custom topics, topics that are used to submit device status changes, and topics that are used to submit device lifecycle changes. For more information about custom topics, see the "Messaging" topic. If you set this parameter to a custom topic, you must specify ScopeType and ProductKey. If you set ScopeType to DEVICE, you must specify DeviceName.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '/as/mqtt/status/gy***z/+',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'gy***z',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'device1',
+ ],
+ ],
+ [
+ 'name' => 'ScopeType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'PRODUCT',
+ 'enum' => [
+ 'PRODUCT',
+ 'DEVICE',
+ ],
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.prod.NotExistedProduct',
+ 'errorMessage' => 'The specified product does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.common.InvalidFormattedParameter',
+ 'errorMessage' => 'The parameter format is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.common.QueryProductActionError',
+ 'errorMessage' => 'query product info fail',
+ ],
+ [
+ 'errorCode' => 'iot.rule.DataSourceNotExists',
+ 'errorMessage' => 'data source not exist',
+ ],
+ [
+ 'errorCode' => 'iot.rule.ItemExceedsLimit',
+ 'errorMessage' => 'item exceeds limit',
+ ],
+ [
+ 'errorCode' => 'iot.rule.DataSourceItemExists',
+ 'errorMessage' => 'data source item exist',
+ ],
+ [
+ 'errorCode' => 'iot.common.TooManyRequest',
+ 'errorMessage' => 'Request frequency is too high',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateDataSourceItemResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Success>true</Success>\\n</CreateDataSourceItemResponse>","errorExample":""}]',
+ 'title' => 'CreateDataSourceItem',
+ 'description' => '## Usage notes'."\n"
+ ."\n"
+ .'Before you call this operation, perform the following steps: First, create a data source. For information about how to create a data source, see Step 1 to Step 6 in the [Create a data source](~~270932~~) topic. Second, go to the **Data Source** tab on the **Message Forwarding** page of the instance that you want to manage in the IoT Platform console. Then, view and record the ID of the **data source** that you created.'."\n"
+ ."\n"
+ .'> If you set Topic to a custom topic for a product or device that uses the open source Message Queuing Telemetry Transport (MQTT) protocol, you must specify ScopeType and ProductKey. If ScopeType is set to DEVICE, you must also specify DeviceName.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 10 times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListDataSourceItem' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-0pp1n8t***',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'DataSourceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The data source ID.'."\n"
+ ."\n"
+ .'You can call the [ListParserDataSource](~~432676~~) operation to obtain the IDs of all data sources of the instance.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '9223372036854775807',
+ 'minimum' => '0',
+ 'example' => '1001',
+ ],
+ ],
+ [
+ 'name' => 'Page',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '100000',
+ 'minimum' => '1',
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'SearchName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'thing',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'Page' => [
+ 'description' => 'The page number.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'DataSourceItems' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'dataSourceItem' => [
+ 'description' => 'The information about the topics that are returned.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'aw3****',
+ ],
+ 'DataSourceItemId' => [
+ 'description' => 'The ID of the topic of the data source.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '129322',
+ ],
+ 'DeviceName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'lightDevice',
+ ],
+ 'ScopeType' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'PRODUCT',
+ ],
+ 'Topic' => [
+ 'description' => 'The name of the topic of the data source.'."\n",
+ 'type' => 'string',
+ 'example' => '/gyh***z/+/thing/event/property/post',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.common.InvalidPageParams',
+ 'errorMessage' => 'The specified pagination size or pagination parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'Iot.Device.NotExistedDevice',
+ 'errorMessage' => 'The device does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.DataSourceNotExists',
+ 'errorMessage' => 'Datasource not existed',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"Total\\": 100,\\n \\"Page\\": 1,\\n \\"DataSourceItems\\": {\\n \\"dataSourceItem\\": [\\n {\\n \\"ProductKey\\": \\"aw3****\\",\\n \\"DataSourceItemId\\": 129322,\\n \\"DeviceName\\": \\"lightDevice\\",\\n \\"ScopeType\\": \\"PRODUCT\\",\\n \\"Topic\\": \\"/gyh***z/+/thing/event/property/post\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListDataSourceItemResponse>\\n<DataSourceItems>\\n <dataSourceItem>\\n <DataSourceItemId>129322</DataSourceItemId>\\n <Topic>/gyh***z/+/thing/event/property/post</Topic>\\n </dataSourceItem>\\n</DataSourceItems>\\n<PageSize>1</PageSize>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Total>1</Total>\\n<Page>1</Page>\\n<Success>true</Success>\\n</ListDataSourceItemResponse>","errorExample":""}]',
+ 'title' => 'ListDataSourceItem',
+ 'description' => '## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 10 times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteDataSourceItem' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'DataSourceItemId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '99999999',
+ 'minimum' => '0',
+ 'example' => '129322',
+ ],
+ ],
+ [
+ 'name' => 'DataSourceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '99999999',
+ 'minimum' => '0',
+ 'example' => '1001',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'String iot.system.SystemException ',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.DataSourceNotExists',
+ 'errorMessage' => 'Datasource not existed',
+ ],
+ [
+ 'errorCode' => 'iot.rule.DataSourceItemNotExists',
+ 'errorMessage' => 'datasource item not existed',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"String\\\\tiot.system.SystemException\\\\t\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteDataSourceItemResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Success>true</Success>\\n</DeleteDataSourceItemResponse>","errorExample":""}]',
+ 'title' => '{"title1":"DeleteDataSourceItem"}',
+ 'summary' => '{"summary1":""}',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateDestination' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Configuration',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '{"topic":"/a1POX0c****/device1/user/get","topicType":1}',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-2w****',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'REPUBLISH',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'DataPurpose',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Destination' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'REPUBLISH',
+ ],
+ 'DestinationId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1003',
+ ],
+ 'Configuration' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{"topic":"/a1POX0c****/device1/user/get","topicType":1}',
+ ],
+ 'Name' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'DataPurpose',
+ ],
+ 'UtcCreated' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2022-03-27T12:45:43.000Z',
+ ],
+ 'IsFailover' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.NullRuleActionConfig',
+ 'errorMessage' => 'The rule action configuration is empty.',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.NullRuleActionType',
+ 'errorMessage' => 'The specified rule action is invalid or the rule action type is unspecified.',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.InvalidRamRole',
+ 'errorMessage' => 'The RAM role is invalid',
+ ],
+ [
+ 'errorCode' => 'iot.rule.DestinationCountExceed',
+ 'errorMessage' => 'The count of destination exceeds the maximum number',
+ ],
+ [
+ 'errorCode' => 'iot.rule.DestinationNameExisted',
+ 'errorMessage' => 'The destination name is existed',
+ ],
+ [
+ 'errorCode' => 'iot.rule.InvalidDestinationName',
+ 'errorMessage' => 'The destination name is invalid',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.RegionNotSupportRuleForwardCloudProduct',
+ 'errorMessage' => 'The specified region does not support creating rules to publish messages to the specified cloud product',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.IncorrectRegionName',
+ 'errorMessage' => 'The regionName value is incorrect',
+ ],
+ [
+ 'errorCode' => 'iot.consumer.group.InvalidConsumerGroupId',
+ 'errorMessage' => 'Illegal consumer group ID',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.NullProjectOfDatahub',
+ 'errorMessage' => 'The project in DataHub is empty',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.NotFoundTopicInDataHubProject',
+ 'errorMessage' => 'This specified topic does not exist in the project in DataHub',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.NotFoundVpcInstance',
+ 'errorMessage' => 'The specified VPC instance does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Destination\\": {\\n \\"Type\\": \\"REPUBLISH\\",\\n \\"DestinationId\\": 1003,\\n \\"Configuration\\": \\"{\\\\\\"topic\\\\\\":\\\\\\"/a1POX0c****/device1/user/get\\\\\\",\\\\\\"topicType\\\\\\":1}\\",\\n \\"Name\\": \\"DataPurpose\\",\\n \\"UtcCreated\\": \\"2022-03-27T12:45:43.000Z\\",\\n \\"IsFailover\\": false\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateDestinationResponse>\\n<Destination>\\n <Type>REPUBLISH</Type>\\n <UtcCreated>2022-03-27T12:45:43.000Z</UtcCreated>\\n <Configuration>{\\"topic\\":\\"/a1POX0c****/device1/user/get\\",\\"topicType\\":1}</Configuration>\\n <IsFailover>false</IsFailover>\\n <DestinationId>1003</DestinationId>\\n <Name>DataPurpose</Name>\\n</Destination>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Success>true</Success>\\n</CreateDestinationResponse>","errorExample":""}]',
+ 'title' => 'CreateDestination',
+ 'summary' => 'Creates a data destination for a parser.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateDestination' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Configuration',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '{"topic":"/a1POX0c****/device1/user/get","topicType":1}',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-2w****',
+ ],
+ ],
+ [
+ 'name' => 'DestinationId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '999999999999',
+ 'minimum' => '0',
+ 'example' => '1002',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'REPUBLISH',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'DataPurpose',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.NullRuleActionConfig',
+ 'errorMessage' => 'The rule action configuration is empty.',
+ ],
+ [
+ 'errorCode' => 'iot.common.InvalidFormattedParameter',
+ 'errorMessage' => 'The parameter format is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.destinationNotExists',
+ 'errorMessage' => 'Destination not found',
+ ],
+ [
+ 'errorCode' => 'iot.rule.DestinationNameExisted',
+ 'errorMessage' => 'The destination name is existed',
+ ],
+ [
+ 'errorCode' => 'iot.rule.InvalidDestinationName',
+ 'errorMessage' => 'The destination name is invalid',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.NotFoundVpcInstance',
+ 'errorMessage' => 'The specified VPC instance does not exist',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.InstanceNotFound',
+ 'errorMessage' => 'The instance not exists',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.TopicNotFound',
+ 'errorMessage' => 'The topic not exists',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.RegionNotSupportRuleForwardCloudProduct',
+ 'errorMessage' => 'The specified region does not support creating rules to publish messages to the specified cloud product',
+ ],
+ [
+ 'errorCode' => 'iot.prod.NullProductKey',
+ 'errorMessage' => 'The productKey is empty.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.NotExistedProduct',
+ 'errorMessage' => 'The specified product does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.IncorrectRegionName',
+ 'errorMessage' => 'The regionName parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.NullProjectOfDatahub',
+ 'errorMessage' => 'The project in DataHub is empty',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.NullTopicInDatahubProject',
+ 'errorMessage' => 'The project topic in DataHub is empty',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.NullRamRoleName',
+ 'errorMessage' => 'You must specify a roleName',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.NullRamRoleArn',
+ 'errorMessage' => 'You must specify a roleArn',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.NotFoundProjectInDataHub',
+ 'errorMessage' => 'The specified project does not exist in DataHub.',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.NullOrEmptySchemaOfTopic',
+ 'errorMessage' => 'The topic schema is empty',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.IncorrectSchemaValueOfTopic',
+ 'errorMessage' => 'The specified Topic schema value is invalid',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.RuleActionConfigurationIsNotJson',
+ 'errorMessage' => 'The rule action configuration is not in the JSON format',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.NullOtsInstanceName',
+ 'errorMessage' => 'The Table Store instance name is empty',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.NullTableNameInOtsInstance',
+ 'errorMessage' => 'The table name is empty in the Table Store instance',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.OnlySameRegionSupport',
+ 'errorMessage' => 'target region is not supported',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.NotFoundTableInOtsInstance',
+ 'errorMessage' => 'The specified table does not exist in the Table Store instance',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.NullServiceNameInFc',
+ 'errorMessage' => 'The Function Compute service name is empty',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.NullFunctionNameInFc',
+ 'errorMessage' => 'The Function Compute function name is empty',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.NotFoundServiceInFc',
+ 'errorMessage' => 'The Function Compute service does not exist',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.NotFoundFunctionInFc',
+ 'errorMessage' => 'The Function Compute function does not exist',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.OnlySupportSameRegionRds',
+ 'errorMessage' => 'Messages can only be publish to the RDS instances on the same node',
+ ],
+ [
+ 'errorCode' => 'iot.messagebroker.NullTopicName',
+ 'errorMessage' => 'The topic specified while publishing the message is empty',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.InvalidFormattedTagInConfiguration',
+ 'errorMessage' => 'The tag in configuration is too long',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.InvalidFormattedShardingKeyInConfiguration',
+ 'errorMessage' => 'The shardingKey in configuration is too long',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.NullTopic',
+ 'errorMessage' => 'The topic is null',
+ ],
+ [
+ 'errorCode' => 'iot.consumer.group.InvalidConsumerGroupId',
+ 'errorMessage' => 'Illegal consumer group ID',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateDestinationResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Success>true</Success>\\n</UpdateDestinationResponse>","errorExample":""}]',
+ 'title' => '{"title1":"UpdateDestination"}',
+ 'summary' => '{"summary1":""}',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListDestination' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-2w****',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'SearchName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'DataPurpose',
+ ],
+ ],
+ [
+ 'name' => 'Page',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '9999999',
+ 'minimum' => '1',
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'Types',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The actions of forwarding data to data destinations. Data is processed by using a parser script before the data is forwarded. Valid values:'."\n"
+ ."\n"
+ .'* **REPUBLISH**: forwards topic data to an IoT Platform communication topic.'."\n"
+ .'* **AMQP**: forwards topic data to an Advanced Message Queuing Protocol (AMQP) consumer group.'."\n"
+ .'* **DATAHUB**: forwards topic data to Alibaba Cloud DataHub for stream data processing.'."\n"
+ .'* **ONS**: forwards topic data to Message Queue for Apache RocketMQ for message distribution.'."\n"
+ .'* **MNS**: forwards topic data to Message Service (MNS) for message transmission.'."\n"
+ .'* **FC**: forwards topic data to Function Compute for event computing.'."\n"
+ .'* **OTS**: forwards topic data to Tablestore for NoSQL data storage.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'OTS',
+ ],
+ 'required' => false,
+ 'example' => '["REPUBLISH", "OTS"]',
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'Page' => [
+ 'description' => 'The page number.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Destinations' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'destinations' => [
+ 'description' => 'The data destinations.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'NORMAL',
+ ],
+ 'Type' => [
+ 'description' => 'The action of forwarding data to the data destination.'."\n",
+ 'type' => 'string',
+ 'example' => 'REPUBLISH',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the data destination.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'DestinationId' => [
+ 'description' => 'The ID of the data destination.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1003',
+ ],
+ 'Configuration' => [
+ 'description' => 'The configuration data of the data destination.'."\n",
+ 'type' => 'string',
+ 'example' => '{"topic":"/a1POX0c****/device1/user/get","topicType":1}',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the data destination.'."\n",
+ 'type' => 'string',
+ 'example' => 'DataPurpose',
+ ],
+ 'UtcCreated' => [
+ 'description' => 'The time when the data destination was created. The time is displayed in UTC. The time follows the ISO 8601 standard in the `yyyy-MM-dd\'T\'HH:mm:ss.SSS\'Z\'` format.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-27T12:45:43.000Z',
+ ],
+ 'IsFailover' => [
+ 'description' => 'Indicates whether the data destination is configured to receive error operation data. Error operation data is the data that failed to be forwarded for two consecutive times.'."\n"
+ ."\n"
+ .'* **true**: The data destination is configured to receive error operation data.'."\n"
+ .'* **false**: The data destination is configured to receive regular data instead of error operation data.'."\n"
+ ."\n"
+ .'Default value: **false**.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.destinationNotExists',
+ 'errorMessage' => 'destination not found',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"Total\\": 100,\\n \\"Page\\": 1,\\n \\"Destinations\\": {\\n \\"destinations\\": [\\n {\\n \\"Status\\": \\"NORMAL\\",\\n \\"Type\\": \\"REPUBLISH\\",\\n \\"Description\\": \\"数据流转至数据库。\\",\\n \\"DestinationId\\": 1003,\\n \\"Configuration\\": \\"{\\\\\\"topic\\\\\\":\\\\\\"/a1POX0c****/device1/user/get\\\\\\",\\\\\\"topicType\\\\\\":1}\\",\\n \\"Name\\": \\"DataPurpose\\",\\n \\"UtcCreated\\": \\"2022-03-27T12:45:43.000Z\\",\\n \\"IsFailover\\": false\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListDestinationResponse>\\n<PageSize>10</PageSize>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Total>100</Total>\\n<Destinations>\\n <destinations>\\n <Type>REPUBLISH</Type>\\n <Description>数据流转至另一个Topic。</Description>\\n <UtcCreated>2022-03-27T12:45:43.000Z</UtcCreated>\\n <Configuration>{\\"topic\\":\\"/a1POX0c****/device1/user/get\\",\\"topicType\\":1}</Configuration>\\n <IsFailover>false</IsFailover>\\n <DestinationId>1004</DestinationId>\\n <Name>DataPurpose1</Name>\\n </destinations>\\n <destinations>\\n <Type>REPUBLISH</Type>\\n <Description>数据流转至另一个Topic。</Description>\\n <UtcCreated>2022-03-27T12:45:43.000Z</UtcCreated>\\n <Configuration>{\\"topic\\":\\"/a1POX0c****/device2/user/get\\",\\"topicType\\":1}</Configuration>\\n <IsFailover>false</IsFailover>\\n <DestinationId>1005</DestinationId>\\n <Name>DataPurpose2</Name>\\n </destinations>\\n</Destinations>\\n<Page>1</Page>\\n<Success>true</Success>\\n</ListDestinationResponse>","errorExample":""}]',
+ 'title' => 'ListDestination',
+ 'summary' => 'Invoke this API to query the list of created data destinations.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteDestination' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-2w****',
+ ],
+ ],
+ [
+ 'name' => 'DestinationId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '9999999',
+ 'minimum' => '0',
+ 'example' => '1003',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemError',
+ 'errorMessage' => 'System exception.',
+ ],
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.NotFoundRuleAction',
+ 'errorMessage' => 'The rule action is not found.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.destinationNotExists',
+ 'errorMessage' => 'Destination not found',
+ ],
+ [
+ 'errorCode' => 'iot.rule.DestinationInUsing',
+ 'errorMessage' => 'Destination has been attached to parser',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteDestinationResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Success>true</Success>\\n</DeleteDestinationResponse>","errorExample":""}]',
+ 'title' => 'DeleteDestination',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetDestination' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-2w****',
+ ],
+ ],
+ [
+ 'name' => 'DestinationId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '9999999',
+ 'minimum' => '0',
+ 'example' => '1004',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Destination' => [
+ 'description' => 'The information about the data destination.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'NORMAL',
+ ],
+ 'Type' => [
+ 'description' => 'The operation that is performed on the data of the data destination.'."\n"
+ ."\n"
+ .'* **REPUBLISH**: forwards topic data that is processed by a parser script to an IoT Platform communication topic.'."\n"
+ .'* **AMQP**: forwards topic data that is processed by a parser script to an Advanced Message Queuing Protocol (AMQP) consumer group.'."\n"
+ .'* **DATAHUB**: forwards topic data to Alibaba Cloud DataHub for stream data processing.'."\n"
+ .'* **ONS**: forwards topic data that is processed by a parser script to Message Queue for Apache RocketMQ for message distribution.'."\n"
+ .'* **MNS**: forwards topic data to Message Service (MNS) for message transmission.'."\n"
+ .'* **FC**: forwards topic data to Function Compute for event computing.'."\n"
+ .'* **OTS**: forwards topic data to Tablestore for NoSQL data storage.'."\n",
+ 'type' => 'string',
+ 'example' => 'REPUBLISH',
+ ],
+ 'DestinationId' => [
+ 'description' => 'The ID of the data destination.'."\n",
+ 'type' => 'string',
+ 'example' => '1003',
+ ],
+ 'Configuration' => [
+ 'description' => 'The configuration data of the data destination.'."\n",
+ 'type' => 'string',
+ 'example' => '{"topic":"/a1POX0c****/device1/user/get","topicType":1}',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the data destination.'."\n",
+ 'type' => 'string',
+ 'example' => 'DataPurpose',
+ ],
+ 'UtcCreated' => [
+ 'description' => 'The time when the data destination was created. The time is displayed in UTC. Format: `yyyy-MM-dd\'T\'HH:mm:ss.SSS\'Z\'`.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-03-27T12:45:43.000Z',
+ ],
+ 'IsFailover' => [
+ 'description' => 'Indicates whether the data destination is configured to receive error operation data. Error operation data is data that failed to be forwarded for two consecutive times.'."\n"
+ ."\n"
+ .'* **true**: The data destination is configured to receive error operation data.'."\n"
+ .'* **false**: The data destination is configured to receive regular data instead of error operation data.'."\n"
+ ."\n"
+ .'Default value: **false**.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.destinationNotExists',
+ 'errorMessage' => 'destination not found',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Destination\\": {\\n \\"Status\\": \\"NORMAL\\",\\n \\"Type\\": \\"REPUBLISH\\",\\n \\"DestinationId\\": \\"1003\\",\\n \\"Configuration\\": \\"{\\\\\\"topic\\\\\\":\\\\\\"/a1POX0c****/device1/user/get\\\\\\",\\\\\\"topicType\\\\\\":1}\\",\\n \\"Name\\": \\"DataPurpose\\",\\n \\"UtcCreated\\": \\"2022-03-27T12:45:43.000Z\\",\\n \\"IsFailover\\": false\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetDestinationResponse>\\n<Destination>\\n <Type>REPUBLISH</Type>\\n <UtcCreated>2022-03-27T12:45:43.000Z</UtcCreated>\\n <Configuration>{\\"topic\\":\\"/a1POX0c****/device1/user/get\\",\\"topicType\\":1}</Configuration>\\n <IsFailover>false</IsFailover>\\n <DestinationId>1003</DestinationId>\\n <Name>DataPurpose</Name>\\n</Destination>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Success>true</Success>\\n</GetDestinationResponse>","errorExample":""}]',
+ 'title' => 'GetDestination',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'AttachParserDataSource' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-2w****',
+ ],
+ ],
+ [
+ 'name' => 'ParserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '99999999999',
+ 'minimum' => '1',
+ 'example' => '1000',
+ ],
+ ],
+ [
+ 'name' => 'DataSourceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '9999999',
+ 'minimum' => '0',
+ 'example' => '1001',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.DataSourceNotExists',
+ 'errorMessage' => 'Datasource not existed',
+ ],
+ [
+ 'errorCode' => 'iot.rule.NotFoundRule',
+ 'errorMessage' => 'there are no rules',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<AttachParserDataSourceResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Success>true</Success>\\n</AttachParserDataSourceResponse>","errorExample":""}]',
+ 'title' => '{"title1":"AttachParserDataSource"}',
+ 'summary' => '{"summary1":""}',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'AttachDestination' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IsFailover',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'required' => true,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-2w****',
+ ],
+ ],
+ [
+ 'name' => 'ParserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '999999999',
+ 'minimum' => '1',
+ 'example' => '1000',
+ ],
+ ],
+ [
+ 'name' => 'DestinationId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '999999999999',
+ 'minimum' => '0',
+ 'example' => '1002',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.destinationNotExists',
+ 'errorMessage' => 'Destination not found',
+ ],
+ [
+ 'errorCode' => 'iot.rule.NotFoundRule',
+ 'errorMessage' => 'there are no rules',
+ ],
+ [
+ 'errorCode' => 'iot.rule.SameDestinationExisted',
+ 'errorMessage' => 'The destination has been attached',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.OnlyAllowOneErrorAction',
+ 'errorMessage' => 'You can specify only one destination to forward data errors in a rule',
+ ],
+ [
+ 'errorCode' => 'iot.rule.TooManyRuleAction',
+ 'errorMessage' => 'The rule action exceeds the maximum number',
+ ],
+ [
+ 'errorCode' => 'iot.rule.DestinationNotAvailable',
+ 'errorMessage' => 'destination not available',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<AttachDestinationResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Success>true</Success>\\n</AttachDestinationResponse>","errorExample":""}]',
+ 'title' => '{"title1":"AttachDestination"}',
+ 'summary' => '{"summary1":""}',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DetachParserDataSource' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-2w****',
+ ],
+ ],
+ [
+ 'name' => 'ParserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '999999999999',
+ 'minimum' => '1',
+ 'example' => '1000',
+ ],
+ ],
+ [
+ 'name' => 'DataSourceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '99999999',
+ 'minimum' => '0',
+ 'example' => '1001',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.DataSourceNotExists',
+ 'errorMessage' => 'Datasource not existed',
+ ],
+ [
+ 'errorCode' => 'iot.ruleng.RuleAlreadyIsStarted',
+ 'errorMessage' => 'The specified rule has already started',
+ ],
+ [
+ 'errorCode' => 'iot.rule.NotFoundRule',
+ 'errorMessage' => 'there are no rules',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DetachParserDataSourceResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Success>true</Success>\\n</DetachParserDataSourceResponse>","errorExample":""}]',
+ 'title' => '{"title1":"DetachParserDataSource"}',
+ 'summary' => '{"summary1":""}',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DetachDestination' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'>* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-2w****',
+ ],
+ ],
+ [
+ 'name' => 'ParserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the parser. You can call the [ListParser](~~444814~~) operation to query parsers and obtain the ID of the **parser**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '9999999999',
+ 'minimum' => '1',
+ 'example' => '1000',
+ ],
+ ],
+ [
+ 'name' => 'DestinationId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the data destination. You can call the [ListDestination](~~433025~~) operation to query data destinations and obtain the ID of the **data destination**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '999999999999',
+ 'minimum' => '0',
+ 'example' => '1002',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.destinationNotExists',
+ 'errorMessage' => 'Destination not found',
+ ],
+ [
+ 'errorCode' => 'iot.rule.NotFoundRule',
+ 'errorMessage' => 'there are no rules',
+ ],
+ [
+ 'errorCode' => 'iot.rule.DestinationInUsing',
+ 'errorMessage' => 'Destination has been attached to parser',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DetachDestinationResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Success>true</Success>\\n</DetachDestinationResponse>","errorExample":""}]',
+ 'title' => 'DetachDestination',
+ 'summary' => 'Disassociates a parser from a data destination.',
+ 'description' => '## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListParserDestination' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IsFailover',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-2w****',
+ ],
+ ],
+ [
+ 'name' => 'ParserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '9999999999',
+ 'minimum' => '0',
+ 'example' => '1002',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'destinations' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'REPUBLISH',
+ ],
+ 'DestinationId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1003',
+ ],
+ 'UtcModified' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2022-05-27T12:45:43.000Z',
+ ],
+ 'Configuration' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{"topic":"/a1POX0c****/device1/user/get","topicType":1}',
+ ],
+ 'Name' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'DataPurpose',
+ ],
+ 'UtcCreated' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2022-03-27T12:45:43.000Z',
+ ],
+ 'IsFailover' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.common.InvalidFormattedParameter',
+ 'errorMessage' => 'The parameter format is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.ListDestinationFailed',
+ 'errorMessage' => 'An error occurred while querying destinations',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"destinations\\": [\\n {\\n \\"Type\\": \\"REPUBLISH\\",\\n \\"DestinationId\\": 1003,\\n \\"UtcModified\\": \\"2022-05-27T12:45:43.000Z\\",\\n \\"Configuration\\": \\"{\\\\\\"topic\\\\\\":\\\\\\"/a1POX0c****/device1/user/get\\\\\\",\\\\\\"topicType\\\\\\":1}\\",\\n \\"Name\\": \\"DataPurpose\\",\\n \\"UtcCreated\\": \\"2022-03-27T12:45:43.000Z\\",\\n \\"IsFailover\\": false\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListParserDestinationResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Data>\\n <destinations>\\n <Type>REPUBLISH</Type>\\n <UtcCreated>2022-03-27T12:45:43.000Z</UtcCreated>\\n <Configuration>{\\"topic\\":\\"/a1POX0c****/device1/user/get\\",\\"topicType\\":1}</Configuration>\\n <UtcModified>2022-05-27T12:45:43.000Z</UtcModified>\\n <IsFailover>false</IsFailover>\\n <DestinationId>1003</DestinationId>\\n <Name>DataPurpose</Name>\\n </destinations>\\n</Data>\\n<Success>true</Success>\\n</ListParserDestinationResponse>","errorExample":""}]',
+ 'title' => '{"title1":"ListParserDestination"}',
+ 'summary' => '{"summary1":""}',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'PublishScript' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-n8t***',
+ ],
+ ],
+ [
+ 'name' => 'ParserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '99999999',
+ 'minimum' => '0',
+ 'example' => '1001',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'SyntaxErrorMsg' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'script doesn\'t contains transmit function',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.scriptSyntaxError',
+ 'errorMessage' => 'Script Syntax Error',
+ ],
+ [
+ 'errorCode' => 'iot.rule.NotFoundRule',
+ 'errorMessage' => 'there are no rules',
+ ],
+ [
+ 'errorCode' => 'iot.rule.EmptyScript',
+ 'errorMessage' => 'The script is empty.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"SyntaxErrorMsg\\": \\"script doesn\'t contains transmit function\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<PublishScriptResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Success>true</Success>\\n</PublishScriptResponse>","errorExample":""}]',
+ 'title' => '{"title1":"PublishScript"}',
+ 'summary' => '{"summary1":""}',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'SaveScript' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-n8t***',
+ ],
+ ],
+ [
+ 'name' => 'ParserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '99999999',
+ 'minimum' => '0',
+ 'example' => '1001',
+ ],
+ ],
+ [
+ 'name' => 'ScriptDraft',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'var data = payload("json")',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.EmptyScriptDraft',
+ 'errorMessage' => 'The script draft is empty',
+ ],
+ [
+ 'errorCode' => 'iot.rule.NotFoundRule',
+ 'errorMessage' => 'there are no rules',
+ ],
+ [
+ 'errorCode' => 'iot.rule.ScriptLengthExceeds',
+ 'errorMessage' => 'The length of script is exceeded',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<SaveScriptResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Success>true</Success>\\n</SaveScriptResponse>","errorExample":""}]',
+ 'title' => '{"title1":"SaveScript"}',
+ 'summary' => '{"summary1":""}',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'StartParser' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-n8t***',
+ ],
+ ],
+ [
+ 'name' => 'ParserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '99999999999',
+ 'minimum' => '0',
+ 'example' => '1001',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.common.InvalidFormattedParameter',
+ 'errorMessage' => 'The parameter format is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.EmptyScript',
+ 'errorMessage' => 'The script is empty.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.DestinationNotBound',
+ 'errorMessage' => 'The connector has not destination.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.StartRuleFailed',
+ 'errorMessage' => 'An error occurred while starting the rule.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.NotFoundRule',
+ 'errorMessage' => 'there are no rules',
+ ],
+ [
+ 'errorCode' => 'iot.rule.scriptSyntaxError',
+ 'errorMessage' => 'Script Syntax Error',
+ ],
+ [
+ 'errorCode' => 'iot.common.TooManyRequest',
+ 'errorMessage' => 'Request frequency is too high',
+ ],
+ [
+ 'errorCode' => 'iot.rule.NoDataSourceBound',
+ 'errorMessage' => 'no datasource bound',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<StartParserResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Success>true</Success>\\n</StartParserResponse>","errorExample":""}]',
+ 'title' => '{"title1":"StartParser"}',
+ 'summary' => '{"summary1":""}',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'StopParser' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-n8t***',
+ ],
+ ],
+ [
+ 'name' => 'ParserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '99999999999',
+ 'minimum' => '0',
+ 'example' => '1001',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.common.InvalidFormattedParameter',
+ 'errorMessage' => 'The parameter format is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.StopRuleFailed',
+ 'errorMessage' => 'An error occurred while stopping the rule.',
+ ],
+ [
+ 'errorCode' => 'iot.rule.NoDataSourceBound',
+ 'errorMessage' => 'no datasource bound',
+ ],
+ [
+ 'errorCode' => 'iot.rule.NotFoundRule',
+ 'errorMessage' => 'there are no rules',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<StopParserResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Success>true</Success>\\n</StopParserResponse>","errorExample":""}]',
+ 'title' => '{"title1":"StopParser"}',
+ 'summary' => '{"summary1":""}',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListAnalyticsData' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'iot-cn-npk1u******',
+ ],
+ ],
+ [
+ 'name' => 'ApiPath',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '/iot-cn-npk1v******/system/query/hist_dev_cnt_stat',
+ ],
+ ],
+ [
+ 'name' => 'PageNum',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '1000',
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '20000',
+ 'minimum' => '1',
+ 'example' => '100',
+ 'default' => '100',
+ ],
+ ],
+ [
+ 'name' => 'IsoId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'oxs_iso_id',
+ ],
+ ],
+ [
+ 'name' => 'Condition',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Operate' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '=',
+ ],
+ 'Value' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '4',
+ ],
+ 'FieldName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'testCode',
+ ],
+ 'BetweenEnd' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '5',
+ ],
+ 'BetweenStart' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '7EC5B624-AF1B-4C4D-BA82-A02BA1******',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'ResultJson' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'PageNum' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'Count' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '3',
+ ],
+ 'HasNext' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'LossOfUserInformation',
+ 'errorMessage' => 'lost of user info:%s',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter',
+ 'errorMessage' => 'invalid parameter:%s',
+ ],
+ [
+ 'errorCode' => 'InsufficientAuthority',
+ 'errorMessage' => 'insuficient auth:%s',
+ ],
+ [
+ 'errorCode' => 'RequestFailed',
+ 'errorMessage' => 'source data does not exist',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.dataApiNotDeploy',
+ 'errorMessage' => 'The current API operation is not deployed.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.apiQueryParamError',
+ 'errorMessage' => 'A query parameter error occurred.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.pipelineProcessError',
+ 'errorMessage' => 'pipeline processing error',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.noAuthorization',
+ 'errorMessage' => 'no authorization.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.dopQueryApiError',
+ 'errorMessage' => 'dop query api error',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"insuficient auth:无访问权限\\",\\n \\"RequestId\\": \\"7EC5B624-AF1B-4C4D-BA82-A02BA1******\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"ResultJson\\": \\"[{\\\\\\\\\\\\\\"testCode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"TBB186\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"testLevel\\\\\\\\\\\\\\":5,\\\\\\\\\\\\\\"testWorkYears\\\\\\\\\\\\\\":3,\\\\\\\\\\\\\\"testName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"王五\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\"testCode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"TBB1314\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"testLevel\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\"testWorkYears\\\\\\\\\\\\\\":4,\\\\\\\\\\\\\\"testName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"李四\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\"testCode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"TBB8888\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"testLevel\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\"testWorkYears\\\\\\\\\\\\\\":5,\\\\\\\\\\\\\\"testName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"熊大\\\\\\\\\\\\\\"}]\\\\\\"\\",\\n \\"PageNum\\": 1,\\n \\"PageSize\\": 100,\\n \\"Count\\": 3,\\n \\"HasNext\\": false\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListAnalyticsDataResponse>\\n<RequestId> 7EC5B624-AF1B-4C4D-BA82-A02BA1******</RequestId>\\n<Data>\\n <ResultJson>[{\\\\\\"testCode\\\\\\":\\\\\\"TBB186\\\\\\",\\\\\\"testLevel\\\\\\":5,\\\\\\"testWorkYears\\\\\\":3,\\\\\\"testName\\\\\\":\\\\\\"王五\\\\\\"},{\\\\\\"testCode\\\\\\":\\\\\\"TBB1314\\\\\\",\\\\\\"testLevel\\\\\\":2,\\\\\\"testWorkYears\\\\\\":4,\\\\\\"testName\\\\\\":\\\\\\"李四\\\\\\"},{\\\\\\"testCode\\\\\\":\\\\\\"TBB8888\\\\\\",\\\\\\"testLevel\\\\\\":2,\\\\\\"testWorkYears\\\\\\":5,\\\\\\"testName\\\\\\":\\\\\\"熊大\\\\\\"}]\\"</ResultJson>\\n <PageSize>100</PageSize>\\n <PageNum>1</PageNum>\\n <Count>3</Count>\\n <HasNext>false</HasNext>\\n</Data>\\n<Code>Success</Code>\\n<Success>true</Success>\\n</ListAnalyticsDataResponse>","errorExample":""}]',
+ 'title' => 'ListAnalyticsData',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'WriteDevicesHotStorageData' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'iot-2w****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'device1',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'y4u2weAI********HMle1234',
+ ],
+ ],
+ [
+ 'name' => 'UserTopic',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'user/a***/b***',
+ ],
+ ],
+ [
+ 'name' => 'Items',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '{ "Power": { "value": "on", "time": 1524448722000 }, "WF": { "value": 23.6, "time": 1524448722000 } }',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.device.InvalidFormattedDeviceName',
+ 'errorMessage' => 'The DeviceName format is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.device.NullDeviceName',
+ 'errorMessage' => 'The DeviceName parameter cannot be empty.',
+ ],
+ [
+ 'errorCode' => 'iot.device.SetDevicePropertyFailed',
+ 'errorMessage' => 'An error occurred while setting the device properties.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.InvalidFormattedProductkey',
+ 'errorMessage' => 'The ProductKey format is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.NotExistedProduct',
+ 'errorMessage' => 'The specified product does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.NullProductKey',
+ 'errorMessage' => 'The ProductKey parameter cannot be empty.',
+ ],
+ [
+ 'errorCode' => 'iot.check.InvalidFormattedParameter',
+ 'errorMessage' => 'The parameter format is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.messagebroker.HALFCONN',
+ 'errorMessage' => 'The specified operation has failed. The device is in an inactive status.',
+ ],
+ [
+ 'errorCode' => 'iot.messagebroker.OFFLINE',
+ 'errorMessage' => 'The specified operation has failed. The device is offline.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.QueryProductAbilitiesFailed',
+ 'errorMessage' => 'An error occurred while querying the product features.',
+ ],
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.dataalgo.ScriptMethodNotFound',
+ 'errorMessage' => 'Method is not found in script.',
+ ],
+ [
+ 'errorCode' => 'iot.dataalgo.ScriptExecutionTimeout',
+ 'errorMessage' => 'Script execution timeout.',
+ ],
+ [
+ 'errorCode' => 'iot.dataalgo.ScriptExecutionOomException',
+ 'errorMessage' => 'Script execution is out of memory.',
+ ],
+ [
+ 'errorCode' => 'Iot.Device.NotExistedDevice',
+ 'errorMessage' => 'The device does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.device.InvalidIoTId',
+ 'errorMessage' => 'The specified device ID is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.dataalgo.ScriptExecutionException',
+ 'errorMessage' => 'Script execution exception.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.QueryPropertyNotFound',
+ 'errorMessage' => 'Query property not found.',
+ ],
+ [
+ 'errorCode' => 'iot.dataalgo.ScriptDataFormatException',
+ 'errorMessage' => 'Script function result format is incorrect.',
+ ],
+ [
+ 'errorCode' => 'iot.dataalgo.ScriptRelationNotExist',
+ 'errorMessage' => 'Script relation not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.tsl.TslParseError',
+ 'errorMessage' => 'TSLlParseError: %s.',
+ ],
+ [
+ 'errorCode' => 'iot.tsl.InvalidFormattedTslError',
+ 'errorMessage' => 'The TSL format is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.tsl.InvalidHistoryTimestampError',
+ 'errorMessage' => 'The history timestamp is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.storage.HotStorageCapacityNotEnough',
+ 'errorMessage' => 'The timeline storage capacity not enough.',
+ ],
+ [
+ 'errorCode' => 'iot.storage.HotStorageIopsWriteNotEnough',
+ 'errorMessage' => 'The timeline storage write IOPS is not enough.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<WriteDevicesHotStorageDataResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Success>true</Success>\\n</WriteDevicesHotStorageDataResponse>","errorExample":""}]',
+ 'title' => 'WriteDevicesHotStorageData',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDevicesHotStorageDataStatus' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'iot-2w****',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '201',
+ 'minimum' => '0',
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'device1',
+ ],
+ ],
+ [
+ 'name' => 'NextPageToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Bo***x44Qx',
+ ],
+ ],
+ [
+ 'name' => 'Asc',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '5',
+ 'minimum' => '0',
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'y4u2weAI********HMle1234',
+ ],
+ ],
+ [
+ 'name' => 'UserTopic',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'user/a***/b***',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'NextPageToken' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Bo***x44Qx',
+ ],
+ 'NextValid' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'PropertyStatusDataInfo' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Identifier' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Temperture',
+ ],
+ 'Value' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '22',
+ ],
+ 'Time' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1517553572362',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.device.PageTokenIsIllegal',
+ 'errorMessage' => 'The paging token is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.NotExistedProduct',
+ 'errorMessage' => 'The specified product does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.device.InvalidTimeBucket',
+ 'errorMessage' => 'The specified time range is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.common.InvalidPageParams',
+ 'errorMessage' => 'The specified pagination size or pagination parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.NullProductKey',
+ 'errorMessage' => 'The ProductKey parameter cannot be empty.',
+ ],
+ [
+ 'errorCode' => 'Iot.Device.NotExistedDevice',
+ 'errorMessage' => 'The device does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.device.InvalidFormattedDeviceName',
+ 'errorMessage' => 'The DeviceName format is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.InvalidFormattedProductkey',
+ 'errorMessage' => 'The ProductKey format is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.device.InvalidIoTId',
+ 'errorMessage' => 'The specified device ID is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.device.NullDeviceName',
+ 'errorMessage' => 'The DeviceName parameter cannot be empty.',
+ ],
+ [
+ 'errorCode' => 'iot.storage.HotStorageIopsReadNotEnough',
+ 'errorMessage' => 'The timeline storage read IOPS is not enough.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"NextPageToken\\": \\"Bo***x44Qx\\",\\n \\"NextValid\\": true,\\n \\"List\\": {\\n \\"PropertyStatusDataInfo\\": [\\n {\\n \\"Identifier\\": \\"Temperture\\",\\n \\"Value\\": \\"22\\",\\n \\"Time\\": 1517553572362\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDevicesHotStorageDataStatusResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Data>\\n <NextValid>true</NextValid>\\n <NextPageToken>Bo***x44Qx</NextPageToken>\\n <List>\\n <PropertyStatusDataInfo>\\n <Identifier>Temperture</Identifier>\\n <Value>22</Value>\\n <Time>1517553572362</Time>\\n </PropertyStatusDataInfo>\\n </List>\\n</Data>\\n<Success>true</Success>\\n</QueryDevicesHotStorageDataStatusResponse>","errorExample":""}]',
+ 'title' => 'QueryDevicesHotStorageDataStatus',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDevicesHotStorageData' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'iot-2w****',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '201',
+ 'minimum' => '0',
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'device1',
+ ],
+ ],
+ [
+ 'name' => 'NextPageToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Bo***x44Qx',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '999999999999999',
+ 'minimum' => '0',
+ 'example' => '1579249499000',
+ ],
+ ],
+ [
+ 'name' => 'Identifier',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'temperature',
+ ],
+ ],
+ [
+ 'name' => 'Asc',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '5',
+ 'minimum' => '0',
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'y4u2weAI********HMle1234',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '999999999999999',
+ 'minimum' => '0',
+ 'example' => '1579249499000',
+ ],
+ ],
+ [
+ 'name' => 'UserTopic',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'user/a***/b***',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'nextPageToken' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Bo***x44Qx',
+ ],
+ 'NextValid' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'PropertyInfo' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Value' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2',
+ ],
+ 'Time' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '1516541885630',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.device.InvalidTimeBucket',
+ 'errorMessage' => 'The specified time range is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.device.NullDeviceName',
+ 'errorMessage' => 'The DeviceName parameter cannot be empty.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.NullProductKey',
+ 'errorMessage' => 'The ProductKey parameter cannot be empty.',
+ ],
+ [
+ 'errorCode' => 'iot.common.InvalidPageParams',
+ 'errorMessage' => 'The specified pagination size or pagination parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.NotExistedProduct',
+ 'errorMessage' => 'The specified product does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.device.PageTokenIsIllegal',
+ 'errorMessage' => 'The paging token is invalid.',
+ ],
+ [
+ 'errorCode' => 'Iot.Device.NotExistedDevice',
+ 'errorMessage' => 'The device does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.device.InvalidFormattedDeviceName',
+ 'errorMessage' => 'The DeviceName format is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.InvalidFormattedProductkey',
+ 'errorMessage' => 'The ProductKey format is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.device.InvalidIoTId',
+ 'errorMessage' => 'The specified device ID is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.storage.HotStorageIopsReadNotEnough',
+ 'errorMessage' => 'The timeline storage read IOPS is not enough.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"nextPageToken\\": \\"Bo***x44Qx\\",\\n \\"NextValid\\": true,\\n \\"List\\": {\\n \\"PropertyInfo\\": [\\n {\\n \\"Value\\": \\"2\\",\\n \\"Time\\": \\"1516541885630\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDevicesHotStorageDataResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Data>\\n <NextValid>true</NextValid>\\n <nextPageToken>Bo***x44Qx</nextPageToken>\\n <List>\\n <PropertyInfo>\\n <Value>2</Value>\\n <Time>1516541885630</Time>\\n </PropertyInfo>\\n </List>\\n</Data>\\n<Success>true</Success>\\n</QueryDevicesHotStorageDataResponse>","errorExample":""}]',
+ 'title' => 'QueryDevicesHotStorageData',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ResetDeviceTimeline' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-v64******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.device.NotExistedDevice',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'device not found.',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.device.NotExistedDevice',
+ 'errorMessage' => 'device not found.',
+ ],
+ [
+ 'errorCode' => 'iot.common.AuthActionPermissionDeny',
+ 'errorMessage' => 'auth action permission deny.',
+ ],
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.%s.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.device.NotExistedDevice\\",\\n \\"ErrorMessage\\": \\"device not found.\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ResetDeviceTimelineResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Code/>\\n<Success>true</Success>\\n</ResetDeviceTimelineResponse>","errorExample":""}]',
+ 'title' => 'ResetDeviceTimeline',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateDataAPIService' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RequestParam',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'VARCHAR',
+ ],
+ 'Required' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ 'Example' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'dksiaiek23s',
+ ],
+ 'Name' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'status',
+ ],
+ 'Desc' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ ],
+ ],
+ [
+ 'name' => 'ResponseParam',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'INTEGER',
+ ],
+ 'Required' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ 'Example' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '100',
+ ],
+ 'Name' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'deviceCount',
+ ],
+ 'Desc' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ ],
+ ],
+ [
+ 'name' => 'DisplayName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'OriginSql',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'SELECT COUNT(iot_id) AS deviceCount FROM ${system.device} WHERE status=1',
+ ],
+ ],
+ [
+ 'name' => 'Desc',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'TemplateSql',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'SELECT COUNT(iot_id) AS deviceCount FROM ${system.device} WHERE status=${status}',
+ ],
+ ],
+ [
+ 'name' => 'ApiPath',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'device/getDeviceCountByStatus',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '57b144cf-09fc-4916-a272-a62902d5b207',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'LastUpdateTime' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1557839468865',
+ ],
+ 'ApiSrn' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2',
+ ],
+ 'CreateTime' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1557839468865',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"请求参数错误\\",\\n \\"RequestId\\": \\"57b144cf-09fc-4916-a272-a62902d5b207\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"LastUpdateTime\\": 1557839468865,\\n \\"ApiSrn\\": \\"acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2\\",\\n \\"CreateTime\\": 1557839468865\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateDataAPIServiceResponse>\\r\\n <RequestId>57b144cf-09fc-4916-a272-a62902d5b207</RequestId>\\r\\n <Success>true</Success>\\r\\n <Data>\\r\\n <ApiSrn>acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2</ApiSrn>\\r\\n <CreateTime>1557839468865</CreateTime>\\r\\n <LastUpdateTime>1557839468865</LastUpdateTime>\\r\\n </Data>\\r\\n</CreateDataAPIServiceResponse>","errorExample":""}]',
+ 'title' => 'CreateDataAPIService',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetDataAPIServiceDetail' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ApiSrn',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '57b144cf-09fc-4916-a272-a62902d5b207',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'DisplayName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Status' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'ApiSrn' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2',
+ ],
+ 'Description' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'CreateTime' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1557839468865',
+ ],
+ 'LastUpdateTime' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1557839468865',
+ ],
+ 'RequestMethod' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'GET/POST',
+ ],
+ 'DateFormat' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'JSON',
+ ],
+ 'RequestProtocol' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'HTTPS',
+ ],
+ 'ApiPath' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '/device/getDeviceCountByStatus',
+ ],
+ 'SqlTemplateDTO' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'OriginSql' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'SELECT COUNT(*) FROM ${system.device} WHERE status = 1',
+ ],
+ 'TemplateSql' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'SELECT COUNT(*) as deviceCount FROM ${system.device} WHERE status = ${status}',
+ ],
+ 'RequestParams' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'RequestParams' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'INTEGER',
+ ],
+ 'Required' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Example' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ 'Name' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'status',
+ ],
+ 'Desc' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'ResponseParams' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'ResponseParams' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'INTEGER',
+ ],
+ 'Required' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Example' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'Name' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'deviceCount',
+ ],
+ 'Desc' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"请求参数错误\\",\\n \\"RequestId\\": \\"57b144cf-09fc-4916-a272-a62902d5b207\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"DisplayName\\": \\"根据状态获取设备数\\",\\n \\"Status\\": 1,\\n \\"ApiSrn\\": \\"acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2\\",\\n \\"Description\\": \\"描述\\",\\n \\"CreateTime\\": 1557839468865,\\n \\"LastUpdateTime\\": 1557839468865,\\n \\"RequestMethod\\": \\"GET/POST\\",\\n \\"DateFormat\\": \\"JSON\\",\\n \\"RequestProtocol\\": \\"HTTPS\\",\\n \\"ApiPath\\": \\"/device/getDeviceCountByStatus\\",\\n \\"SqlTemplateDTO\\": {\\n \\"OriginSql\\": \\"SELECT COUNT(*) FROM ${system.device} WHERE status = 1\\",\\n \\"TemplateSql\\": \\"SELECT COUNT(*) as deviceCount FROM ${system.device} WHERE status = ${status}\\",\\n \\"RequestParams\\": {\\n \\"RequestParams\\": [\\n {\\n \\"Type\\": \\"INTEGER\\",\\n \\"Required\\": true,\\n \\"Example\\": \\"0\\",\\n \\"Name\\": \\"status\\",\\n \\"Desc\\": \\"设备状态\\"\\n }\\n ]\\n },\\n \\"ResponseParams\\": {\\n \\"ResponseParams\\": [\\n {\\n \\"Type\\": \\"INTEGER\\",\\n \\"Required\\": true,\\n \\"Example\\": \\"100\\",\\n \\"Name\\": \\"deviceCount\\",\\n \\"Desc\\": \\"设备数\\"\\n }\\n ]\\n }\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetDataAPIServiceDetailResponse>\\r\\n <RequestId>57b144cf-09fc-4916-a272-a62902d5b207</RequestId>\\r\\n <Success>true</Success>\\r\\n <Data>\\r\\n <ApiSrn>acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2</ApiSrn>\\r\\n <CreateTime>1557839468865</CreateTime>\\r\\n <LastUpdateTime>1557839468865</LastUpdateTime>\\r\\n <Status>1</Status>\\r\\n <DisplayName>根据状态获取设备数</DisplayName>\\r\\n <ApiPath>/device/getDeviceCountByStatus</ApiPath>\\r\\n <Description>描述</Description>\\r\\n <SqlTemplateDTO>\\r\\n <OriginSql>SELECT COUNT(*) FROM ${system.device} WHERE status = 1</OriginSql>\\r\\n <TemplateSql>SELECT COUNT(*) as deviceCount FROM ${system.device} WHERE status = ${status}</TemplateSql>\\r\\n <RequestParams>\\r\\n <name>status</name>\\r\\n <type>INTEGER</type>\\r\\n <desc>设备状态</desc>\\r\\n <example>0</example>\\r\\n <required>true</required>\\r\\n </RequestParams>\\r\\n <ResponseParams>\\r\\n <name>deviceCount</name>\\r\\n <type>INTEGER</type>\\r\\n <desc>设备数</desc>\\r\\n <example>100</example>\\r\\n </ResponseParams>\\r\\n </SqlTemplateDTO>\\r\\n </Data>\\r\\n</GetDataAPIServiceDetailResponse>","errorExample":""}]',
+ 'title' => 'Obtain details of a data algorithm service API',
+ 'summary' => 'Invoke this API to obtain the details of a data algorithm service API.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'InvokeDataAPIService' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Param',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ParamName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'status',
+ ],
+ 'ParamType' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'VARCHAR ',
+ ],
+ 'ListParamType' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'VARCHAR',
+ ],
+ 'ParamValue' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ 'ListParamValue' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'example' => '["1","2","3"]',
+ 'maxItems' => 100,
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ ],
+ ],
+ [
+ 'name' => 'ApiSrn',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E68FE5DC-4D7B-4987-B785-DF8C6F191F5D',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'PageNo' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'PageSize' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'ApiSrn' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2',
+ ],
+ 'TotalSize' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'FieldNameList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'FieldNameList' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{"FieldNameList": ["deviceCount"]}',
+ ],
+ ],
+ ],
+ ],
+ 'ResultList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'ResultList' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'example' => '[{"deviceCount": 47}]',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"请求参数错误\\",\\n \\"RequestId\\": \\"E68FE5DC-4D7B-4987-B785-DF8C6F191F5D\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageNo\\": 0,\\n \\"PageSize\\": 1,\\n \\"ApiSrn\\": \\"acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2\\",\\n \\"TotalSize\\": 2,\\n \\"FieldNameList\\": {\\n \\"FieldNameList\\": [\\n \\"{\\\\\\"FieldNameList\\\\\\": [\\\\\\"deviceCount\\\\\\"]}\\"\\n ]\\n },\\n \\"ResultList\\": {\\n \\"ResultList\\": [\\n [\\n {\\n \\"deviceCount\\": 47\\n }\\n ]\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<InvokeDataAPIServiceResponse>\\r\\n <Data>\\r\\n <ResultList>\\r\\n <ResultList>\\r\\n <deviceCount>47</deviceCount>\\r\\n </ResultList>\\r\\n </ResultList>\\r\\n <PageSize>1</PageSize>\\r\\n <PageNo>0</PageNo>\\r\\n <ApiSrn>acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2</ApiSrn>\\r\\n <FieldNameList>\\r\\n <FieldNameList>deviceCount</FieldNameList>\\r\\n </FieldNameList>\\r\\n </Data>\\r\\n <RequestId>E68FE5DC-4D7B-4987-B785-DF8C6F191F5D</RequestId>\\r\\n <Success>true</Success>\\r\\n</InvokeDataAPIServiceResponse>","errorExample":""}]',
+ 'title' => 'InvokeDataAPIService',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'AddDataForApiSource' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'iot-0pp1n*****',
+ ],
+ ],
+ [
+ 'name' => 'ApiId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cxatswiniekxw***',
+ ],
+ ],
+ [
+ 'name' => 'Content',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '{"key":"value","ts":16376582*****}',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1234567890',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'BB71E443-4447-4024-A000-EDE09934561E',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.dap.insight.noAuthorization',
+ 'errorMessage' => 'no authorization.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.requestParamError',
+ 'errorMessage' => 'request param error.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.serverError',
+ 'errorMessage' => 'server hsf error please try later.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.notEnoughCU',
+ 'errorMessage' => 'There is not enough CU for the operation.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.notEnoughStorage',
+ 'errorMessage' => 'There is not enough storage for the operation.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Data\\": 1234567890,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"BB71E443-4447-4024-A000-EDE09934561E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<AddDataForApiSourceResponse>\\n <RequestId>BB71E443-4447-4024-A000-EDE09934561E</RequestId>\\n <Data>1234567890</Data>\\n <Code/>\\n <Success>true</Success>\\n</AddDataForApiSourceResponse>","errorExample":""}]',
+ 'title' => 'AddDataForApiSource',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchAddDataForApiSource' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'iot-0pp1n*****',
+ ],
+ ],
+ [
+ 'name' => 'ApiId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cxatswiniekxw***',
+ ],
+ ],
+ [
+ 'name' => 'ContentList',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '[{"key":"value1","ts":1637658286000},{"key":"value2","ts":1637658287000}]',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'BB71E443-4447-4024-A000-EDE09922891E',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.dap.insight.noAuthorization',
+ 'errorMessage' => 'no authorization.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.requestParamError',
+ 'errorMessage' => 'request param error.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.serverError',
+ 'errorMessage' => 'server hsf error please try later.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.notEnoughCU',
+ 'errorMessage' => 'There is not enough CU for the operation.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.notEnoughStorage',
+ 'errorMessage' => 'There is not enough storage for the operation.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"BB71E443-4447-4024-A000-EDE09922891E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BatchAddDataForApiSourceResponse>\\n<RequestId>BB71E443-4447-4024-A000-EDE09922891E</RequestId>\\n<Data>{\\"count\\":2,\\"hasNext\\":false,\\"items\\":[{\\"key\\":\\"value1\\",\\"ts\\":1637658286000,\\"id\\":1234567890},{\\"key\\":\\"value2\\",\\"ts\\":1637658287000,\\"id\\":1234567891}],\\"pageNum\\":1,\\"pageSize\\":2}</Data>\\n<Code/>\\n<Success>true</Success>\\n</BatchAddDataForApiSourceResponse>","errorExample":""}]',
+ 'title' => 'BatchAddDataForApiSource',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateDownloadDataJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot-cn-npk1u******',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'TableName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'product_info',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'DownloadDataType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'TABLE',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'FileConfig',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '{"fileName":"fileName01"}',
+ 'required' => false,
+ 'type' => 'object',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '1658332800000',
+ 'format' => 'int64',
+ 'required' => false,
+ 'type' => 'integer',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '1658406464534',
+ 'format' => 'int64',
+ 'required' => false,
+ 'type' => 'integer',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => '200',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'no authorization.',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => '4D6D7F71-1C94-4160-8511-EFF4B8F0643F',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'properties' => [
+ 'Status' => [
+ 'description' => '',
+ 'example' => '-1',
+ 'format' => 'int32',
+ 'type' => 'integer',
+ ],
+ 'LongJobId' => [
+ 'description' => '',
+ 'example' => '62d949808bc742187xxxxxx',
+ 'type' => 'string',
+ ],
+ 'AsyncExecute' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ 'CsvUrl' => [
+ 'description' => '',
+ 'example' => 'https://oss-xxxx-xxxx.xxxx......',
+ 'type' => 'string',
+ ],
+ 'CsvFileName' => [
+ 'description' => '',
+ 'example' => 'test_download_file',
+ 'type' => 'string',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.dap.insight.noAuthorization',
+ 'errorMessage' => 'no authorization.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.requestParamError',
+ 'errorMessage' => 'request param error.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.serverError',
+ 'errorMessage' => 'server hsf error please try later',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.queryTimeMoreThanQueryDays',
+ 'errorMessage' => 'The query time range exceeded the allowed time range',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.processDownloadJobMoreConcurrenceCount',
+ 'errorMessage' => 'the number of concurrent download tasks in progress exceeds the upper limit',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.downloadTimesUpperLimit',
+ 'errorMessage' => 'the number of current job downloaded tasks exceeded the upper limit',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.downloadTaskNumUpperLimit',
+ 'errorMessage' => 'the number of downloaded tasks exceeded the upper limit',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"ErrorMessage\\": \\"no authorization.\\",\\n \\"RequestId\\": \\"4D6D7F71-1C94-4160-8511-EFF4B8F0643F\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Status\\": -1,\\n \\"LongJobId\\": \\"62d949808bc742187xxxxxx\\",\\n \\"AsyncExecute\\": true,\\n \\"CsvUrl\\": \\"https://oss-xxxx-xxxx.xxxx......\\",\\n \\"CsvFileName\\": \\"test_download_file\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateDownloadDataJobResponse>\\n <code>200</code>\\n <data>\\n <asyncExecute>true</asyncExecute>\\n <longJobId>62d949808bc742187xxxxxx</longJobId>\\n <resultDataInString/>\\n <status>-1</status>\\n </data>\\n <requestId>C8E9E92F-ADD1-1434-BA90-E85F70F5C536</requestId>\\n <success>true</success>\\n</CreateDownloadDataJobResponse>","errorExample":""}]',
+ 'title' => 'CreateDownloadDataJob',
+ ],
+ 'GetDownloadFile' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Context',
+ 'in' => 'formData',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '{"xxx";xxx}',
+ 'required' => false,
+ 'type' => 'object',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot-cn-npk1u******',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'LongJobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '62d949808bc742187xxxxxx',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => '200',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'no authorization.',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => 'BB71E443-4447-4024-A000-EDE09934****',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'properties' => [
+ 'Status' => [
+ 'description' => '',
+ 'example' => '1',
+ 'format' => 'int32',
+ 'type' => 'integer',
+ ],
+ 'LongJobId' => [
+ 'description' => '',
+ 'example' => '62d949808bc742187xxxxxx',
+ 'type' => 'string',
+ ],
+ 'BeginTime' => [
+ 'description' => '',
+ 'example' => '1658406464534',
+ 'format' => 'int64',
+ 'type' => 'integer',
+ ],
+ 'AsyncExecute' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ 'TotalCount' => [
+ 'description' => '',
+ 'example' => '100',
+ 'format' => 'int64',
+ 'type' => 'integer',
+ ],
+ 'EndTime' => [
+ 'description' => '',
+ 'example' => '1658406465000',
+ 'format' => 'int64',
+ 'type' => 'integer',
+ ],
+ 'PreviewSize' => [
+ 'description' => '',
+ 'example' => '100',
+ 'format' => 'int32',
+ 'type' => 'integer',
+ ],
+ 'PageNo' => [
+ 'description' => '',
+ 'example' => '1',
+ 'format' => 'int32',
+ 'type' => 'integer',
+ ],
+ 'PageSize' => [
+ 'description' => '',
+ 'example' => '10',
+ 'format' => 'int32',
+ 'type' => 'integer',
+ ],
+ 'CsvUrl' => [
+ 'description' => '',
+ 'example' => 'https://xxxxx-data-download-sh.oss-cn-shanghai.aliyuncs.com/data/download/6B761BxxxxxxxxAAA0BF03D32C80E/62da39b9xxxxxx5a7b953376/download_file_name.csv?Expires=1658469132&amp;OSSAccessKeyId=xxxxxxxxx&amp;Signature=rRL%xxxxxxx%3D',
+ 'type' => 'string',
+ ],
+ 'CsvFileName' => [
+ 'description' => '',
+ 'example' => 'test_download_flie',
+ 'type' => 'string',
+ ],
+ 'DatasetId' => [
+ 'description' => '',
+ 'example' => 'xxxxxx',
+ 'type' => 'string',
+ ],
+ 'ResultDataInString' => [
+ 'description' => '',
+ 'example' => '{"a":123}',
+ 'type' => 'string',
+ ],
+ 'Header' => [
+ 'description' => '',
+ 'items' => [
+ 'properties' => [
+ 'TypeClass' => [
+ 'description' => '',
+ 'example' => 'date',
+ 'type' => 'string',
+ ],
+ 'FieldName' => [
+ 'description' => '',
+ 'example' => 'user_name',
+ 'type' => 'string',
+ ],
+ 'GeoClass' => [
+ 'description' => '',
+ 'example' => '{xxx:xxxx}',
+ 'type' => 'string',
+ ],
+ 'FieldType' => [
+ 'description' => '',
+ 'example' => 'INTEGER',
+ 'type' => 'string',
+ ],
+ 'TimeClass' => [
+ 'description' => '',
+ 'example' => 'HOUR/DAY/MONTH',
+ 'type' => 'string',
+ ],
+ 'DimDateClass' => [
+ 'description' => '',
+ 'example' => 'DAY',
+ 'type' => 'string',
+ ],
+ 'Alias' => [
+ 'description' => '',
+ 'example' => 'user_name_alias',
+ 'type' => 'string',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ 'type' => 'array',
+ ],
+ 'Result' => [
+ 'description' => '',
+ 'items' => [
+ 'example' => '{"a":123}',
+ 'type' => 'object',
+ ],
+ 'type' => 'array',
+ ],
+ 'QuerySetting' => [
+ 'description' => '',
+ 'properties' => [
+ 'SelectedHeaders' => [
+ 'description' => '',
+ 'items' => [
+ 'description' => '',
+ 'properties' => [
+ 'FieldName' => [
+ 'description' => '',
+ 'example' => 'user_name',
+ 'type' => 'string',
+ ],
+ 'GeoClass' => [
+ 'description' => '',
+ 'example' => '{xxx:xxx}',
+ 'type' => 'string',
+ ],
+ 'FieldType' => [
+ 'description' => '',
+ 'example' => 'INTEGER',
+ 'type' => 'string',
+ ],
+ 'TimeClass' => [
+ 'description' => '',
+ 'example' => 'HOUR/DAY/MONTH',
+ 'type' => 'string',
+ ],
+ 'Alias' => [
+ 'description' => '',
+ 'example' => 'user_name_alias',
+ 'type' => 'string',
+ ],
+ 'DimDateClass' => [
+ 'description' => '',
+ 'example' => 'DAY',
+ 'type' => 'string',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ 'type' => 'array',
+ ],
+ 'AstExpr' => [
+ 'description' => '',
+ 'items' => [
+ 'properties' => [
+ 'ExprType' => [
+ 'description' => '',
+ 'example' => 'binaryOp',
+ 'type' => 'string',
+ ],
+ 'Expr' => [
+ 'description' => '',
+ 'example' => '{"header":{"fieldName":"xxx"},"operator":"GreaterThanOrEqual","value":12345}',
+ 'type' => 'string',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ 'type' => 'array',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.dap.insight.noAuthorization',
+ 'errorMessage' => 'no authorization.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.requestParamError',
+ 'errorMessage' => 'request param error.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.serverError',
+ 'errorMessage' => 'server hsf error please try later',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.downloadTaskNumUpperLimit',
+ 'errorMessage' => 'the number of downloaded tasks exceeded the upper limit',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.downloadTimesUpperLimit',
+ 'errorMessage' => 'the number of current job downloaded tasks exceeded the upper limit',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"ErrorMessage\\": \\"no authorization.\\",\\n \\"RequestId\\": \\"BB71E443-4447-4024-A000-EDE09934****\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Status\\": 1,\\n \\"LongJobId\\": \\"62d949808bc742187xxxxxx\\",\\n \\"BeginTime\\": 1658406464534,\\n \\"AsyncExecute\\": true,\\n \\"TotalCount\\": 100,\\n \\"EndTime\\": 1658406465000,\\n \\"PreviewSize\\": 100,\\n \\"PageNo\\": 1,\\n \\"PageSize\\": 10,\\n \\"CsvUrl\\": \\"https://xxxxx-data-download-sh.oss-cn-shanghai.aliyuncs.com/data/download/6B761BxxxxxxxxAAA0BF03D32C80E/62da39b9xxxxxx5a7b953376/download_file_name.csv?Expires=1658469132&amp;OSSAccessKeyId=xxxxxxxxx&amp;Signature=rRL%xxxxxxx%3D\\",\\n \\"CsvFileName\\": \\"test_download_flie\\",\\n \\"DatasetId\\": \\"xxxxxx\\",\\n \\"ResultDataInString\\": \\"{\\\\\\"a\\\\\\":123}\\",\\n \\"Header\\": [\\n {\\n \\"TypeClass\\": \\"date\\",\\n \\"FieldName\\": \\"user_name\\",\\n \\"GeoClass\\": \\"{xxx:xxxx}\\",\\n \\"FieldType\\": \\"INTEGER\\",\\n \\"TimeClass\\": \\"HOUR/DAY/MONTH\\",\\n \\"DimDateClass\\": \\"DAY\\",\\n \\"Alias\\": \\"user_name_alias\\"\\n }\\n ],\\n \\"Result\\": [\\n {\\n \\"a\\": 123\\n }\\n ],\\n \\"QuerySetting\\": {\\n \\"SelectedHeaders\\": [\\n {\\n \\"FieldName\\": \\"user_name\\",\\n \\"GeoClass\\": \\"{xxx:xxx}\\",\\n \\"FieldType\\": \\"INTEGER\\",\\n \\"TimeClass\\": \\"HOUR/DAY/MONTH\\",\\n \\"Alias\\": \\"user_name_alias\\",\\n \\"DimDateClass\\": \\"DAY\\"\\n }\\n ],\\n \\"AstExpr\\": [\\n {\\n \\"ExprType\\": \\"binaryOp\\",\\n \\"Expr\\": \\"{\\\\\\"header\\\\\\":{\\\\\\"fieldName\\\\\\":\\\\\\"xxx\\\\\\"},\\\\\\"operator\\\\\\":\\\\\\"GreaterThanOrEqual\\\\\\",\\\\\\"value\\\\\\":12345}\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetDownloadFileResponse>\\n <code/>\\n <data>\\n <asyncExecute>true</asyncExecute>\\n <csvFileName>download_file_name</csvFileName>\\n <csvUrl>https://insight-data-download-sh.oss-cn-shanghai.aliyuncs.com/data/download/6B761B2617454C9C9AAA0BF03D32C80E/62da39b9a48f865a7b953376/download_file_name.csv?Expires=1658469132&amp;OSSAccessKeyId=xxxxxxxxx&amp;Signature=rRL%xxxxxxx%3D</csvUrl>\\n <longJobId>62d949808bc742187xxxxxx</longJobId>\\n <status>1</status>\\n </data>\\n <requestId>41CF72F4-63C1-1EBA-8590-89D0F0CD298A</requestId>\\n <success>true</success>\\n</GetDownloadFileResponse>","errorExample":""}]',
+ 'title' => 'GetDownloadFile',
+ ],
+ 'BatchPub' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'Qos',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The quality of service (QoS) level of the message. Valid values:'."\n"
+ ."\n"
+ .'* **0**: The message is published at most once.'."\n"
+ .'* **1**: The message is published at least once.'."\n"
+ ."\n"
+ .'Default value: **0**.'."\n"
+ ."\n"
+ .'> IoT Platform stores QoS 1 messages for up to 7 days. IoT Platform does not store QoS 0 messages.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '0',
+ 'default' => '0',
+ 'enum' => [
+ '0',
+ '1',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'TopicShortName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The suffix of the custom topic.'."\n"
+ ."\n"
+ .'A custom topic is in the following format: `/${productKey}/${deviceName}/user/${TopicShortName}`. ${TopicShortName} specifies the suffix.'."\n"
+ ."\n"
+ .'> You must specify the Subscribe permission, or Publish and Subscribe permissions for the topic. Make sure that all devices subscribe to the topic.'."\n"
+ ."\n"
+ .'You can use the following methods to view custom topics:'."\n"
+ ."\n"
+ .'* On the **Topic Categories** tab of the Product Details page, view the custom topics of the product.'."\n"
+ .'* On the **Topic List** tab of the Device Details page, view the custom topics to which the device has subscribed.'."\n"
+ .'* Call the [QueryProductTopic](~~69647~~) operation to query the custom topics of the product.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'get',
+ ],
+ ],
+ [
+ 'name' => 'MessageContent',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The body of the message to be published. The maximum size of a message is 256 KB.'."\n"
+ ."\n"
+ .'To generate a message body, you must convert the raw message into binary data and perform Base64 encoding.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'eyJ0ZXN0IjoidGFzayBiYXRjaHB1YiBicm9hZGNhc3QifQ==',
+ ],
+ ],
+ [
+ 'name' => 'TopicTemplateName',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'ResponseTopicTemplateName',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'CorrelationData',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'PayloadFormatIndicator',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'ContentType',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'MessageExpiryInterval',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'Retained',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The name of the device that receives the message.'."\n"
+ ."\n"
+ .'> * This parameter is used together with the **ProductKey** parameter. The specified devices must belong to the same product.'."\n"
+ .'>* You can specify up to 100 device names in a single call. The device names must be unique.',
+ ],
+ 'required' => true,
+ 'example' => 'newdevice1',
+ 'maxItems' => 100,
+ ],
+ ],
+ [
+ 'name' => 'UserProp',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ 'Value' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BatchPubResponse>\\r\\n<RequestId>9E76053E-26ED-4AB4-AE58-8AFC3F1E7E8E</RequestId>\\r\\n<Success>true</Success>\\r\\n</BatchPubResponse>","errorExample":""}]',
+ 'title' => 'BatchPub',
+ 'summary' => 'Publishes a message to multiple devices of a product by using a custom topic.',
+ 'description' => '* You can call this operation to publish a message to a maximum of 100 devices of a product at a time.'."\n"
+ ."\n"
+ .'* The BatchPub operation cannot be used to send commands of setting properties or calling services. If you need to set properties, use the [SetDeviceProperty](~~69579~~) or [SetDevicesProperty](~~96243~~) operation. If you need to call services, use the [InvokeThingService](~~69584~~) or [InvokeThingsService](~~96242~~) operation.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n"
+ ."\n"
+ .'>RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'Pub' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can obtain the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify this parameter. Otherwise, the call fails.'."\n"
+ .'>* If the **Overview** page or the instance ID is not displayed in the IoT Platform console, ignore this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'CorrelationData',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The related data in the request/response communication mode when you use MQTT 5.0. You can specify this parameter as needed.'."\n"
+ ."\n"
+ .'A message recipient can process the request based on the data.'."\n"
+ ."\n"
+ .'> You must convert the related data into binary data and perform Base64 encoding to generate a value of the string type.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'aGVsbG8****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the device that receives the message belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1Q5XoY****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the MQTT cloud gateway.'."\n"
+ ."\n"
+ .'>When you publish a message to an MQTT cloud gateway, you must specify this parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'device1',
+ ],
+ ],
+ [
+ 'name' => 'Qos',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The quality of service (QoS) level of the message. Valid values:'."\n"
+ ."\n"
+ .'* **0**: The message is published at most once.'."\n"
+ .'* **1**: The message is published at least once. If a PUBACK response is not returned after you publish a QoS 1 message, the message is pushed to the device again when the device reconnects to IoT Platform.'."\n"
+ ."\n"
+ .'Default value: **0**.'."\n"
+ ."\n"
+ .'For more information about message communication, see [Limits](~~30527~~).'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '0',
+ 'default' => '0',
+ 'enum' => [
+ '0',
+ '1',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'ContentType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The content type of the message when you use MQTT 5.0 for communication.'."\n"
+ ."\n"
+ .'The content type is usually MIME, such as text or plain********.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'text',
+ ],
+ ],
+ [
+ 'name' => 'PayloadFormatIndicator',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The payload identifier of the message when you use MQTT 5.0 for communication. Valid values:'."\n"
+ ."\n"
+ .'* **0**: The message is unknown byte data.'."\n"
+ .'* **1**: The payload of the message is UTF-8 encoded character data.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'Retained',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'MessageExpiryInterval',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'ResponseTopic',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The response topic in the request/response communication mode when you use MQTT 5.0. For more information, see [MQTT 5.0](~~30540~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '/a1Q5XoY****/device1/user/update',
+ ],
+ ],
+ [
+ 'name' => 'TopicFullName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The custom topic for the device that receives the message.'."\n"
+ ."\n"
+ .'* Topic format: `/${productKey}/${deviceName}/user/${TopicShortName}`.'."\n"
+ .'* You must specify the **Subscribe** permission, or **Publish and Subscribe** permissions for the topic.'."\n"
+ ."\n"
+ .'> Make sure that the device subscribes to the topic before you call the Pub operation. Otherwise, the device cannot receive the message.'."\n"
+ ."\n"
+ .'You can view the custom topics of a product on the **Topic Categories** tab of the **Product Details** page, or by calling the [QueryProductTopic](~~69647~~) operation. You can view the topics to which the device subscribes on the **Topic List** tab of the **Device Details** page.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '/a1Q5XoY****/device1/user/get',
+ ],
+ ],
+ [
+ 'name' => 'MessageContent',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The body of the message that you want to publish.'."\n"
+ ."\n"
+ .'To generate a message body, you must convert the raw message into binary data and perform Base64 encoding.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'eyJ0ZXN0IjoidGFzayBwdWIgYnJvYWRjYXN0In0=',
+ ],
+ ],
+ [
+ 'name' => 'TopicAlias',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'UserProp',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The custom property key that is specified when you use MQTT 5.0 for communication.'."\n"
+ ."\n"
+ .'This parameter must be used together with the **UserProp.N.Value** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'key1',
+ ],
+ 'Value' => [
+ 'description' => 'The custom property value that is specified when you use MQTT 5.0 for communication.'."\n"
+ ."\n"
+ .'This parameter must be used together with the **UserProp.N.Key** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'value1',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'MessageId' => [
+ 'description' => 'The message ID that is generated by IoT Platform when the message is sent.'."\n",
+ 'type' => 'string',
+ 'example' => '889455942124347329',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'BB71E443-4447-4024-A000-EDE09922891E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"MessageId\\": \\"889455942124347329\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"BB71E443-4447-4024-A000-EDE09922891E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<PubResponse>\\r\\n <RequestId>BB71E443-4447-4024-A000-EDE09922891E</RequestId>\\r\\n <Success>true</Success>\\r\\n <MessageId>889455942124347329</MessageId>\\r\\n</PubResponse>","errorExample":""}]',
+ 'title' => 'Pub',
+ 'summary' => 'Publishes a message to a specified device by using a custom topic.',
+ 'description' => 'This operation does not support device property settings and service invocations.'."\n"
+ ."\n"
+ .'* To set properties, call the [SetDeviceProperty](~~69579~~) or [SetDevicesProperty](~~96243~~) operation.'."\n"
+ .'* To invoke a service, call the [InvokeThingService](~~69584~~) or [InvokeThingsService](~~96242~~) operation.'."\n"
+ ."\n"
+ .'## QPS limit'."\n"
+ ."\n"
+ .'You can call this API operation up to 1,600 times per second per account. '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'PubBroadcast' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify this parameter. Otherwise, the call fails.'."\n"
+ .'>* If the **Overview** page or an instance ID is not displayed in the IoT Platform console, ignore this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the devices belong.'."\n"
+ ."\n"
+ .'A **ProductKey** is the unique identifier of a product in IoT Platform. You can view the information about all products within the current Alibaba Cloud account in the IoT Platform console or by calling the [QueryProductList](~~69271~~) operation.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'aldeji3*****',
+ ],
+ ],
+ [
+ 'name' => 'TopicFullName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the topic. This parameter is optional.'."\n"
+ ."\n"
+ .'* If you do not specify this parameter, the message is pushed to all online devices that have the specified **ProductKey**. Devices receive the message from the broadcast topic in the following format: `/sys/${productKey}/${deviceName}/broadcast/request/${MessageId}`. The **MessageId** variable is generated by IoT Platform.'."\n"
+ .'* If you specify this parameter, the message is pushed to the devices that have the specified **ProductKey** and subscribe to the specified topic. You must specify a broadcast topic by using the following syntax: `/broadcast/${productKey}/Custom field`. Replace **${productKey}** with the **ProductKey** of the devices that receive the message. For the custom field, you can specify a value based on your business requirements.'."\n"
+ ."\n"
+ .'> * When you develop devices, you need to only write code to define a broadcast topic. You do not need to create a topic in the IoT Platform console.'."\n"
+ .'>* A maximum of 1,000 devices can subscribe to a broadcast topic. If the number of devices exceeds the limit, you can divide the devices into groups. For example, you can divide 5,000 devices into five groups that contain 1,000 devices. In this case, you must call this operation five times and set the value of the custom field to group1, group2, group3, group4, and group5. Then, configure the devices. This way, each group of devices subscribes to the corresponding topic.',
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => '/broadcast/UPqSxj2vXXX/xxx',
+ ],
+ ],
+ [
+ 'name' => 'MessageContent',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The message body that you want to send. The maximum size of a message is 64 KB.'."\n"
+ ."\n"
+ .'To generate a message body, you must convert the raw message into binary data and perform Base64 encoding.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'aGVsbG93b3JsZA',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'MessageId' => [
+ 'description' => 'The message ID that is generated by IoT Platform when the message is sent.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1234291569964771840',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request. The ID is a unique identifier of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'BB71E443-4447-4024-A000-EDE09922891E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"MessageId\\": 1234291569964771800,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"BB71E443-4447-4024-A000-EDE09922891E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\'1.0\' encoding=\'UTF-8\'?>\\r\\n <PubBroadcastResponse>\\r\\n <RequestId>BB71E443-4447-4024-A000-EDE09922891E</RequestId>\\r\\n <MessageId>1234291569964771840</MessageId>\\r\\n <Success>true</Success>\\r\\n </PubBroadcastResponse>","errorExample":""}]',
+ 'title' => 'PubBroadcast',
+ 'summary' => 'Broadcasts messages to online devices of a product. You can specify all online devices or only the online devices that subscribe to a specified topic.',
+ 'description' => 'You can use the **TopicFullName** parameter in the **request** to specify the devices to which you want to broadcast messages. For more information, see the description about the **TopicFullName** parameter in this topic.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'- Each Alibaba Cloud account can run only one query per second (QPS) to broadcast a message to devices that subscribe to a topic.'."\n"
+ .'- Each Alibaba Cloud account can run only one query per minute (QPM) to broadcast a message to all online devices of a product. > The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'RRpc' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'aldfeSe****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the device that receives the request.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'device1',
+ ],
+ ],
+ [
+ 'name' => 'Timeout',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The timeout period of a response. Unit: milliseconds. Valid values: 1000 to 8000.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1000',
+ ],
+ ],
+ [
+ 'name' => 'ContentType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '240',
+ ],
+ ],
+ [
+ 'name' => 'RequestBase64Byte',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The string that is obtained by performing Base64 encoding on the message. Example: `dGhpcyBpcyBhbiBleGFtcGxl`.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'dGhpcyBpcyBhbiBleGFtcGxl',
+ ],
+ ],
+ [
+ 'name' => 'Topic',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The custom revert-RPC (RRPC) topic. Before you can use a custom RRPC topic, you must configure the device. For more information, see [Use custom topics](~~90570~~).'."\n"
+ ."\n"
+ .'If you do not configure this parameter, the default RRPC topic is used.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '/a1uZfYb****/A_Vol****/user/update',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'MessageId' => [
+ 'description' => 'The ID of the request. The request ID is generated by IoT Platform after the request is sent.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '889455942124347392',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '41C4265E-F05D-4E2E-AB09-E031F501AF7F',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'PayloadBase64Byte' => [
+ 'description' => 'The Base64 encoded payload that is returned by the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'd29ybGQgaGVsbG8=',
+ ],
+ 'RrpcCode' => [
+ 'description' => 'The response code returned if the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* **UNKNOWN**: A system error occurred.'."\n"
+ .'* **SUCCESS**: The request is successful.'."\n"
+ .'* **TIMEOUT**: The request times out.'."\n"
+ .'* **OFFLINE**: The device is offline.'."\n"
+ .'* **HALFCONN**: The device is offline. If the status of the device is HALFCONN, the device is offline but does not remain offline for a full heartbeat cycle.'."\n",
+ 'type' => 'string',
+ 'example' => 'SUCCESS',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"MessageId\\": 889455942124347400,\\n \\"RequestId\\": \\"41C4265E-F05D-4E2E-AB09-E031F501AF7F\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PayloadBase64Byte\\": \\"d29ybGQgaGVsbG8=\\",\\n \\"RrpcCode\\": \\"SUCCESS\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\'1.0\' encoding=\'UTF-8\'?>\\r\\n <RRpcResponse>\\r\\n <RequestId>41C4265E-F05D-4E2E-AB09-E031F501AF7F<RequestId/>\\r\\n <Success>true</Success>\\r\\n <RrpcCode>SUCCESS</RrpcCode>\\r\\n <PayloadBase64Byte>d29ybGQgaGVsbG8=</PayloadBase64Byte>\\r\\n <MessageId>889455942124347392</MessageId>\\r\\n </RRpcResponse>","errorExample":""}]',
+ 'title' => 'RRpc',
+ 'summary' => 'Sends a request to a specified device and synchronously receives a response from the device.',
+ 'description' => 'If the device fails to send a response within the timeout period after you call the operation, IoT Platform considers that the call fails even if the device receives the message. The timeout period is specified by the **Timeout** parameter.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 1000 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'AsyncRRpc' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'aldfeSe****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'device1',
+ ],
+ ],
+ [
+ 'name' => 'ExtInfo',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{"commandType": 128}',
+ ],
+ ],
+ [
+ 'name' => 'MessageContent',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'eyJ0ZXN0IjoidGFzayBwdWIgYnJvYWRjYXN0In0=',
+ ],
+ ],
+ [
+ 'name' => 'TopicFullName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '/a1uZfYb****/A_Vol****/user/update',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.device.InvalidFormattedDeviceName',
+ ],
+ 'MessageId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '889455942124347392',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.prod.NullProductKey',
+ 'errorMessage' => 'The ProductKey is empty.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.InvalidFormattedProductkey',
+ 'errorMessage' => 'The ProductKey format is incorrect.',
+ ],
+ [
+ 'errorCode' => 'iot.device.NullDeviceName',
+ 'errorMessage' => 'The deviceName is empty.',
+ ],
+ [
+ 'errorCode' => 'iot.device.InvalidFormattedDeviceName',
+ 'errorMessage' => 'The deviceName format is incorrect.',
+ ],
+ [
+ 'errorCode' => 'iot.device.InactiveDevice',
+ 'errorMessage' => 'The device is inactive.',
+ ],
+ [
+ 'errorCode' => 'iot.device.OfflineDevice',
+ 'errorMessage' => 'The device is offline.',
+ ],
+ [
+ 'errorCode' => 'iot.Device.NotExistedDevice',
+ 'errorMessage' => 'This device does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.device.InvalidFormattedDeviceName\\",\\n \\"MessageId\\": 889455942124347400,\\n \\"ErrorMessage\\": \\"设备名称格式错误。\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<AsyncRRpcResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Success>true</Success>\\n<MessageId>889455942124347400</MessageId>\\n</AsyncRRpcResponse>","errorExample":""}]',
+ 'title' => 'AsyncRRpc',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryMessageInfo' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t***',
+ ],
+ ],
+ [
+ 'name' => 'UniMsgId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '323455***',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'BB71E443-4447-4024-A000-EDE09922891E',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Message' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'TopicFullName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '/a1Q5XoY****/device1/user/get',
+ ],
+ 'MessageContent' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'eyJsYXN0VGltZSI6IjIwMjEtMDYtMjQgMTY6Mj**',
+ ],
+ 'UniMsgId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '323455***',
+ ],
+ 'TransformedMessageContent' => [
+ 'type' => 'string',
+ ],
+ 'GenerateTime' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1624419431000',
+ ],
+ 'TransformedTopicFullName' => [
+ 'type' => 'string',
+ ],
+ 'UserProperties' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'key1',
+ ],
+ 'Value' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'value1',
+ ],
+ ],
+ ],
+ ],
+ 'MqttProperties' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'type' => 'string',
+ ],
+ 'Value' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"BB71E443-4447-4024-A000-EDE09922891E\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Message\\": {\\n \\"TopicFullName\\": \\"/a1Q5XoY****/device1/user/get\\",\\n \\"MessageContent\\": \\"eyJsYXN0VGltZSI6IjIwMjEtMDYtMjQgMTY6Mj**\\",\\n \\"UniMsgId\\": \\"323455***\\",\\n \\"TransformedMessageContent\\": \\"test\\",\\n \\"GenerateTime\\": 1624419431000,\\n \\"TransformedTopicFullName\\": \\"/w******j/device01/user/testmsg\\",\\n \\"UserProperties\\": [\\n {\\n \\"Key\\": \\"key1\\",\\n \\"Value\\": \\"value1\\"\\n }\\n ],\\n \\"MqttProperties\\": [\\n {\\n \\"Key\\": \\"attrkey\\",\\n \\"Value\\": \\"attrvalue\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryMessageInfoResponse>\\n<RequestId>BB71E443-4447-4024-A000-EDE09922891E</RequestId>\\n<Message>\\n <MessageContent>eyJsYXN0VGltZSI6IjIwMjEtMDYtMjQgMTY6Mj**</MessageContent>\\n <GenerateTime>1624419431000</GenerateTime>\\n <UniMsgId>323455***</UniMsgId>\\n <TopicFullName>/a1Q5XoY****/device1/user/get</TopicFullName>\\n <UserProperties>\\n <Value>value1</Value>\\n <Key>key1</Key>\\n </UserProperties>\\n</Message>\\n<Success>true</Success>\\n</QueryMessageInfoResponse>","errorExample":""}]',
+ 'title' => 'QueryMessageInfo',
+ 'summary' => 'Queries the details of an upstream or downstream device message. The details include the content, time when the message was created, and name of the topic from which the message is sent.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'SubscribeTopic' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'>* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-06***',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1Q5XoY***',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **DeviceName** of the device to which the topic belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'device1',
+ ],
+ ],
+ [
+ 'name' => 'Topic',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The topics to which you want to subscribe. You can specify a maximum of 10 topics.'."\n"
+ ."\n"
+ .'The topics must have the **Subscribe** or **Publish and Subscribe** permissions.'."\n",
+ ],
+ 'required' => true,
+ 'example' => '/a1Q5XoY***/device1/user/get',
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'BB71E443-4447-4024-A000-EDE09922891E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Iot.System.BillIsOverDue',
+ 'errorMessage' => 'Your account has overdue payments. Go to the expense center and add funds to your account.',
+ ],
+ [
+ 'errorCode' => 'Iot.MessageBroker.EmptySubTopicList',
+ 'errorMessage' => 'The subscription topic list is empty.',
+ ],
+ [
+ 'errorCode' => 'Iot.Device.NotExistedDevice',
+ 'errorMessage' => 'The device does not exist.',
+ ],
+ [
+ 'errorCode' => 'Iot.MessageBroker.TopicTemplateIsNotFound',
+ 'errorMessage' => 'The topic template does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.NotExistedProduct',
+ 'errorMessage' => 'The specified product does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.device.InactiveDevice',
+ 'errorMessage' => 'The device is inactive.',
+ ],
+ [
+ 'errorCode' => 'Iot.MessageBroker.InvalidFormattedTopicName',
+ 'errorMessage' => 'The topic format specified while publishing the message is incorrect.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'Iot.Device.NotDeviceOwner',
+ 'errorMessage' => 'You are not the device owner.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'Iot.MessageBroker.BatchSubTopicFailed',
+ 'errorMessage' => 'An error occurred while batch subscribing to the topic.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"BB71E443-4447-4024-A000-EDE09922891E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<SubscribeTopicResponse>\\n<RequestId>32B9828A-25DD-48E2-8E26-D1664B341940</RequestId>\\n<Success>true</Success>\\n</SubscribeTopicResponse>","errorExample":""}]',
+ 'title' => 'SubscribeTopic',
+ 'summary' => 'Subscribes to one or more topics for a device.',
+ 'description' => '* The device that needs to subscribe to topics must be connected to IoT Platform and online.'."\n"
+ .'* You can call this operation to subscribe to the topics of a specified device. You can specify a maximum of 10 topics in a single call.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 10 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDeviceSubTopic' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the ID of an instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. If you do not specify the instance ID, the call fails.'."\n"
+ .'>* If the **Overview** page or instance ID is not displayed in the IoT Platform console, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n"
+ .'You can use the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products within the current Alibaba Cloud account.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'hf768****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the device.'."\n"
+ ."\n"
+ .'You can use the IoT Platform console or call the [QueryDeviceInfo](~~257184~~) operation to view the information about the device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'device1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request. The ID uniquely identifies this request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'TopicList' => [
+ 'description' => 'The information about the topics to which the device has subscribed. This parameter is returned if the call was successful.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TopicName' => [
+ 'description' => 'The name of the topic.'."\n",
+ 'type' => 'string',
+ 'example' => '/hf768****/device1/user/test',
+ ],
+ 'Timestamp' => [
+ 'description' => 'The time when the device subscribed to a topic. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1662039965873',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"TopicList\\": [\\n {\\n \\"TopicName\\": \\"/hf768****/device1/user/test\\",\\n \\"Timestamp\\": 1662039965873\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceSubTopicResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<TopicList>\\n <Timestamp>1662039965873</Timestamp>\\n <TopicName>/hf768****/device1/user/test</TopicName>\\n</TopicList>\\n<TopicList>\\n <Timestamp>1662039965873</Timestamp>\\n <TopicName>/hf768****/device1/user/down</TopicName>\\n</TopicList>\\n<Success>true</Success>\\n</QueryDeviceSubTopicResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceSubTopic',
+ 'summary' => 'Queries the topics to which a device has subscribed.',
+ 'description' => '## QPS limits'."\n"
+ ."\n"
+ .'You can call this operation up to 100 times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateTopicConfig' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs. The device receives the retained message.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1Q5XoY****',
+ ],
+ ],
+ [
+ 'name' => 'EnableBroadcast',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to enable the retained message broadcasting feature for a custom topic.'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'EnableProxySubscribe',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'Codec',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'Operation',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'TopicFullName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The custom topic for which you want to enable the retained message broadcasting feature.'."\n"
+ ."\n"
+ .'* If you use an MQTT gateway device, set this parameter to the original custom topic of the device. For more information, see [Topics](~~433806~~).'."\n"
+ .'* If you use a non-MQTT gateway device, set this parameter to a custom topic in the following format: `/broadcast/${productKey}/${Custom field}`. `${productKey}` is the value of the **ProductKey** request parameter. You can specify `${Custom field}` based on your business requirements.'."\n"
+ ."\n"
+ .'> When you develop devices, use code to define a broadcast topic. You do not need to create a topic in the IoT Platform console. You must grant devices the Subscribe permission or the Publish and Subscribe permission on the topic.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '/broadcast/a1Q5XoY****/test',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'Message' => [
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.message.broker.ParamCheckError',
+ 'errorMessage' => 'Param check error.',
+ ],
+ [
+ 'errorCode' => 'iot.message.broker.ProductCheckError',
+ 'errorMessage' => 'Product check error.',
+ ],
+ [
+ 'errorCode' => 'iot.message.broker.TopicConfigNumExceed',
+ 'errorMessage' => 'Topic config num exceed.',
+ ],
+ [
+ 'errorCode' => 'iot.message.broker.SystemError',
+ 'errorMessage' => 'System error.',
+ ],
+ [
+ 'errorCode' => 'iot.messagebroker.InvalidPubTopicFormat',
+ 'errorMessage' => 'The pub topic cannot contain wildcard character.',
+ ],
+ [
+ 'errorCode' => 'iot.messagebroker.InvalidOperationWithBroadcast',
+ 'errorMessage' => 'The operation must be sub when enable broadcast.',
+ ],
+ [
+ 'errorCode' => 'iot.messagebroker.InvalidTopicWithBroadcast',
+ 'errorMessage' => 'The topic cannot contain wildcard character when enable broadcast.',
+ ],
+ [
+ 'errorCode' => 'iot.messagebroker.InvalidOperationWithProxySubscribe',
+ 'errorMessage' => 'Operation must be sub or all when enable proxy subscribe.',
+ ],
+ [
+ 'errorCode' => 'iot.messagebroker.InvalidTopicWithProxySubscribe',
+ 'errorMessage' => 'Topic cannot contain wildcard character when enable proxy subscribe.',
+ ],
+ [
+ 'errorCode' => 'iot.messagebroker.InvalidTopicWithCodec',
+ 'errorMessage' => 'Topic cannot contain wildcard when enable codec.',
+ ],
+ [
+ 'errorCode' => 'iot.messagebroker.InvalidInstanceWithCodec',
+ 'errorMessage' => 'Only connect instance support codec.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Code/>\\n<Success>true</Success>","errorExample":""}]',
+ 'title' => 'UpdateTopicConfig',
+ 'summary' => 'Enables or disables the retained message broadcasting feature for a custom topic.',
+ 'description' => '## Usage notes'."\n"
+ ."\n"
+ .'You can subscribe to the broadcast messages of a custom topic for up to 1,000 devices. If you want to subscribe to the broadcast messages of a custom topic for more than 1,000 devices, you can use Message Queuing Telemetry Transport (MQTT) 5.0 for communication, allow the custom topic to broadcast retained messages, and label messages of the custom topic as retained messages. Perform the following steps:'."\n"
+ ."\n"
+ .'1. Call this operation and set **EnableBroadcast** to **true** to allow a custom topic to broadcast retained messages. In this example, the `/broadcast/a1Q5XoY****/test` custom topic is used.'."\n"
+ .'2. Call the [Pub](~~69793~~) operation to publish a broadcast message to the custom topic and set **Retained** to **true** to label the message as a retained message.``'."\n"
+ .'3. Call the [SubscribeTopic](~~311869~~) operation to allow a device to subscribe to the custom topic. This way, the device can receive the retained message that was published to the custom topic in the previous step.``'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'You can call this operation up to 100 times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateSubscribeRelation' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n"
+ .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product that is specified for the subscription.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1fyXVF****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceDataFlag',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to push upstream device messages. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes.'."\n"
+ .'* **false**: no. This is the default value.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'DeviceLifeCycleFlag',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to push messages about device lifecycle changes. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes.'."\n"
+ .'* **false**: no. This is the default value.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'DeviceStatusChangeFlag',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to push messages about device status changes. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes.'."\n"
+ .'* **false**: no. This is the default value.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'DeviceTopoLifeCycleFlag',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to push messages about topological relationship changes of devices. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes. This parameter is valid only for gateway products.'."\n"
+ .'* **false**: no. This is the default value.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'FoundDeviceListFlag',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to push messages when a gateway detects new sub-devices. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes. This parameter is valid only for gateway products.'."\n"
+ .'* **false**: no. This is the default value.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'MnsConfiguration',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The configurations of the MNS queue. If you set the **Type** parameter to **AMQP**, this parameter is required.'."\n"
+ ."\n"
+ .'For more information, see the "Definition of the MnsConfiguration parameter" section.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{ "queueName": "mns-test-topic1", "regionName": "cn-shanghai", "role": { "roleArn": "acs:ram::5645***:role/aliyuniotaccessingmnsrole", "roleName": "AliyunIOTAccessingMNSRole" } }',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the subscription. Valid values:'."\n"
+ ."\n"
+ .'* **MNS**'."\n"
+ .'* **AMQP**'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'AMQP',
+ ],
+ ],
+ [
+ 'name' => 'OtaEventFlag',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to push notifications about the status of over-the-air (OTA) update batches. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes.'."\n"
+ .'* **false**: no. This is the default value.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ThingHistoryFlag',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to push upstream historical Thing Specification Language (TSL) data. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes.'."\n"
+ .'* **false**: no. This is the default value.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'DeviceTagFlag',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to push messages about device tag changes. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes. This parameter is valid only if you set the **Type** parameter to **AMQP**.'."\n"
+ .'* **false**: no. This is the default value.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'OtaVersionFlag',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to push messages about the version numbers of OTA modules. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes. This parameter is valid only if you set the **Type** parameter to **AMQP**.'."\n"
+ .'* **false**: no. This is the default value.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'OtaJobFlag',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to push notifications about the status of OTA update batches. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes. This parameter is valid only if you set the **Type** parameter to **AMQP**.'."\n"
+ .'* **false**: no. This is the default value.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'SubscribeFlags',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to receive the messages of a specific subscribed product.'."\n"
+ ."\n"
+ .'If you subscribe to JT/T 808 gateway products, you must configure the **SubscribeFlags** parameter. Set the value to the following code.'."\n"
+ ."\n"
+ .'```'."\n"
+ ."\n"
+ .'{'."\n"
+ .' "jt808DeviceDataFlag": true'."\n"
+ .'}'."\n"
+ .'```'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{ "jt808DeviceDataFlag": true }',
+ ],
+ ],
+ [
+ 'name' => 'ConsumerGroupIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The IDs of the consumer groups that are created in the AMQP subscription. This parameter is required if you set the **Type** parameter to **AMQP**.'."\n"
+ ."\n"
+ .'After you call the [CreateConsumerGroup](~~170388~~) operation to create a consumer group, the consumer group ID is returned. You can call the [QueryConsumerGroupList](~~170419~~) operation to query consumer group IDs by consumer group name. You can also log on to the IoT Platform console and choose **Message Forwarding** > **Server-side Subscription** > **Consumer Groups** to view the consumer group ID.'."\n",
+ ],
+ 'required' => false,
+ 'example' => 'nJRaJPn5U1JITGfjBO9l00****',
+ 'maxItems' => 50,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code that is returned if the call fails. For more information about error codes, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '21D327AF-A7DE-4E59-B5D1-ACAC8C024555',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"21D327AF-A7DE-4E59-B5D1-ACAC8C024555\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateSubscribeRelationResponse>\\r\\n <RequestId>C21DA94F-07D7-482F-8A0C-5BB0E3CC1A82</RequestId>\\r\\n <Success>true</Success>\\r\\n</CreateSubscribeRelationResponse>","errorExample":""}]',
+ 'title' => 'CreateSubscribeRelation',
+ 'summary' => 'Creates a Message Service (MNS) or Advanced Message Queuing Protocol (AMQP) server-side subscription.',
+ 'description' => 'Server-side subscriptions are categorized into the following two types:'."\n"
+ ."\n"
+ .'* MNS subscription: pushes subscribed messages to MNS queues. Your server applications listen to MNS queues to receive device messages. For more information, see [Configure MNS server-side subscriptions](~~68948~~). You can call this operation to create an MNS subscription.'."\n"
+ ."\n"
+ .'* AMQP subscription: pushes subscribed messages to your server by using the AMQP channel. For more information, see [Configure AMQP server-side subscriptions](~~142376~~). To configure an AMQP subscription, perform the following steps:'."\n"
+ ."\n"
+ .' 1\\. Call the [CreateConsumerGroup](~~170388~~) operation to create a consumer group and obtain the returned consumer group ID. Messages are pushed to the consumer group. The AMQP client carries the consumer group ID when the client connected to IoT Platform. For more information, see [Connect an AMQP client to IoT Platform](~~142489~~).'."\n"
+ ."\n"
+ .' 2\\. Call the CreateSubscribeRelation operation to create an AMQP subscription.'."\n"
+ ."\n"
+ .' 3\\. Optional. Call the [CreateConsumerGroupSubscribeRelation](~~170354~~) operation to add a consumer group to the AMQP subscription. You can also call the [DeleteConsumerGroupSubscribeRelation](~~170357~~) operation to remove a consumer group from an AMQP subscription.'."\n"
+ ."\n"
+ .' 4\\. Optional. Call the [QueryConsumerGroupStatus](~~170358~~) operation to query the status of a consumer group, including online client information, message consumption rate, number of accumulated messages, and last message consumption time. You can also call the [ResetConsumerGroupPosition](~~170355~~) operation to clear the accumulated messages of the consumer group.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to five times per second per account. '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => '> You must set at least one Flag-related parameter to **true**.**** **Definition of the MnsConfiguration parameter**| Parameter | Description |'."\n"
+ .'| --------- | ----------- |'."\n"
+ .'| queueName | The name of the MNS topic that is used to receive data. You must create a queue in the MNS console and obtain the queue name. For more information, see [Create a queue](/help/en/message-service/latest/get-started-with-queue-based-message-services-create-a-queue). |'."\n"
+ .'| regionName | The code of the region where MNS is deployed. Example: cn-shanghai. |'."\n"
+ .'| role | The information about the RAM role. To authorize IoT Platform to access MNS, you can assign a service role to IoT Platform. The following script shows the syntax of a RAM role:'."\n"
+ ."\n"
+ .'`{"roleArn":"acs:ram::5645***:role/aliyuniotaccessingmnsrole","roleName": "AliyunIOTAccessingMNSRole"} `'."\n"
+ ."\n"
+ .'Replace `5645***` with your Alibaba Cloud account ID. You can log on to the Alibaba Cloud Management Console and view the account ID on the Security Settings page. '."\n"
+ ."\n"
+ .'`AliyunIOTAccessingMNSRole` indicates a service-linked role that is defined in Resource Access Management (RAM). This role is used to authorize IoT Platform to access MNS. You can go to the RAM Roles page of the RAM console to manage RAM roles. |'."\n"
+ .'**Example of the MnsConfiguration parameter**'."\n"
+ ."\n"
+ .'```'."\n"
+ .'{'."\n"
+ .' "queueName": "mns-test-topic1",'."\n"
+ .' "regionName": "cn-shanghai",'."\n"
+ .' "role": {'."\n"
+ .' "roleArn": "acs:ram::5645***:role/aliyuniotaccessingmnsrole",'."\n"
+ .' "roleName": "AliyunIOTAccessingMNSRole"'."\n"
+ .' }'."\n"
+ .'}'."\n"
+ .'```'."\n"
+ .'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](/help/en/iot-platform/latest/836ef4).',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateSubscribeRelation' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DeviceStatusChangeFlag',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to push messages about device status changes. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes.'."\n"
+ .'* **false**: no.'."\n"
+ ."\n"
+ .'Default value: **false**.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ThingHistoryFlag',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to push upstream historical Thing Specification Language (TSL) data. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes.'."\n"
+ .'* **false**: no.'."\n"
+ ."\n"
+ .'Default value: **false**.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product that is specified for the subscription.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1fyXVF****',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the subscription. Valid values:'."\n"
+ ."\n"
+ .'* **MNS**'."\n"
+ .'* **AMQP**'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'AMQP',
+ ],
+ ],
+ [
+ 'name' => 'DeviceDataFlag',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to push upstream device messages. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes.'."\n"
+ .'* **false**: no.'."\n"
+ ."\n"
+ .'Default value: **false**.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'DeviceTopoLifeCycleFlag',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to push messages about topological relationship changes of devices. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes. This parameter is valid only for gateway products.'."\n"
+ .'* **false**: no.'."\n"
+ ."\n"
+ .'Default value: **false**.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'FoundDeviceListFlag',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to push messages if a gateway detects new sub-devices. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes. This parameter is valid only for gateway products.'."\n"
+ .'* **false**: no.'."\n"
+ ."\n"
+ .'Default value: **false**.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'OtaEventFlag',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to push notifications about the status of OTA update batches. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes.'."\n"
+ .'* **false**: no.'."\n"
+ ."\n"
+ .'Default value: **false**.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'DeviceLifeCycleFlag',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to push messages about device lifecycle changes. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes.'."\n"
+ .'* **false**: no.'."\n"
+ ."\n"
+ .'Default value: **false**.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'MnsConfiguration',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The configurations of the MNS queue. This parameter is required if the **Type** parameter is set to **AMQP**.'."\n"
+ ."\n"
+ .'For more information, see the "Definition of the MnsConfiguration parameter" section.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{ "queueName": "mns-test-topic1", "regionName": "cn-shanghai", "role": { "roleArn": "acs:ram::5645***:role/aliyuniotaccessingmnsrole", "roleName": "AliyunIOTAccessingMNSRole" } }',
+ ],
+ ],
+ [
+ 'name' => 'DeviceTagFlag',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to push messages about topological relationship changes of devices. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes. This parameter takes effect only if the **Type** parameter is set to **AMQP**.'."\n"
+ .'* **false**: no.'."\n"
+ ."\n"
+ .'Default value: **false**.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'OtaVersionFlag',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to push messages about OTA module version numbers. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes. This parameter takes effect only if the **Type** parameter is set to **AMQP**.'."\n"
+ .'* **false**: no.'."\n"
+ ."\n"
+ .'Default value: **false**.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'OtaJobFlag',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to push notifications about the statuses of OTA update batches. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes. This parameter takes effect only if the **Type** parameter is set to **AMQP**.'."\n"
+ .'* **false**: no.'."\n"
+ ."\n"
+ .'Default value: **false**.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'SubscribeFlags',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{ "jt808DeviceDataFlag": true }',
+ ],
+ ],
+ [
+ 'name' => 'ConsumerGroupIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The IDs of the consumer groups that are created in the AMQP subscription. This parameter is required if the **Type** parameter is set to **AMQP**.'."\n"
+ ."\n"
+ .'After you call the [CreateConsumerGroup](~~170388~~) operation to create a consumer group, the consumer group ID is returned. You can call the [QueryConsumerGroupList](~~170419~~) operation to query the consumer group ID by group name. You can also go to the IoT Platform console,and choose **Rules** > **Server-side Subscription** > **Consumer Groups** to view the consumer group ID.'."\n",
+ ],
+ 'required' => false,
+ 'example' => 'nJRaJPn5U1JITGfjBO9l00****',
+ 'maxItems' => 50,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '21D327AF-A7DE-4E59-B5D1-ACAC8C024555',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"21D327AF-A7DE-4E59-B5D1-ACAC8C024555\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateSubscribeRelationResponse>\\r\\n <RequestId>C21DA94F-07D7-482F-8A0C-5BB0E3CC1A82</RequestId>\\r\\n <Success>true</Success>\\r\\n</UpdateSubscribeRelationResponse>","errorExample":""}]',
+ 'title' => 'UpdateSubscribeRelation',
+ 'summary' => 'Modifies a Message Service (MNS) or AMQP server-side subscription.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => '> You must set at least one Flag-related parameter to **true**.******Definition of the MnsConfiguration parameter**| Parameter | Description |'."\n"
+ .'| --------- | ----------- |'."\n"
+ .'| queueName | The name of the MNS topic that is used to receive data. You must create a queue in the MNS console and obtain the queue name. For more information, see [Create a queue](/help/en/message-service/latest/get-started-with-queue-based-message-services-create-a-queue). |'."\n"
+ .'| regionName | The code of the region in which MNS is deployed. Example: cn-shanghai. |'."\n"
+ .'| role | The information about the RAM role. To grant IoT Platform the access to MNS, you can assign a RAM role to IoT Platform. The following script shows the syntax of a RAM role: '."\n"
+ ."\n"
+ .'`{"roleArn":"acs:ram::5645***:role/aliyuniotaccessingmnsrole","roleName": "AliyunIOTAccessingMNSRole"} `'."\n"
+ ."\n"
+ .'Replace `6541***` with your Alibaba Cloud ID. You can log on to the Alibaba Cloud Management Console and view the account ID on the Security Settings page. '."\n"
+ ."\n"
+ .'`AliyunIOTAccessingMNSRole` is a service role specified in the RAM console. This role is used to grant IoT Platform access to MNS. You can go to the RAM Roles page of the RAM console to manage RAM roles. |'."\n"
+ .'**Example of the MnsConfiguration parameter**'."\n"
+ ."\n"
+ .'```'."\n"
+ .'{'."\n"
+ .' "queueName": "mns-test-topic1",'."\n"
+ .' "regionName": "cn-shanghai",'."\n"
+ .' "role": {'."\n"
+ .' "roleArn": "acs:ram::5645***:role/aliyuniotaccessingmnsrole",'."\n"
+ .' "roleName": "AliyunIOTAccessingMNSRole"'."\n"
+ .' }'."\n"
+ .'}'."\n"
+ .'```'."\n"
+ .'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](/help/en/iot-platform/latest/836ef4).',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QuerySubscribeRelation' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product that is specified for the subscription.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1fyXVF****',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the subscription. Valid values:'."\n"
+ ."\n"
+ .'* **MNS**'."\n"
+ .'* **AMQP**'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'AMQP',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'description' => 'The type of the subscription. Valid values:'."\n"
+ ."\n"
+ .'* **MNS**'."\n"
+ .'* **AMQP**'."\n",
+ 'type' => 'string',
+ 'example' => 'AMQP',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'DeviceTagFlag' => [
+ 'description' => 'Indicates whether messages about device tag changes were pushed. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes. This parameter takes effect only if the **Type** parameter is set to **AMQP**.'."\n"
+ .'* **false**: no.'."\n"
+ ."\n"
+ .'Default value: **false**.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'OtaVersionFlag' => [
+ 'description' => 'Indicates whether messages about the version numbers of OTA modules were pushed. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes. This parameter takes effect only if the **Type** parameter is set to **AMQP**.'."\n"
+ .'* **false**: no.'."\n"
+ ."\n"
+ .'Default value: **false**.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DeviceDataFlag' => [
+ 'description' => 'Indicates whether upstream device messages were pushed.'."\n"
+ ."\n"
+ .'* **true**: yes.'."\n"
+ .'* **false**: no.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'SubscribeFlags' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{ "jt808DeviceDataFlag": true }',
+ ],
+ 'OtaEventFlag' => [
+ 'description' => 'Indicates whether notifications about the status of OTA update batches were pushed.'."\n"
+ ."\n"
+ .'* **true**: yes.'."\n"
+ .'* **false**: no.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ThingHistoryFlag' => [
+ 'description' => 'Indicates whether upstream historical Thing Specification Language (TSL) data was pushed.'."\n"
+ ."\n"
+ .'* **true**: yes.'."\n"
+ .'* **false**: no.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DeviceStatusChangeFlag' => [
+ 'description' => 'Indicates whether messages about device status changes were pushed.'."\n"
+ ."\n"
+ .'* **true**: yes.'."\n"
+ .'* **false**: no.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The ProductKey of the product that is specified for the subscription.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1fyXVF****',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '21D327AF-A7DE-4E59-B5D1-ACAC8C024555',
+ ],
+ 'MnsConfiguration' => [
+ 'description' => 'The configurations of the MNS queue. This parameter is returned if the **Type** parameter is set to **MNS**.'."\n"
+ ."\n"
+ .'For more information, see the "Definition of the MnsConfiguration parameter" section.'."\n",
+ 'type' => 'string',
+ 'example' => '{ "queueName": "mns-test-topic1", "regionName": "cn-shanghai", "role": { "roleArn": "acs:ram::5645***:role/aliyuniotaccessingmnsrole", "roleName": "AliyunIOTAccessingMNSRole" } }',
+ ],
+ 'DeviceTopoLifeCycleFlag' => [
+ 'description' => 'Indicates whether messages about topological relationship changes of devices were pushed.'."\n"
+ ."\n"
+ .'* **true**: yes. The value **true** is returned only when you query a gateway product.'."\n"
+ .'* **false**: no.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DeviceLifeCycleFlag' => [
+ 'description' => 'Indicates whether messages about device lifecycle changes were pushed.'."\n"
+ ."\n"
+ .'* **true**: yes.'."\n"
+ .'* **false**: no.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'FoundDeviceListFlag' => [
+ 'description' => 'Indicates whether messages were pushed if a gateway detected new sub-devices.'."\n"
+ ."\n"
+ .'* **true**: yes. The value **true** is returned only when you query a gateway product.'."\n"
+ .'* **false**: no.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'OtaJobFlag' => [
+ 'description' => 'Indicates whether notifications about OTA batch updates were pushed. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes. This parameter takes effect only if the **Type** parameter is set to **AMQP**.'."\n"
+ .'* **false**: no.'."\n"
+ ."\n"
+ .'Default value: **false**.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ConsumerGroupIds' => [
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '[DEFAULT_GROUP,br45A6A1amoRFGN7x1zP00****]',
+ ],
+ 'description' => 'The IDs of the consumer groups that are created in the AMQP subscription. This parameter is returned if the **Type** parameter is set to **AMQP**.'."\n",
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Type\\": \\"AMQP\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"DeviceTagFlag\\": true,\\n \\"OtaVersionFlag\\": true,\\n \\"DeviceDataFlag\\": true,\\n \\"Success\\": true,\\n \\"SubscribeFlags\\": \\"{ \\\\\\"jt808DeviceDataFlag\\\\\\": true }\\",\\n \\"OtaEventFlag\\": true,\\n \\"ThingHistoryFlag\\": true,\\n \\"DeviceStatusChangeFlag\\": true,\\n \\"ProductKey\\": \\"a1fyXVF****\\",\\n \\"RequestId\\": \\"21D327AF-A7DE-4E59-B5D1-ACAC8C024555\\",\\n \\"MnsConfiguration\\": \\"{ \\\\\\"queueName\\\\\\": \\\\\\"mns-test-topic1\\\\\\", \\\\\\"regionName\\\\\\": \\\\\\"cn-shanghai\\\\\\", \\\\\\"role\\\\\\": { \\\\\\"roleArn\\\\\\": \\\\\\"acs:ram::5645***:role/aliyuniotaccessingmnsrole\\\\\\", \\\\\\"roleName\\\\\\": \\\\\\"AliyunIOTAccessingMNSRole\\\\\\" } }\\",\\n \\"DeviceTopoLifeCycleFlag\\": true,\\n \\"DeviceLifeCycleFlag\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"FoundDeviceListFlag\\": true,\\n \\"OtaJobFlag\\": true,\\n \\"ConsumerGroupIds\\": [\\n \\"[DEFAULT_GROUP,br45A6A1amoRFGN7x1zP00****]\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<QuerySubscribeRelationResponse>\\n<DeviceLifeCycleFlag>false</DeviceLifeCycleFlag>\\n<RequestId>73B9DF43-7780-47DE-8BED-077729D28BD2</RequestId>\\n<DeviceDataFlag>true</DeviceDataFlag>\\n<DeviceTopoLifeCycleFlag>false</DeviceTopoLifeCycleFlag>\\n<DeviceStatusChangeFlag>false</DeviceStatusChangeFlag>\\n<ConsumerGroupIds>Xs95KifeaSKbi8tKkcoD00****</ConsumerGroupIds>\\n<Success>true</Success>\\n<ThingHistoryFlag>false</ThingHistoryFlag>\\n<Type>AMQP</Type>\\n<FoundDeviceListFlag>false</FoundDeviceListFlag>\\n<OtaEventFlag>false</OtaEventFlag>\\n<SubscribeFlags>{ \\"jt808DeviceDataFlag\\": true }</SubscribeFlags>\\n<ProductKey>a1Zkii7****</ProductKey>\\n</QuerySubscribeRelationResponse>","errorExample":""}]',
+ 'title' => 'QuerySubscribeRelation',
+ 'summary' => 'Queries a Message Service (MNS) or AMQP server-side subscription.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteSubscribeRelation' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product that is specified for the subscription.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1fyXVF****',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the subscription. Valid values:'."\n"
+ ."\n"
+ .'* **MNS**'."\n"
+ .'* **AMQP**'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'AMQP',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteSubscribeRelationResponse>\\r\\n <RequestId>73B9DF43-7780-47DE-8BED-077729D28BD2</RequestId>\\r\\n <Success>true</Success>\\r\\n</DeleteSubscribeRelationResponse>","errorExample":""}]',
+ 'title' => 'DeleteSubscribeRelation',
+ 'summary' => 'Deletes a Message Service (MNS) or AMQP server-side subscription.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateConsumerGroup' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'GroupName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the consumer group. The name must be 4 to 30 characters in length and can contain letters, digits, and underscores (\\_).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '73B9DF43-7780-47DE-8BED-077729D28BD2',
+ ],
+ 'GroupId' => [
+ 'description' => 'The ID of the consumer group.'."\n",
+ 'type' => 'string',
+ 'example' => 'nJRaJPn5U1JITGf******',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"73B9DF43-7780-47DE-8BED-077729D28BD2\\",\\n \\"GroupId\\": \\"nJRaJPn5U1JITGf******\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateConsumerGroupResponse>\\r\\n <GroupId>nJRaJPn5U1JITGf******</GroupId>\\r\\n <RequestId>73B9DF43-7780-47DE-8BED-077729D28BD2</RequestId>\\r\\n <Success>true</Success>\\r\\n</CreateConsumerGroupResponse>","errorExample":""}]',
+ 'title' => 'CreateConsumerGroup',
+ 'summary' => 'Creates a consumer group that is required for an AMQP server-side subscription.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateConsumerGroup' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'NewGroupName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new name of the consumer group. The name must be 4 to 30 characters in length and can contain letters, digits, and underscores (\\_).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The consumer group ID. After you call the [CreateConsumerGroup](~~170388~~) operation to create a consumer group, the consumer group ID is returned. You can call the [QueryConsumerGroupList](~~170419~~) operation to query the consumer group ID by group name. You can also go to the IoT Platform console,and choose **Rules** > **Server-side Subscription** > **Consumer Groups** to view the consumer group ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'nJRaJPn5U1JITGf******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '73B9DF43-7780-47DE-8BED-077729D28BD2',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"73B9DF43-7780-47DE-8BED-077729D28BD2\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateConsumerGroupResponse>\\r\\n <RequestId>73B9DF43-7780-47DE-8BED-077729D28BD2</RequestId>\\r\\n <Success>true</Success>\\r\\n</UpdateConsumerGroupResponse>","errorExample":""}]',
+ 'title' => 'UpdateConsumerGroup',
+ 'summary' => 'Modifies a consumer group when you configure an AMQP server-side subscription.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* You cannot modify the default consumer group provided by IoT Platform.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryConsumerGroupByGroupId' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the consumer group. After you call the [CreateConsumerGroup](~~170388~~) operation to create a consumer group, the consumer group ID is returned. You can call the [QueryConsumerGroupList](~~170419~~) operation to query the consumer group ID by group name. You can also go to the IoT Platform console,and choose **Rules** > **Server-side Subscription** > **Consumer Groups** to view the consumer group ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'nJRaJPn5U1JITGf****** ',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '73B9DF43-7780-47DE-8BED-077729D28BD2',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The details about the consumer group. This parameter is returned if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'GroupId' => [
+ 'description' => 'The ID of the consumer group.'."\n",
+ 'type' => 'string',
+ 'example' => 'nJRaJPn5U1JITGf****** ',
+ ],
+ 'GroupName' => [
+ 'description' => 'The name of the consumer group.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the consumer group was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ss.SSSZ format. The time is displayed in UTC and accurate to milliseconds.'."\n",
+ 'type' => 'string',
+ 'example' => '2020-05-20T00:05:20.000Z',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"73B9DF43-7780-47DE-8BED-077729D28BD2\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"GroupId\\": \\"nJRaJPn5U1JITGf******\\\\t\\",\\n \\"GroupName\\": \\"消费组1\\",\\n \\"CreateTime\\": \\"2020-05-20T00:05:20.000Z\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryConsumerGroupByGroupIdResponse>\\r\\n <Data>\\r\\n <GroupId>nJRaJPn5U1JITGf******</GroupId>\\r\\n <GroupName>消费组1</GroupName>\\r\\n <CreateTime>2019-11-12T11:19:13.000Z</CreateTime>\\r\\n </Data>\\r\\n <RequestId>73B9DF43-7780-47DE-8BED-077729D28BD2</RequestId>\\r\\n <Success>true</Success>\\r\\n</QueryConsumerGroupByGroupIdResponse>","errorExample":""}]',
+ 'title' => 'QueryConsumerGroupByGroupId',
+ 'summary' => 'Queries the detailed information about a consumer group based on the consumer group ID when you use an AMQP server-side subscription.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryConsumerGroupList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: 1 to 1000.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '2',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Pages start from page 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'Fuzzy',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform a fuzzy search. Valid values:'."\n"
+ ."\n"
+ .'* **true**: performs a fuzzy search. You must specify the **GroupName** parameter.'."\n"
+ .'* **false**: queries all consumer groups of the current account.'."\n"
+ ."\n"
+ .'Default value: **false**.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'GroupName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the consumer group to be queried. This parameter is required if the **Fuzzy** parameter is set to **true**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'SubBizCode',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CurrentPage' => [
+ 'description' => 'The number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '73B9DF43-7780-47DE-8BED-077729D28BD2',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'PageCount' => [
+ 'description' => 'The total number of returned pages.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '4',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of entries.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '8',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'ConsumerGroupDTO' => [
+ 'description' => 'The details about the consumer group. This parameter is returned if the call is successful. For more information, see ConsumerGroupDTO.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'GroupId' => [
+ 'description' => 'The ID of the consumer group.'."\n",
+ 'type' => 'string',
+ 'example' => 'nJRaJPn5U1JITGf****** ',
+ ],
+ 'GroupName' => [
+ 'description' => 'The name of the consumer group.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the consumer group was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ss.SSSZ format. The time is displayed in UTC and accurate to milliseconds.'."\n",
+ 'type' => 'string',
+ 'example' => '2020-05-20T00:05:20.000Z',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"73B9DF43-7780-47DE-8BED-077729D28BD2\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 2,\\n \\"PageCount\\": 4,\\n \\"Total\\": 8,\\n \\"Data\\": {\\n \\"ConsumerGroupDTO\\": [\\n {\\n \\"GroupId\\": \\"nJRaJPn5U1JITGf******\\\\t\\",\\n \\"GroupName\\": \\"XX消费组1\\",\\n \\"CreateTime\\": \\"2020-05-20T00:05:20.000Z\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryConsumerGroupListResponse>\\r\\n <PageSize>2</PageSize>\\r\\n <PageCount>4</PageCount>\\r\\n <CurrentPage>1</CurrentPage>\\r\\n <Total>8</Total>\\r\\n <Data>\\r\\n <ConsumerGroupDTO>\\r\\n <GroupId>nJRaJPn5U1JITGf******</GroupId>\\r\\n <GroupName>A类消费组1</GroupName>\\r\\n <CreateTime>2020-05-29T03:37:56.000Z</CreateTime>\\r\\n </ConsumerGroupDTO>\\r\\n <ConsumerGroupDTO>\\r\\n <GroupId>qJRaJPndeefwgef******</GroupId>\\r\\n <GroupName>A类消费组2</GroupName>\\r\\n <CreateTime>2020-01-17T07:27:01.000Z</CreateTime>\\r\\n </ConsumerGroupDTO>\\r\\n </Data>\\r\\n <RequestId>73B9DF43-7780-47DE-8BED-077729D28BD2</RequestId>\\r\\n <Success>true</Success>\\r\\n</QueryConsumerGroupListResponse>","errorExample":""}]',
+ 'title' => 'QueryConsumerGroupList',
+ 'summary' => 'Queries all consumer groups of the current account when you use AMQP server-side subscriptions. You can also call this operation to perform a fuzzy search by consumer group name.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryConsumerGroupStatus' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the consumer group. After you call the [CreateConsumerGroup](~~170388~~) operation to create a consumer group, the consumer group ID is returned. You can call the [QueryConsumerGroupList](~~170419~~) operation to query the consumer group ID by group name. You can also go to the IoT Platform console,and choose **Rules** > **Server-side Subscription** > **Consumer Groups** to view the consumer group ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'nJRaJPn5U1JITGf******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ConsumerSpeed' => [
+ 'description' => 'The message consumption rate of the consumer group. Unit: messages/minute.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '14',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'AccumulatedConsumeCountPerMinute' => [
+ 'description' => 'The message consumption rate. Unit: messages/minute.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'LastConsumerTime' => [
+ 'description' => 'The time when the last message was consumed. The time is in the yyyy-MM-dd\'T\'HH:mm:ss.SSSZ format. The time is displayed in UTC and accurate to milliseconds.'."\n",
+ 'type' => 'string',
+ 'example' => '2020-05-29T03:37:56.000Z',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'RealTimeConsumeCountPerMinute' => [
+ 'description' => 'The consumption rate of real-time messages in the consumer group. Unit: messages/minute.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '14',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](/help/en/iot-platform/latest/bce100).',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'AccumulationCount' => [
+ 'description' => 'The number of accumulated messages.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '13',
+ ],
+ 'ClientConnectionStatusList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'ConsumerGroupClientConnectionInfo' => [
+ 'description' => 'The details about the client. For more information, see **ConsumerGroupClientConnectionInfo**.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'OnlineTime' => [
+ 'description' => 'The last time when the client was online. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1591240546649',
+ ],
+ 'AccumulatedConsumeCountPerMinute' => [
+ 'description' => 'The consumption rate of accumulated messages on a single client of the consumer group. Unit: messages/minute.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'RealTimeConsumeCountPerMinute' => [
+ 'description' => 'The consumption rate of real-time messages on a single client of the consumer group. Unit: messages/minute.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ 'ClientIpPort' => [
+ 'description' => 'The IP address and port of the client.'."\n",
+ 'type' => 'string',
+ 'example' => '192.168.1.2:36918 ',
+ ],
+ 'ClientId' => [
+ 'description' => 'The ID of the client.'."\n",
+ 'type' => 'string',
+ 'example' => '868575026******',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"ConsumerSpeed\\": 14,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"AccumulatedConsumeCountPerMinute\\": 10,\\n \\"LastConsumerTime\\": \\"2020-05-29T03:37:56.000Z\\",\\n \\"Success\\": true,\\n \\"RealTimeConsumeCountPerMinute\\": 14,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"AccumulationCount\\": 13,\\n \\"ClientConnectionStatusList\\": {\\n \\"ConsumerGroupClientConnectionInfo\\": [\\n {\\n \\"OnlineTime\\": 1591240546649,\\n \\"AccumulatedConsumeCountPerMinute\\": 10,\\n \\"RealTimeConsumeCountPerMinute\\": 5,\\n \\"ClientIpPort\\": \\"192.168.1.2:36918\\\\t\\",\\n \\"ClientId\\": \\"868575026******\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryConsumerGroupStatusResponse>\\n<ClientConnectionStatusList>\\n <ConsumerGroupClientConnectionInfo>\\n <ClientId>12345-1</ClientId>\\n <AccumulatedConsumeCountPerMinute>8</AccumulatedConsumeCountPerMinute>\\n <OnlineTime>1627624830193</OnlineTime>\\n <ClientIpPort>192.168.1.2:55545</ClientIpPort>\\n <RealTimeConsumeCountPerMinute>16</RealTimeConsumeCountPerMinute>\\n </ConsumerGroupClientConnectionInfo>\\n <ConsumerGroupClientConnectionInfo>\\n <ClientId>12345-0</ClientId>\\n <AccumulatedConsumeCountPerMinute>10</AccumulatedConsumeCountPerMinute>\\n <OnlineTime>1627624829763</OnlineTime>\\n <ClientIpPort>192.168.1.2:55526</ClientIpPort>\\n <RealTimeConsumeCountPerMinute>14</RealTimeConsumeCountPerMinute>\\n </ConsumerGroupClientConnectionInfo>\\n</ClientConnectionStatusList>\\n<RequestId>4EC250E4-70CE-546E-9D4A-31D06E04EAD8</RequestId>\\n<AccumulatedConsumeCountPerMinute>10</AccumulatedConsumeCountPerMinute>\\n<Success>true</Success>\\n<RealTimeConsumeCountPerMinute>14</RealTimeConsumeCountPerMinute>\\n<AccumulationCount>26</AccumulationCount>\\n<ConsumerSpeed>14</ConsumerSpeed>\\n</QueryConsumerGroupStatusResponse>","errorExample":""}]',
+ 'title' => 'QueryConsumerGroupStatus',
+ 'summary' => 'Queries the status of a consumer group when you use an AMQP server-side subscription. The status information includes online client information, message consumption rate, number of accumulated messages, and last message consumption time.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ResetConsumerGroupPosition' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the consumer group. After you call the [CreateConsumerGroup](~~170388~~) operation to create a consumer group, the consumer group ID is returned. You can call the [QueryConsumerGroupList](~~170419~~) operation to query the consumer group ID by group name. You can also go to the IoT Platform console,and choose **Rules** > **Server-side Subscription** > **Consumer Groups** to view the consumer group ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'nJRaJPn5U1JITGf******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ResetConsumerGroupPositionResponse>\\r\\n <RequestId>73B9DF43-7780-47DE-8BED-077729D28BD2</RequestId>\\r\\n <Success>true</Success>\\r\\n</ResetConsumerGroupPositionResponse>","errorExample":""}]',
+ 'title' => 'ResetConsumerGroupPosition',
+ 'summary' => 'Clears the accumulated messages of a consumer group when you use an AMQP server-side subscription.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteConsumerGroup' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the consumer group. After you call the [CreateConsumerGroup](~~170388~~) operation to create a consumer group, the consumer group ID is returned. You can call the [QueryConsumerGroupList](~~170419~~) operation to query the consumer group ID by group name. You can also go to the IoT Platform console,and choose **Rules** > **Server-side Subscription** > **Consumer Groups** to view the consumer group ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'nJRaJPn5U1JITGf******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '73B9DF43-7780-47DE-8BED-077729D28BD2',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"73B9DF43-7780-47DE-8BED-077729D28BD2\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteConsumerGroupResponse>\\r\\n <RequestId>73B9DF43-7780-47DE-8BED-077729D28BD2</RequestId>\\r\\n <Success>true</Success>\\r\\n</DeleteConsumerGroupResponse>","errorExample":""}]',
+ 'title' => 'DeleteConsumerGroup',
+ 'summary' => 'Deletes a consumer group when you configure an AMQP server-side subscription.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* You cannot delete the default consumer group provided by IoT Platform.'."\n"
+ ."\n"
+ .'* If the consumer group is associated with an AMQP subscription, you must disassociate the consumer group from the subscription. If the subscription has multiple consumer groups, you can call the [DeleteConsumerGroupSubscribeRelation](~~170357~~) operation to remove the consumer group from the subscription. If the subscription has only one consumer group, you can call the [UpdateSubscribeRelation](~~170351~~) operation to change the consumer group or call the [DeleteSubscribeRelation](~~170353~~) operation to delete the subscription.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateConsumerGroupSubscribeRelation' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ConsumerGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the consumer group. After you call the [CreateConsumerGroup](~~170388~~) operation to create a consumer group, the consumer group ID is returned. You can call the [QueryConsumerGroupList](~~170419~~) operation to query the consumer group ID by group name. You can also go to the IoT Platform console,and choose **Rules** > **Server-side Subscription** > **Consumer Groups** to view the consumer group ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'nJRaJPn5U1JITGfjBO9l00****',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product that is specified for the subscription.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1fyXVF****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateConsumerGroupSubscribeRelationResponse>\\r\\n <RequestId>73B9DF43-7780-47DE-8BED-077729D28BD2</RequestId>\\r\\n <Success>true</Success>\\r\\n</CreateConsumerGroupSubscribeRelationResponse>","errorExample":""}]',
+ 'title' => 'CreateConsumerGroupSubscribeRelation',
+ 'summary' => 'Adds a consumer group to an AMQP subscription.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteConsumerGroupSubscribeRelation' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ConsumerGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the consumer group. You can call the [QuerySubscribeRelation](~~170352~~) operation to query the consumer group ID in an AMQP subscription. You can also go to the IoT Platform console,and choose **Rules** > **Server-side Subscription** to view the consumer group ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'nJRaJPn5U1JITGfjBO9l00****',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product that is specified for the subscription.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1fyXVF****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteConsumerGroupSubscribeRelationResponse>\\r\\n <RequestId>73B9DF43-7780-47DE-8BED-077729D28BD2</RequestId>\\r\\n <Success>true</Success>\\r\\n</DeleteConsumerGroupSubscribeRelationResponse>","errorExample":""}]',
+ 'title' => 'DeleteConsumerGroupSubscribeRelation',
+ 'summary' => 'Removes a consumer group from an AMQP subscription.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* If the AMQP subscription has only one consumer group, you cannot call this operation to remove the consumer group.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetDeviceShadow' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.****'."\n"
+ ."\n"
+ .'>* If the instance has an ID, you must specify the **IotInstanceId** parameter. If you do not specify this parameter, the call fails.'."\n"
+ .'>* If the instance does not have an **ID** or the **Overview** page is not displayed, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1T27vz****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'device1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code that is returned if the call fails. For more information about error codes, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'A56E345A-0978-4993-ACBA-3EF444ED187F',
+ ],
+ 'ShadowMessage' => [
+ 'description' => 'The shadow information that is returned if the call is successful.'."\n"
+ ."\n"
+ .'> The structure of the shadow information varies based on the status of the device. For more information, see the [Overview](~~53930~~) topic of Device shadows.'."\n",
+ 'type' => 'string',
+ 'example' => '{"method":"update","state":{"desired":{"color":"green"}},"version":1}',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"A56E345A-0978-4993-ACBA-3EF444ED187F\\",\\n \\"ShadowMessage\\": \\"{\\\\\\"method\\\\\\":\\\\\\"update\\\\\\",\\\\\\"state\\\\\\":{\\\\\\"desired\\\\\\":{\\\\\\"color\\\\\\":\\\\\\"green\\\\\\"}},\\\\\\"version\\\\\\":1}\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<GetDeviceShadowResponse>\\n<RequestId>A56E345A-0978-4993-ACBA-3EF444ED187F</RequestId>\\n<ShadowMessage>{\\"method\\":\\"update\\",\\"state\\":{\\"desired\\":{\\"color\\":\\"green\\"}},\\"version\\":1}</ShadowMessage>\\n<Success>true</Success>\\n</GetDeviceShadowResponse>","errorExample":""}]',
+ 'title' => 'GetDeviceShadow',
+ 'summary' => 'Queries the shadow information of a specific device.',
+ 'description' => '## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 500 times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateDeviceShadow' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the elastic container instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.****'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n"
+ .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1T27vz****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the device whose shadow information you want to modify.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'device1',
+ ],
+ ],
+ [
+ 'name' => 'ShadowMessage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The information that you want to specify for the device shadow.'."\n"
+ ."\n"
+ .'The information includes the following parameters:'."\n"
+ ."\n"
+ .'* **method**: the type of the operation. Data type: string. Set the value to **update**.'."\n"
+ ."\n"
+ .'* **state**: the status of the device shadow. Data type: string. The **desired** parameter specifies the expected shadow status.'."\n"
+ ."\n"
+ .'* **version**: the version of the device shadow. Data type: long.'."\n"
+ ."\n"
+ .' * If versioning is not required, set this parameter to 0.'."\n"
+ .' * If versioning is required, specify a version that is later than the current version.'."\n"
+ ."\n"
+ .'**'."\n"
+ ."\n"
+ .'**Important** If versioning is required, do not query the version of a device shadow in the IoT Platform console. If a large number of update and query operations are concurrently performed, multiple update operations may return the same version. In this case, the most recent update operation may first be completed. As a result, the current shadow information is not the latest shadow information. We recommend that you maintain the versions of device shadows on the on-premises device. When you call this operation, use an on-premises application to obtain the latest version of the device shadow.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '{"method":"update","state":{"desired":{"color":"green"}},"version":2}',
+ ],
+ ],
+ [
+ 'name' => 'DeltaUpdate',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform an incremental update on the **desired** parameter. Valid values:'."\n"
+ ."\n"
+ .'* **true**: performs an incremental update.'."\n"
+ .'* **false**: performs a full update. This is the default value.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '6754C0E7-A35D-4CC8-A684-45EB1F0008D9',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"6754C0E7-A35D-4CC8-A684-45EB1F0008D9\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\'1.0\' encoding=\'UTF-8\'?>\\r\\n <UpdateDeviceShadowResponse>\\r\\n <RequestId>BB71E443-4447-4024-A000-EDE09922891E</RequestId>\\r\\n <Success>true</Success>\\r\\n </UpdateDeviceShadowResponse>","errorExample":""}]',
+ 'title' => 'UpdateDeviceShadow',
+ 'summary' => 'Modifies a device shadow.',
+ 'description' => '## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 500 times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GenerateOTAUploadURL' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'>* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'FileSuffix',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The file name extension of the update package file. Valid values: bin, dav, apk, tar, gz, tar.gz, zip, and gzip.'."\n"
+ ."\n"
+ .'Default value: bin.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'apk',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '74C2BB8D-1D6F-41F5-AE68-6B2310883F63',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The information returned if the call is successful. For more information, see the following parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The full path of the file in OSS. The file is uploaded by calling the OSS PostObject operation.'."\n",
+ 'type' => 'string',
+ 'example' => 'ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.bin',
+ ],
+ 'OSSAccessKeyId' => [
+ 'description' => 'The AccessKey ID of the bucket owner.'."\n"
+ ."\n"
+ .'This OSS bucket stores the update package file.'."\n",
+ 'type' => 'string',
+ 'example' => 'cS8uRRy54Rsz****',
+ ],
+ 'Signature' => [
+ 'description' => 'The signature that is calculated based on **AccessKeySecret** and **Policy**. When you call an OSS operation, OSS uses the signature information to verify the POST request.'."\n",
+ 'type' => 'string',
+ 'example' => 'v6lViO4FBvfquajQjg20K5hK****',
+ ],
+ 'Host' => [
+ 'description' => 'The endpoint of OSS.'."\n",
+ 'type' => 'string',
+ 'example' => 'https://iotx-ota.oss-cn-shanghai.aliyuncs.com',
+ ],
+ 'Policy' => [
+ 'description' => 'The parameter that is used by OSS to verify form fields for the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'eyJleHBpcmF****',
+ ],
+ 'ObjectStorage' => [
+ 'description' => 'The type of object storage. Default value: OSS.'."\n",
+ 'type' => 'string',
+ 'example' => 'OSS',
+ ],
+ 'FirmwareUrl' => [
+ 'description' => 'The URL of the update package file that is stored in OSS.'."\n"
+ ."\n"
+ .'After the update package file is uploaded, this parameter is used to call the [CreateOTAFirmware](~~147311~~) operation to create an update package.'."\n",
+ 'type' => 'string',
+ 'example' => 'https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.bin',
+ ],
+ 'UtcCreate' => [
+ 'description' => 'The time when the URL of the uploaded update package file was generated. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-11-04T06:21:54.607Z',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"74C2BB8D-1D6F-41F5-AE68-6B2310883F63\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Key\\": \\"ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.bin\\",\\n \\"OSSAccessKeyId\\": \\"cS8uRRy54Rsz****\\",\\n \\"Signature\\": \\"v6lViO4FBvfquajQjg20K5hK****\\",\\n \\"Host\\": \\"https://iotx-ota.oss-cn-shanghai.aliyuncs.com\\",\\n \\"Policy\\": \\"eyJleHBpcmF****\\",\\n \\"ObjectStorage\\": \\"OSS\\",\\n \\"FirmwareUrl\\": \\"https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.bin\\",\\n \\"UtcCreate\\": \\"2019-11-04T06:21:54.607Z\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>\\n<GenerateOTAUploadURLResponse>\\n <Data>\\n <Key>ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.bin</Key>\\n <Host>https://iotx-ota.oss-cn-shanghai.aliyuncs.com</Host>\\n <Policy>eyJleHBpcmF****</Policy>\\n <OSSAccessKeyId>cS8uRRy54Rsz****</OSSAccessKeyId>\\n <ObjectStorage>OSS</ObjectStorage>\\n <UtcCreate>2019-11-04T06:21:54.607Z</UtcCreate>\\n <Signature>PKmRTy40QxqIUUWy325SCT/****</Signature>\\n <FirmwareUrl>https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.bin</FirmwareUrl>\\n </Data>\\n <RequestId>B6E77674-09C4-4647-BF85-59CB72A72E4B</RequestId>\\n <Success>true</Success>\\n</GenerateOTAUploadURLResponse>","errorExample":""}]',
+ 'title' => 'GenerateOTAUploadURL',
+ 'summary' => 'Generates the URL and other information that are required to upload an update package file to Object Storage Service (OSS).',
+ 'description' => 'This operation can be used together with other operations to create an update package. Procedure:'."\n"
+ ."\n"
+ .'1\\. Call this API operation to generate the details of an update package file that you want to upload to OSS.'."\n"
+ ."\n"
+ .'The following section describes the response parameters of this API operation:'."\n"
+ ."\n"
+ .'* The following request parameters of the OSS [PostObject](~~31988~~) operation that is used to upload the update package file: **Key**, **OSSAccessKeyId**, **Signature**, and **Policy**.'."\n"
+ .'* The following request parameter of the [CreateOTAFirmware](~~147311~~) operation that is used to create the update package: **FirmwareUrl**.'."\n"
+ ."\n"
+ .'2\\. Use an [OSS SDK](~~52834~~) to call the [PostObject](~~31988~~) operation to upload the update package file. For more information about sample code, see the "Usage of response parameters" section.'."\n"
+ ."\n"
+ .'> The parameter information that is returned by this operation is valid for 1 minute. You must upload the update package file within 1 minute. The maximum size of the uploaded update package file is 1,000 MB.'."\n"
+ ."\n"
+ .'3\\. After the update package file is uploaded, call the [CreateOTAFirmware](~~147311~~) operation to create an update package within 60 minutes.'."\n"
+ ."\n"
+ .'If update package files are uploaded but you do not call the CreateOTAFirmware operation to create update packages for the files, the uploaded files are automatically deleted by the system on a regular basis.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 10 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'extraInfo' => ' ',
+ ],
+ 'GenerateDeviceNameListURL' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '74C2BB8D-1D6F-41F5-AE68-6B2310883F63',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The information returned if the call is successful. For more information, see the following parameters:'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The full path of the file in OSS. You can call the OSS PostObject operation to upload the file to OSS.'."\n",
+ 'type' => 'string',
+ 'example' => 'ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.csv',
+ ],
+ 'Signature' => [
+ 'description' => 'The signature that is calculated based on **AccessKeySecret** and **Policy**. When you call an OSS operation, OSS uses the signature information to verify the POST request.'."\n",
+ 'type' => 'string',
+ 'example' => 'v6lViO4FBvfquajQjg20K5hK****',
+ ],
+ 'Host' => [
+ 'description' => 'The endpoint of OSS.'."\n",
+ 'type' => 'string',
+ 'example' => 'https://iotx-ota.oss-cn-shanghai.aliyuncs.com',
+ ],
+ 'FileUrl' => [
+ 'description' => 'The URL of the file that is stored in OSS.'."\n"
+ ."\n"
+ .'After the device list file is uploaded, this parameter is used to call the [CreateOTAStaticUpgradeJob](~~147496~~) operation to create a static update batch.'."\n",
+ 'type' => 'string',
+ 'example' => 'https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.csv',
+ ],
+ 'Policy' => [
+ 'description' => 'The parameter that is used by OSS to verify form fields for the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'eyJleHBpcmF****',
+ ],
+ 'ObjectStorage' => [
+ 'description' => 'The type of the object storage. Default value: OSS.'."\n",
+ 'type' => 'string',
+ 'example' => 'OSS',
+ ],
+ 'UtcCreate' => [
+ 'description' => 'The time when the URL of the file that you want to upload was generated. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-11-04T06:21:54.607Z',
+ ],
+ 'AccessKeyId' => [
+ 'description' => 'The AccessKey ID of the bucket owner.'."\n"
+ ."\n"
+ .'The OSS bucket stores the file.'."\n",
+ 'type' => 'string',
+ 'example' => 'cS8uRRy54Rsz****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"74C2BB8D-1D6F-41F5-AE68-6B2310883F63\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Key\\": \\"ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.csv\\",\\n \\"Signature\\": \\"v6lViO4FBvfquajQjg20K5hK****\\",\\n \\"Host\\": \\"https://iotx-ota.oss-cn-shanghai.aliyuncs.com\\",\\n \\"FileUrl\\": \\"https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.csv\\",\\n \\"Policy\\": \\"eyJleHBpcmF****\\",\\n \\"ObjectStorage\\": \\"OSS\\",\\n \\"UtcCreate\\": \\"2019-11-04T06:21:54.607Z\\",\\n \\"AccessKeyId\\": \\"cS8uRRy54Rsz****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GenerateDeviceNameListURLResponse>\\n <Data>\\n <Policy>eyJleHBpcmF****</Policy>\\n <FileUrl>https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.csv</FileUrl>\\n <UtcCreate>2019-11-04T06:21:54.607Z</UtcCreate>\\n <AccessKeyId>cS8uRRy54Rsz****</AccessKeyId>\\n <Signature>v6lViO4FBvfquajQjg20K5hK****</Signature>\\n <ObjectStorage>OSS</ObjectStorage>\\n <Host>https://iotx-ota.oss-cn-shanghai.aliyuncs.com</Host>\\n <Key>ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.csv</Key>\\n </Data>\\n <RequestId>74C2BB8D-1D6F-41F5-AE68-6B2310883F63</RequestId>\\n <Success>true</Success>\\n</GenerateDeviceNameListURLResponse>","errorExample":""}]',
+ 'title' => 'GenerateDeviceNameListURL',
+ 'summary' => 'Generates the URL and details of a device list file that you want to upload to Object Storage Service (OSS). When you create a static update batch, you can specify devices that you want to update in a device list file.',
+ 'description' => 'This operation can be used with other operations to upload a device list file. Procedure:'."\n"
+ ."\n"
+ .'1. Call this operation to generate the information of a device list file that you want to upload to OSS. '."\n"
+ ."\n"
+ .'The response parameters of this API operation include:'."\n"
+ ."\n"
+ .'The following request parameters of the OSS [PostObject](/help/en/object-storage-service/latest/postobject) operation that is used to upload the device list file: **Key**, **AccessKeyId**, **Signature**, and **Policy**. '."\n"
+ ."\n"
+ .'2. Use an [OSS SDK](/help/en/object-storage-service/latest/sdk-code-samples-overview) to call the [PostObject](/help/en/object-storage-service/latest/postobject) operation to upload the device list file within 1 minute after a response is returned. For more information about sample code, see the "Usage of response parameters" section in this topic. '."\n"
+ ."\n"
+ .'> The parameter information that is returned by this operation is valid for 1 minute. You must upload the device list file within 1 minute. 3. After you upload the device list file, call the [CreateOTAStaticUpgradeJob](/help/en/iot-platform/latest/e1qtmo) operation of IoT Platform to create a static update batch within 60 minutes. '."\n"
+ ."\n"
+ .'If you upload device list files but you do not call the CreateOTAStaticUpgradeJob operation to create a static update batch, the system automatically deletes the uploaded files. The system deletes files on a regular basis. '."\n"
+ ."\n\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 10 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account. '."\n"
+ ."\n\n"
+ .'## Requirements'."\n"
+ ."\n"
+ .'* A device list file contains the names of devices. Separate multiple device names with line feeds. Each line contains only one device name. A device list file must be in the CSV format. The maximum size of a device list file is 5 MB.'."\n"
+ .'* Each device list file can contain up to 10,000 names for the devices in a product that is related to an update package. If the number of device names in a device list file exceeds the limit, an error occurs when you use the file to create a static update batch.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'extraInfo' => ' ',
+ ],
+ 'CreateOTAFirmware' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'FirmwareName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the OTA update package. The name must be unique within an Alibaba Cloud account. The name cannot be modified after the OTA update package is created. The name must be 1 to 40 characters in length, and can contain letters, digits, hyphens (-), underscores (\\_), and parentheses (). The name must start with a letter or a digit.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Firmware2',
+ ],
+ ],
+ [
+ 'name' => 'DestVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The version number of the OTA update package. The value can contain letters, digits, periods (.), hyphens (-), and underscores (\\_). The version number must be 1 to 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '2.0.0',
+ ],
+ ],
+ [
+ 'name' => 'FirmwareUrl',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The URL of the OTA update package. This parameter specifies the storage location of the OTA update package in OSS. You can call the [GenerateOTAUploadURL](~~147310~~) operation to generate a URL for the OTA update package.'."\n"
+ ."\n"
+ .'>If you add only one file to the OTA update package, you must configure this parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/bcd6142594d0183a16d825ad8225****/A6B3400B70CA4D6D872160D1A91A****.bin',
+ ],
+ ],
+ [
+ 'name' => 'FirmwareSign',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The signature of the OTA update package. The value is calculated by using the specified **signature algorithm** to sign the OTA update package.'."\n"
+ ."\n"
+ .'> If you add only one file to the OTA update package, you can configure this parameter. If you do not configure this parameter, the MD5 value of the OTA update package in OSS is used as the package signature.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '93230c3bde425a9d7984a594ac55****',
+ ],
+ ],
+ [
+ 'name' => 'SignMethod',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The signature algorithm of the OTA update package. Set the value to **MD5**. The value indicates an MD5 signature.'."\n"
+ ."\n"
+ .'Default value: **MD5**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'MD5',
+ ],
+ ],
+ [
+ 'name' => 'FirmwareSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The size of the OTA update package. Unit: bytes.'."\n"
+ ."\n"
+ .'> If you add only one file to the OTA update package, you can configure this parameter. If you do not configure this parameter, the size of the OTA update package in OSS is used.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '900',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the OTA update package belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1uctKe****',
+ ],
+ ],
+ [
+ 'name' => 'FirmwareDesc',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the OTA update package. The description must be 1 to 100 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'OTA function updated',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the OTA update package. Valid values:'."\n"
+ ."\n"
+ .'* **0**: The uploaded file contains a full update package. IoT Platform pushes the full update package to a device for update.'."\n"
+ .'* **1**: The uploaded file contains only the differences between the latest update package and the previous update package. IoT Platform pushes only the differences to a device for update.'."\n"
+ ."\n"
+ .'Default value: **0**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'SrcVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The version number of the OTA module of the device to be updated.'."\n"
+ ."\n"
+ .'You can call the [QueryDeviceDetail](~~69594~~) operation and view the **FirmwareVersion** parameter in the response.'."\n"
+ ."\n"
+ .'> * If you set the **Type** parameter to **1**, you must configure this parameter, and the value cannot be the same as the update package version that is specified by the **DestVersion** parameter.'."\n"
+ .'>* If you set the **Type** parameter to **0**, this parameter is optional.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1.0.0',
+ ],
+ ],
+ [
+ 'name' => 'ModuleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the OTA module. OTA modules are the updatable units of devices that belong to the same product.'."\n"
+ ."\n"
+ .'> * If you do not configure this parameter, the default OTA module is used. The default value indicates that the complete device firmware is updated.'."\n"
+ .'>* You can call the [CreateOTAModule](~~186066~~) operation to create a custom OTA module. You can call the [ListOTAModuleByProduct](~~186532~~) operation to query the existing OTA modules of a product.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'WifiConfigModify',
+ ],
+ ],
+ [
+ 'name' => 'NeedToVerify',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to verify the OTA update package before you create a batch update task.'."\n"
+ ."\n"
+ .'* **true** The system verifies the OTA update package before you create a batch update task. This is the default value.'."\n"
+ .'* **false**: The system does not verify the OTA update package before you create a batch update task.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ 'default' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'Udi',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The custom information that you want to send to a device. The format of the custom information has no limits. However, the information cannot exceed 4,096 characters in length.'."\n"
+ ."\n"
+ .'After you add the OTA update package and create an update task, IoT Platform sends the custom information to the specified device when IoT Platform pushes an update notification.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'MultiFiles',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'FileMd5' => [
+ 'description' => 'The MD5 value of the file.'."\n"
+ ."\n"
+ .'> If you want to add multiple files to the OTA update package, you can configure this parameter. If you do not configure this parameter, the MD5 value of the file in OSS is used.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '93230c3bde425a9d7984a594ac56***',
+ ],
+ 'Size' => [
+ 'description' => 'The size of the file in the OTA update package. Unit: bytes.'."\n"
+ ."\n"
+ .'> If you want to add multiple files to the OTA update package, you can configure this parameter. If you do not configure this parameter, the size of the file in OSS is used.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '200',
+ ],
+ 'Url' => [
+ 'description' => 'The URL of the file. This parameter specifies the storage location of the file in OSS. You can call the [GenerateOTAUploadURL](~~147310~~) operation to generate a URL for each file in the OTA update package.'."\n"
+ ."\n"
+ .'> If you want to add multiple files to the OTA update package, you must configure this parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/bcd6142594d0183a16d825ad8225****/A6B3400B70CA4D6D872160D1A91A****.bin',
+ ],
+ 'SignValue' => [
+ 'description' => 'The signature of the file. The value is calculated by using the specified **signature algorithm** to sign the file.'."\n"
+ ."\n"
+ .'> If you want to add multiple files to the OTA update package, you can configure this parameter. If you do not configure this parameter, the MD5 value of the file in OSS is used as the file signature.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '93230c3bde425a9d7984a594ac45****',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the file in the update package. The name must be 1 to 32 characters in length. You can specify up to 20 file names. Each name must be unique in the OTA update package.'."\n"
+ ."\n"
+ .'> If you want to add multiple files to the OTA update package, you must configure this parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Firmware1',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 21,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '291438BA-6E10-4C4C-B761-243B9A0D324F',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful. The value indicates that the OTA update package was created.'."\n"
+ .'* **false**: The call failed. The value indicates that the system failed to create the OTA update package.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The OTA update package information that is returned if the call is successful. For more information, see the "**Data**" section of this topic.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'FirmwareId' => [
+ 'description' => 'The ID of the OTA update package. The ID is a unique identifier issued by IoT Platform to the OTA update package.'."\n",
+ 'type' => 'string',
+ 'example' => 's8SSHiKjpBfrM3BSN0z803****',
+ ],
+ 'UtcCreate' => [
+ 'description' => 'The time when the OTA update package was created. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-11-04T06:21:54.607Z',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"291438BA-6E10-4C4C-B761-243B9A0D324F\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"FirmwareId\\": \\"s8SSHiKjpBfrM3BSN0z803****\\",\\n \\"UtcCreate\\": \\"2019-11-04T06:21:54.607Z\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>\\r\\n<CreateOTAFirmwareResponse>\\r\\n <Data>\\r\\n <FirmwareId>s8SSHiKjpBfrM3BSN0z803****</FirmwareId>\\r\\n <UtcCreate>2019-11-04T06:21:54.607Z</UtcCreate>\\r\\n </Data>\\r\\n <RequestId>E4BD5A12-7C1D-4712-A7D5-B2432331165E</RequestId>\\r\\n <Success>true</Success>\\r\\n</CreateOTAFirmwareResponse>","errorExample":""}]',
+ 'title' => 'CreateOTAFirmware',
+ 'summary' => 'Creates an over-the-air (OTA) update package for devices after you generate a URL for each file that you want to add to the OTA update package.',
+ 'description' => 'Before you call this operation to create an OTA update package, you must call the [GenerateOTAUploadURL](~~147310~~) operation to generate the information about the files that you want to add to the OTA update package and call the Object Storage Service (OSS) [PostObject](~~31988~~) operation to upload the files.'."\n"
+ ."\n"
+ .'## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can have up to 500 update packages. '."\n"
+ ."\n\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 10 times per second per account. '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifyOTAFirmware' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1uctKe****',
+ ],
+ ],
+ [
+ 'name' => 'FirmwareId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 's8SSHiKjpBfrM3BSN0z803****',
+ ],
+ ],
+ [
+ 'name' => 'FirmwareDesc',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'OTA function updated',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'FirmwareName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Firmwaretest',
+ ],
+ ],
+ [
+ 'name' => 'FirmwareUdi',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.ota.FirmwareNotFound',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'The specified firmware does not exist.',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.firmware.AlreadyExistedFirmwareName',
+ 'errorMessage' => 'The OTA update package already exists.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.FirmwareNotFound',
+ 'errorMessage' => 'The specified firmware does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.FirmwareAndProductKeyMismatch',
+ 'errorMessage' => 'The OTA update package is not consistent with the ProductKey.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.TenantIdMisMatch',
+ 'errorMessage' => 'The tenantId is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.firmware.FirmwareUdiExceedLimit',
+ 'errorMessage' => 'The UDI of the firmware is longer than the limit.',
+ ],
+ [
+ 'errorCode' => 'iot.firmware.FirmwareDescExceedLimit',
+ 'errorMessage' => 'The description of the firmware is longer than the limit.',
+ ],
+ [
+ 'errorCode' => 'iot.firmware.IncorrectFormattedFirmwareName',
+ 'errorMessage' => 'The format of the OTA update package name is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.InstanceIdMisMatch',
+ 'errorMessage' => 'The instanceId is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.ota.FirmwareNotFound\\",\\n \\"ErrorMessage\\": \\"The specified firmware does not exist.\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ModifyOTAFirmwareResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Success>true</Success>\\n</ModifyOTAFirmwareResponse>","errorExample":""}]',
+ 'title' => 'ModifyOTAFirmware',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteOTAFirmware' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'FirmwareId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The unique ID of the OTA update package.'."\n"
+ ."\n"
+ .'An update package ID is returned when you call the [CreateOTAFirmware](~~147311~~) operation to create the update package.'."\n"
+ ."\n"
+ .'You can call the [ListOTAFirmware](~~147450~~) operation and view the update package ID in the response.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 's8SSHiKjpBfrM3BSN0z803****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '9B7BF858-7686-496E-B8B0-BF9E5D7F86CE',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"9B7BF858-7686-496E-B8B0-BF9E5D7F86CE\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>\\r\\n<DeleteOTAFirmwareResponse>\\r\\n <RequestId>9B7BF858-7686-496E-B8B0-BF9E5D7F86CE</RequestId>\\r\\n <Success>true</Success>\\r\\n</DeleteOTAFirmwareResponse>","errorExample":""}]',
+ 'title' => 'DeleteOTAFirmware',
+ 'summary' => 'Deletes an over-the-air (OTA) update package.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListOTAFirmware' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the OTA update package belongs.'."\n"
+ ."\n"
+ .'If you specify this parameter, IoT Platform returns the OTA update packages of the specified product. If you do not specify this parameter, IoT Platform returns the OTA update packages of the current Alibaba Cloud account.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a19mzPZ****',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Maximum value: 100.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Pages start from page 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'DestVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The version number of the OTA update package. If you specify this parameter, only the OTA update package of the specified version number is returned.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '4.0.0',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CurrentPage' => [
+ 'description' => 'The number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'A01829CE-75A1-4920-B775-921146A1AB79',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'PageCount' => [
+ 'description' => 'The total number of pages.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of OTA update packages.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'FirmwareInfo' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'SimpleFirmwareInfo' => [
+ 'description' => 'The OTA update packages returned if the call is successful. For more information, see SimpleFirmwareInfo.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ModuleName' => [
+ 'description' => 'The name of the module.'."\n",
+ 'type' => 'string',
+ 'example' => 'module1234',
+ ],
+ 'Type' => [
+ 'description' => 'The type of the OTA update package. Valid values:'."\n"
+ ."\n"
+ .'* **0**: complete firmware'."\n"
+ .'* **1**: differential firmware'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the OTA update package. Valid values:'."\n"
+ ."\n"
+ .'* **0**: unverified'."\n"
+ .'* **1**: verified'."\n"
+ .'* **2**: verifying'."\n"
+ .'* **3**: failed to be verified'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'ProductName' => [
+ 'description' => 'The name of the product to which the OTA update package belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'MyProduct',
+ ],
+ 'UtcCreate' => [
+ 'description' => 'The time when the update package was created. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-12-28T02:42:22.000Z',
+ ],
+ 'FirmwareSize' => [
+ 'description' => 'The size of the update package. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '924',
+ ],
+ 'FirmwareName' => [
+ 'description' => 'The name of the OTA update package.'."\n",
+ 'type' => 'string',
+ 'example' => 't3q5rkNm',
+ ],
+ 'FirmwareSign' => [
+ 'description' => 'The signature of the OTA update package.'."\n",
+ 'type' => 'string',
+ 'example' => '3d04ab6462633508606e5f3daac8****',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The ProductKey of the product to which the OTA update package belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a19mzPZ****',
+ ],
+ 'UtcModified' => [
+ 'description' => 'The time when the update task was last modified. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-12-28T02:42:22.000Z',
+ ],
+ 'SrcVersion' => [
+ 'description' => 'The version number of the original update package to be updated.'."\n"
+ ."\n"
+ .'> The return value is null if you perform a full update.'."\n",
+ 'type' => 'string',
+ 'example' => 'V1.0.0',
+ ],
+ 'FirmwareDesc' => [
+ 'description' => 'The description of the OTA update package.'."\n",
+ 'type' => 'string',
+ 'example' => 'firmwareDesc',
+ ],
+ 'SignMethod' => [
+ 'description' => 'The signature method of the OTA update package.'."\n",
+ 'type' => 'string',
+ 'example' => 'MD5',
+ ],
+ 'DestVersion' => [
+ 'description' => 'The version number of the OTA update package.'."\n",
+ 'type' => 'string',
+ 'example' => '4.0.0',
+ ],
+ 'FirmwareId' => [
+ 'description' => 'The unique ID of the OTA update package.'."\n",
+ 'type' => 'string',
+ 'example' => 'UfuxnwygsuSkVE0VCN****0100',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"A01829CE-75A1-4920-B775-921146A1AB79\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"PageCount\\": 1,\\n \\"Total\\": 1,\\n \\"FirmwareInfo\\": {\\n \\"SimpleFirmwareInfo\\": [\\n {\\n \\"ModuleName\\": \\"module1234\\",\\n \\"Type\\": 0,\\n \\"Status\\": 0,\\n \\"ProductName\\": \\"MyProduct\\",\\n \\"UtcCreate\\": \\"2019-12-28T02:42:22.000Z\\",\\n \\"FirmwareSize\\": 924,\\n \\"FirmwareName\\": \\"t3q5rkNm\\",\\n \\"FirmwareSign\\": \\"3d04ab6462633508606e5f3daac8****\\",\\n \\"ProductKey\\": \\"a19mzPZ****\\",\\n \\"UtcModified\\": \\"2019-12-28T02:42:22.000Z\\",\\n \\"SrcVersion\\": \\"V1.0.0\\",\\n \\"FirmwareDesc\\": \\"firmwareDesc\\",\\n \\"DestVersion\\": \\"4.0.0\\",\\n \\"SignMethod\\": \\"MD5\\",\\n \\"FirmwareId\\": \\"UfuxnwygsuSkVE0VCN****0100\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListOTAFirmwareResponse>\\n<PageCount>1</PageCount>\\n<PageSize>10</PageSize>\\n<RequestId>A01829CE-75A1-4920-B775-921146A1AB79</RequestId>\\n<FirmwareInfo>\\n <SimpleFirmwareInfo>\\n <SrcVersion>1.0.0</SrcVersion>\\n <FirmwareSign>3d04ab6462633508606e5f3daac8****</FirmwareSign>\\n <ProductKey>a19mzPZ****</ProductKey>\\n <Type>0</Type>\\n <UtcModified>2019-12-28T02:42:22.000Z</UtcModified>\\n <SignMethod>MD5</SignMethod>\\n <UtcCreate>2019-12-28T02:42:22.000Z</UtcCreate>\\n <FirmwareSize>924</FirmwareSize>\\n <Status>0</Status>\\n <FirmwareId>UfuxnwygsuSkVE0VCN****0100</FirmwareId>\\n <FirmwareDesc>firmwareDesc</FirmwareDesc>\\n <DestVersion>4.0.0</DestVersion>\\n <ProductName>MyProduct</ProductName>\\n <FirmwareName>t3q5rkNm</FirmwareName>\\n <ModuleName>module1234</ModuleName>\\n </SimpleFirmwareInfo>\\n</FirmwareInfo>\\n<CurrentPage>1</CurrentPage>\\n<Success>true</Success>\\n<Total>1</Total>\\n</ListOTAFirmwareResponse>","errorExample":""}]',
+ 'title' => 'ListOTAFirmware',
+ 'summary' => 'Queries over-the-air (OTA) update packages.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryOTAFirmware' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'FirmwareId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The unique ID of the OTA update package.'."\n"
+ ."\n"
+ .'An update package ID is returned when you call the [CreateOTAFirmware](~~147311~~) operation to create the update package.'."\n"
+ ."\n"
+ .'You can call the [ListOTAFirmware](~~147450~~) operation and view the update package ID in the response.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 's8SSHiKjpBfrM3BSN0z803****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'A01829CE-75A1-4920-B775-921146A1AB79',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'FirmwareInfo' => [
+ 'description' => 'The update package information returned if the call succeeds. For more information, see **FirmwareInfo**.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ModuleName' => [
+ 'description' => 'The name of the module.'."\n"
+ ."\n"
+ .'OTA updates are based on the firmware modules of a device. For more information, see [Add a custom OTA module to an update package](~~202664~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'WifiConfigModify',
+ ],
+ 'Type' => [
+ 'description' => 'The type of the OTA update package. Valid values:'."\n"
+ ."\n"
+ .'* **0**: The uploaded file contains a full update package. IoT Platform pushes the full update package to a device for update.'."\n"
+ .'* **1**: The uploaded file contains only the differences between the latest update package and previous update package. IoT Platform pushes only the differences to a device for update.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the OTA update package. Valid values:'."\n"
+ ."\n"
+ .'* **-1**: no verification is required'."\n"
+ .'* **0**: unverified'."\n"
+ .'* **1**: verified'."\n"
+ .'* **2**: verifying'."\n"
+ .'* **3**: failed to be verified'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'ProductName' => [
+ 'description' => 'The name of the product to which the OTA update package belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'MyProduct',
+ ],
+ 'FirmwareUrl' => [
+ 'description' => 'The URL of the update package file that is stored in Object Storage Service (OSS).'."\n"
+ ."\n"
+ .'> This parameter is available if the OTA update package contains a single file.'."\n",
+ 'type' => 'string',
+ 'example' => 'https://ota-***.aliyuncs.com/ota/572ef2fd12ca4791a5b21a9eb948****/5E962CF83DB1495E8337E9C8A4D1****.bin?Expires=1577587360&OSSAccessKeyId=cS8uRRy54Rsz****&Signature=farzC8%2FVMN4HYdEtXvdiC2OevH****',
+ ],
+ 'UtcCreate' => [
+ 'description' => 'The time when the OTA update package was created. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-12-28T02:42:22.000Z',
+ ],
+ 'FirmwareSize' => [
+ 'description' => 'The size of the OTA update package file. Unit: bytes.'."\n"
+ ."\n"
+ .'> This parameter is available if the OTA update package contains a single file.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '924',
+ ],
+ 'FirmwareName' => [
+ 'description' => 'The name of the OTA update package.'."\n",
+ 'type' => 'string',
+ 'example' => 't3q5rkNm',
+ ],
+ 'FirmwareSign' => [
+ 'description' => 'The signature of the OTA update package.'."\n"
+ ."\n"
+ .'> This parameter is available if the OTA update package contains a single file.'."\n",
+ 'type' => 'string',
+ 'example' => '3d04ab6462633508606e5f3daac8****',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The **ProductKey** of the product to which the OTA update package belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a19mzPZ****',
+ ],
+ 'UtcModified' => [
+ 'description' => 'The time when the update task was last modified. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-12-28T02:42:41.000Z',
+ ],
+ 'SrcVersion' => [
+ 'description' => 'The version number of the original update package to be updated.'."\n"
+ ."\n"
+ .'> This parameter is returned if you perform a delta update. For more information about update package types, see the description of the **Type** parameter.'."\n",
+ 'type' => 'string',
+ 'example' => '1.0.0',
+ ],
+ 'VerifyProgress' => [
+ 'description' => 'The verification status of the OTA update package. Valid values:'."\n"
+ ."\n"
+ .'* **0**: unverified'."\n"
+ .'* **100**: verified'."\n"
+ .'* A value N between 0 and 100 indicates that the update task is N percent completed. You can check the response parameter **Status** to see the verification status.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'FirmwareDesc' => [
+ 'description' => 'The description of the OTA update package.'."\n",
+ 'type' => 'string',
+ 'example' => 'modified-WiFi-module',
+ ],
+ 'SignMethod' => [
+ 'description' => 'The signature method of the OTA update package.'."\n",
+ 'type' => 'string',
+ 'example' => 'MD5',
+ ],
+ 'DestVersion' => [
+ 'description' => 'The version number of the OTA update package.'."\n",
+ 'type' => 'string',
+ 'example' => '4.0.0',
+ ],
+ 'FirmwareId' => [
+ 'description' => 'The unique ID of the OTA update package.'."\n",
+ 'type' => 'string',
+ 'example' => 'UfuxnwygsuSkVE0VCN****0100',
+ ],
+ 'Udi' => [
+ 'description' => 'The custom information that was pushed to the device. The information can be up to 4,096 characters in length. No limit is applies to the content format.'."\n"
+ ."\n"
+ .'After you add the update package and create an update task, IoT Platform sends the custom information to the specified device when IoT Platform pushes the update notification.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'MultiFiles' => [
+ 'description' => 'The information about the OTA update package files. This parameter is available if the OTA update package contains multiple files.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Url' => [
+ 'description' => 'The URL of the update package file that is stored in Object Storage Service (OSS).'."\n",
+ 'type' => 'string',
+ 'example' => 'https://ota-***.aliyuncs.com/ota/572ef2fd12ca4791a5b21a9eb948****/5E962CF83DB1495E8337E9C8A4D1****.bin?Expires=1577587360&OSSAccessKeyId=cS8uRRy54Rsz****&Signature=farzC8%2FVMN4HYdEtXvdiC2OevH****',
+ ],
+ 'FileMd5' => [
+ 'description' => 'The MD5 value of the OTA update package file.'."\n",
+ 'type' => 'string',
+ 'example' => '3d04ab6462633508606e5f3d****',
+ ],
+ 'SignValue' => [
+ 'description' => 'The signature of the OTA update package file.'."\n",
+ 'type' => 'string',
+ 'example' => '3d04ab6462633508606e5f3d****',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the OTA update package file.'."\n",
+ 'type' => 'string',
+ 'example' => 'firmware1',
+ ],
+ 'Size' => [
+ 'description' => 'The size of the OTA update package file. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"A01829CE-75A1-4920-B775-921146A1AB79\\",\\n \\"Success\\": true,\\n \\"FirmwareInfo\\": {\\n \\"ModuleName\\": \\"WifiConfigModify\\",\\n \\"Type\\": 0,\\n \\"Status\\": 2,\\n \\"ProductName\\": \\"MyProduct\\",\\n \\"FirmwareUrl\\": \\"https://ota-***.aliyuncs.com/ota/572ef2fd12ca4791a5b21a9eb948****/5E962CF83DB1495E8337E9C8A4D1****.bin?Expires=1577587360&OSSAccessKeyId=cS8uRRy54Rsz****&Signature=farzC8%2FVMN4HYdEtXvdiC2OevH****\\",\\n \\"UtcCreate\\": \\"2019-12-28T02:42:22.000Z\\",\\n \\"FirmwareSize\\": 924,\\n \\"FirmwareName\\": \\"t3q5rkNm\\",\\n \\"FirmwareSign\\": \\"3d04ab6462633508606e5f3daac8****\\",\\n \\"ProductKey\\": \\"a19mzPZ****\\",\\n \\"UtcModified\\": \\"2019-12-28T02:42:41.000Z\\",\\n \\"SrcVersion\\": \\"1.0.0\\",\\n \\"VerifyProgress\\": 0,\\n \\"FirmwareDesc\\": \\"modified-WiFi-module\\",\\n \\"SignMethod\\": \\"MD5\\",\\n \\"DestVersion\\": \\"4.0.0\\",\\n \\"FirmwareId\\": \\"UfuxnwygsuSkVE0VCN****0100\\",\\n \\"Udi\\": \\"{\\\\\\"ota_notice\\\\\\":\\\\\\"升级底层摄像头驱动,解决视频图像模糊的问题。\\\\\\"}\\",\\n \\"MultiFiles\\": [\\n {\\n \\"Url\\": \\"https://ota-***.aliyuncs.com/ota/572ef2fd12ca4791a5b21a9eb948****/5E962CF83DB1495E8337E9C8A4D1****.bin?Expires=1577587360&OSSAccessKeyId=cS8uRRy54Rsz****&Signature=farzC8%2FVMN4HYdEtXvdiC2OevH****\\",\\n \\"FileMd5\\": \\"3d04ab6462633508606e5f3d****\\",\\n \\"SignValue\\": \\"3d04ab6462633508606e5f3d****\\",\\n \\"Name\\": \\"firmware1\\",\\n \\"Size\\": 200\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryOTAFirmwareResponse>\\n<RequestId>A01829CE-75A1-4920-B775-921146A1AB79</RequestId>\\n<FirmwareInfo>\\n <SrcVersion/>\\n <FirmwareSign>3d04ab6462633508606e5f3daac8****</FirmwareSign>\\n <ProductKey>a19mzPZ****</ProductKey>\\n <Type>0</Type>\\n <UtcModified>2019-12-28T02:42:41.000Z</UtcModified>\\n <SignMethod>MD5</SignMethod>\\n <UtcCreate>2019-12-28T02:42:22.000Z</UtcCreate>\\n <FirmwareSize>924</FirmwareSize>\\n <Status>2</Status>\\n <FirmwareId>UfuxnwygsuSkVE0VCN****0100</FirmwareId>\\n <FirmwareDesc>modified-WiFi-module</FirmwareDesc>\\n <FirmwareUrl>https://ota-***.aliyuncs.com/ota/572ef2fd12ca4791a5b21a9eb948****/5E962CF83DB1495E8337E9C8A4D1****.bin?Expires=1577587360&amp;OSSAccessKeyId=cS8uRRy54Rsz****&amp;Signature=farzC8%2FVMN4HYdEtXvdiC2OevH****</FirmwareUrl>\\n <DestVersion>4.0.0</DestVersion>\\n <ProductName>MyProduct</ProductName>\\n <FirmwareName>t3q5rkNm</FirmwareName>\\n <ModuleName>WifiConfigModify</ModuleName>\\n <Udi>{\\"ota_notice\\":\\"升级底层摄像头驱动,解决视频图像模糊的问题。\\"}</Udi>\\n <VerifyProgress>0</VerifyProgress>\\n</FirmwareInfo>\\n<Success>true</Success>\\n</QueryOTAFirmwareResponse>","errorExample":""}]',
+ 'title' => 'QueryOTAFirmware',
+ 'summary' => 'Queries the details of a specified OTA update package, including the name, type, and status of the update package.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 20 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateOTAVerifyJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the ID of an instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n"
+ .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'FirmwareId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the update package.'."\n"
+ ."\n"
+ .'The **FirmwareId** parameter is returned when you call the [CreateOTAFirmware](~~147311~~) operation to create an OTA update package.'."\n"
+ ."\n"
+ .'You can also call the [ListOTAFirmware](~~147450~~) operation to obtain the ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'nx3xxVvFdwvn6dim50PY03****',
+ ],
+ ],
+ [
+ 'name' => 'TimeoutInMinutes',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The timeout period for a device to update the firmware. Unit: minutes. Valid values: 1 to 1440.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1440',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the OTA update package belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1VJwBw****',
+ ],
+ ],
+ [
+ 'name' => 'NeedPush',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to automatically push update tasks from IoT Platform to devices.'."\n"
+ ."\n"
+ .'* **true** (default): yes. After an update batch is created, IoT Platform automatically pushes update tasks to the specified online devices.'."\n"
+ ."\n"
+ .' In this case, a device can still initiate a request to obtain the information about the over-the-air (OTA) update task from IoT Platform.'."\n"
+ ."\n"
+ .'* **false**: no. A device must initiate a request to obtain the information about the OTA update task from IoT Platform.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'NeedConfirm',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to control the update by using a mobile app. You must develop the mobile app as needed.'."\n"
+ ."\n"
+ .'* **false** (default): no. A device obtains the information about the OTA update task based on the **NeedPush** parameter.'."\n"
+ .'* **true**: yes To perform an OTA update on a device, you must confirm the update by using your mobile app. Then, the device can obtain the information about the OTA update task based on the **NeedPush** parameter.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'DownloadProtocol',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The download protocol of the update package. Valid values: **HTTPS** and **MQTT**. Default value: HTTPS. After the device receives the update package information pushed by IoT Platform, this protocol is used to download the update package.'."\n"
+ ."\n"
+ .'> If you want to download the update package over MQTT, take note of the following items:'."\n"
+ .'>* The following regions are supported: China (Shanghai), China (Beijing), and China (Shenzhen).'."\n"
+ .'>* The OTA update package can contain only one file and the size of the file cannot exceed 16 MB.'."\n"
+ .'>* You must use the latest version of Link SDK for C to develop the device features to perform OTA updates and download files over MQTT. For more information, see [Sample code](~~330985~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'HTTPS',
+ ],
+ ],
+ [
+ 'name' => 'TargetDeviceName',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => 'The device that you want to verify.'."\n"
+ ."\n"
+ .'> * The devices must belong to the same product as the update package.'."\n"
+ .'>* Each device name number unique.'."\n"
+ .'>* You can specify a maximum of 10 device names.',
+ ],
+ 'required' => true,
+ 'example' => 'testdevice',
+ 'maxItems' => 10,
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The key of the update batch tag. The key must be 1 to 30 characters in length and can contain letters, digits, and periods (.). You can add up to 10 tags for each update batch.'."\n"
+ ."\n"
+ .'The tags of an update batch are sent to devices when IoT Platform pushes update notifications to the devices.'."\n"
+ ."\n"
+ .'> Update batch tags are optional. If you want to specify a tag, you must specify the Tag.N.Value and Tag.N.Key parameters in pair.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'key1',
+ ],
+ 'Value' => [
+ 'description' => 'The value of the update batch tag. The value must be 1 to 1,024 characters in length. You can add up to 10 tags for each update batch. The total length of the tag keys and tag values of all update batches cannot exceed 4,096 characters.'."\n"
+ ."\n"
+ .'> Update batch tags are optional. If you want to specify a tag, you must specify the Tag.N.Value and Tag.N.Key parameters in pair.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'value1',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request. The ID uniquely identifies this request.'."\n",
+ 'type' => 'string',
+ 'example' => '29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The request failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The task information returned if the call is successful. For more information, see the following parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => [
+ 'description' => 'The ID of the verification task.'."\n",
+ 'type' => 'string',
+ 'example' => 'wahVIzGkCMuAUE2gDERM02****',
+ ],
+ 'UtcCreate' => [
+ 'description' => 'The time when the verification task was created. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-11-04T06:22:19.566Z',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"JobId\\": \\"wahVIzGkCMuAUE2gDERM02****\\",\\n \\"UtcCreate\\": \\"2019-11-04T06:22:19.566Z\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>\\r\\n<CreateOTAVerifyJobResponse>\\r\\n <Data>\\r\\n <JobId>wahVIzGkCMuAUE2gDERM02****</JobId>\\r\\n <UtcCreate>2019-11-04T06:22:19.566Z</UtcCreate>\\r\\n </Data>\\r\\n <RequestId>29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1</RequestId>\\r\\n <Success>true</Success>\\r\\n</CreateOTAVerifyJobResponse>","errorExample":""}]',
+ 'title' => 'CreateOTAVerifyJob',
+ 'summary' => 'Creates a task to verify an over-the-air (OTA) update package.',
+ 'description' => '* You must verify an update package before you push the package to devices for a batch update. Only verified update packages can be used to update devices in batches. You can call the [QueryOTAFirmware](~~147461~~) operation to view the status of a verification task.'."\n"
+ .'* You cannot initiate a verification task for an update package that is being verified or has been verified.'."\n"
+ .'* You can specify a maximum of 10 devices for a verification task.'."\n"
+ ."\n\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 10 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateOTAStaticUpgradeJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the ID of an instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. If you do not specify the instance ID, the call fails.****'."\n"
+ .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'FirmwareId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the update package.'."\n"
+ ."\n"
+ .'An update package ID is returned when you call the [CreateOTAFirmware](~~147311~~) operation to create the update package.'."\n"
+ ."\n"
+ .'You can also call the [ListOTAFirmware](~~147450~~) operation to obtain the ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'nx3xxVvFdwvn6dim50PY03****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the update package belongs.'."\n"
+ ."\n"
+ .'A **ProductKey** is the unique identifier of a product in IoT Platform. You can view the information about all products within the current Alibaba Cloud account in the IoT Platform console or by calling the [QueryProductList](~~69271~~) operation.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1Le6d0****',
+ ],
+ ],
+ [
+ 'name' => 'TargetSelection',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The scope of the update batch. Valid values:'."\n"
+ ."\n"
+ .'* **ALL**: updates all devices.'."\n"
+ .'* **SPECIFIC**: updates specified devices.'."\n"
+ .'* **GRAY**: performs a phased update.'."\n"
+ .'* **GROUP**: updates specified groups.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ALL',
+ ],
+ ],
+ [
+ 'name' => 'ScheduleTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The time to start the over-the-air (OTA) update.'."\n"
+ ."\n"
+ .'The scheduled time ranges from 5 minutes to 7 days later than the current time. The value must be a 13-digit timestamp.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the update immediately starts.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1577808000000',
+ ],
+ ],
+ [
+ 'name' => 'RetryInterval',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The automatic retry interval if a device fails to be updated. Unit: minutes. Valid values:'."\n"
+ ."\n"
+ .'* **0**: An automatic retry is immediately performed.'."\n"
+ .'* **10**: An automatic retry is performed after 10 minutes.'."\n"
+ .'* **30**: An automatic retry is performed after 30 minutes.'."\n"
+ .'* **60**: An automatic retry is performed after 60 minutes (1 hour).'."\n"
+ .'* **1440**: An automatic retry is performed after 1,440 minutes (24 hours).'."\n"
+ ."\n"
+ .'> The value of the **RetryInterval** parameter must be less than the value of the **TimeoutInMinutes** parameter. Examples:'."\n"
+ .'>* If the value of the **TimeoutInMinutes** parameter is set to 60, the maximum value of the **RetryInterval** parameter is 30.'."\n"
+ .'>* If the value of the **TimeoutInMinutes** parameter is set to 1440, the maximum value of the **RetryInterval** parameter is 60.'."\n"
+ ."\n"
+ .'If the value of the **RetryInterval** parameter is set to 1440, we recommend that you do not specify the **TimeoutInMinutes** parameter. If an update times out, no retry is performed.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, no retry is performed.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '60',
+ ],
+ ],
+ [
+ 'name' => 'RetryCount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of automatic retries.'."\n"
+ ."\n"
+ .'If you specify the **RetryInterval** parameter, you must specify this parameter.'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ ."\n"
+ .'* **1**: retries once.'."\n"
+ .'* **2**: retries twice.'."\n"
+ .'* **5**: retries five times.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'TimeoutInMinutes',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The timeout period of the update. If the device is not updated within the specified period, a timeout error occurs. Unit: minutes. Valid values: 1 to 1440.'."\n"
+ ."\n"
+ .'> * The timeout period starts from the time when the specified device submits the update progress for the first time. During the update, the update package may be repeatedly pushed to the specified device because the device goes online and offline multiple times. The start time of the update period remains unchanged.'."\n"
+ .'>* If an update fails due to timeout, no retry is triggered.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, timeout errors do not occur.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1440',
+ ],
+ ],
+ [
+ 'name' => 'MaximumPerMinute',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of devices to which the download URL of the update package is pushed per minute. Valid values: 10 to 10000.'."\n"
+ ."\n"
+ .'Default value: 10000.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1000',
+ ],
+ ],
+ [
+ 'name' => 'GrayPercent',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ratio of the phased update. The value is a percentage in the string format. It can be up to three decimal places. The calculated number of devices is rounded down to the nearest integer. You must specify at least one device for a phased update.'."\n"
+ ."\n"
+ .'For example, if you set the phased update ratio to 33.33 for 100 devices, the number of devices to be updated is 33.'."\n"
+ ."\n"
+ .'You must specify this parameter if you set the TargetSelection parameter to `GRAY`.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '33.33',
+ ],
+ ],
+ [
+ 'name' => 'ScheduleFinishTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The time to end the update.'."\n"
+ ."\n"
+ .'The end time must be 1 hour to 30 days later than the start time that is specified by the **ScheduleTime** parameter. The value must be a 13-digit timestamp.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the update is not forcibly ended.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1577909000000',
+ ],
+ ],
+ [
+ 'name' => 'OverwriteMode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to overwrite the previous update task. Default value: 1. Valid values:'."\n"
+ ."\n"
+ .'* **1**: The previous update task is not overwritten. If a device already has an update task, the previous update task is implemented.'."\n"
+ .'* **2**: The previous update task is overwritten. Only the current update task is implemented. In this case, you cannot set **MultiModuleMode** to **true**.'."\n"
+ ."\n"
+ .'> The update task that is in progress is not overwritten.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'DnListFileUrl',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The URL of the device list file that is used to perform a specific update.'."\n"
+ ."\n"
+ .'> * If you set the TargetSelection parameter to `SPECIFIC`, you must specify this parameter or the **TargetDeviceName.N** parameter. You cannot specify the two parameters at the same time.'."\n"
+ .'>* You can call the [GenerateDeviceNameListURL](~~186062~~) operation to generate a file URL. Then, you can perform the operations as prompted to upload the device list file.'."\n"
+ .'>* During a full update, the devices that have been updated are skipped.'."\n"
+ .'>* During a delta update, the devices that have been updated and the devices whose initial version numbers are different from the update package are skipped.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.bin',
+ ],
+ ],
+ [
+ 'name' => 'NeedPush',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to automatically push update tasks from IoT Platform to devices. Default value: true. Valid values:'."\n"
+ ."\n"
+ .'* **true**: After an update batch is created, IoT Platform automatically pushes update tasks to the specified online devices.'."\n"
+ ."\n"
+ .' In this case, a device can still initiate a request to obtain the information about the over-the-air (OTA) update task from IoT Platform.'."\n"
+ ."\n"
+ .'* **false**: A device must initiate a request to obtain the information about the OTA update task from IoT Platform.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'NeedConfirm',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to control the update by using a mobile app. You must develop the mobile app as needed. Default false: true. Valid values:'."\n"
+ ."\n"
+ .'* **false**: A device obtains the information about the OTA update task based on the **NeedPush** parameter.'."\n"
+ .'* **true**: To perform an OTA update on a device, you must confirm the update by using your mobile app. Then, the device can obtain the information about the OTA update task based on the **NeedPush** parameter.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the group.'."\n"
+ ."\n"
+ .'If you set the TargetSelection parameter to `GROUP`, you must specify this parameter and the **GroupType** parameter.'."\n"
+ ."\n"
+ .'You can call the [QueryDeviceGroupList](~~93356~~) operation to query the **GroupId** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'CtjzCkNuOx***',
+ ],
+ ],
+ [
+ 'name' => 'GroupType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the group. Valid value: **LINK_PLATFORM**.'."\n"
+ ."\n"
+ .'If you set the TargetSelection parameter to `GROUP`, you must specify this parameter and the **GroupId** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'LINK_PLATFORM',
+ ],
+ ],
+ [
+ 'name' => 'DownloadProtocol',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The download protocol of the update package. Valid values: **HTTPS** and **MQTT**. Default value: HTTPS. After the device receives the update package information pushed by IoT Platform, this protocol is used to download the update package.'."\n"
+ ."\n"
+ .'>If you need to download the update package over MQTT, take note of the following items:'."\n"
+ .'>* Your service must be deployed in the China (Shanghai), China (Beijing), or China (Shenzhen) region.'."\n"
+ .'>* The OTA update package can contain only one file, and the size of the file cannot exceed 16 MB.'."\n"
+ .'>* You must use the latest version of Link SDK for C to develop the device features to perform OTA updates and download files over MQTT. For more information, see [Sample code](~~330985~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'HTTPS',
+ ],
+ ],
+ [
+ 'name' => 'MultiModuleMode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether the device supports simultaneous updates of multiple modules. Default value: false. Valid values:'."\n"
+ ."\n"
+ .'* **false**'."\n"
+ ."\n"
+ .'* **true**: In this case, do not set **OverwriteMode** to **2**.********'."\n"
+ ."\n"
+ .' The update tasks for the same module are overwritten. The update tasks that are in progress are not overwritten. The update tasks of the modules do not affect each other.'."\n"
+ ."\n"
+ .'>* Only Enterprise Edition instances and new public instances are supported.'."\n"
+ .'>* You must use Link SDK for C 4.x to develop the device.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~58328~~).',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ 'default' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'SrcVersion',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => 'The list of firmware versions to be updated.'."\n"
+ ."\n"
+ .'> * This parameter is available if you set the TargetSelection parameter to `ALL` or `GRAY`.'."\n"
+ .'>* If you use a differential update package to perform a complete update or phased update, the value of this parameter must be the same as the value of the **SrcVersion** parameter.'."\n"
+ .'>* This parameter is unavailable if you set the TargetSelection parameter to `SPECIFIC` or `GROUP`.'."\n"
+ .'>* You can call the [QueryDeviceDetail](~~69594~~) operation and view the **FirmwareVersion** parameter in the response.'."\n"
+ .'>* The version numbers must be unique in the list.'."\n"
+ .'>* You can specify a maximum of 10 version numbers.',
+ ],
+ 'required' => false,
+ 'example' => 'V1.0.1',
+ 'maxItems' => 20,
+ ],
+ ],
+ [
+ 'name' => 'TargetDeviceName',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => 'The list of device names.'."\n"
+ ."\n"
+ .'> * If you set the TargetSelection parameter to `SPECIFIC`, you must specify this parameter or the **DnListFileUrl** parameter. You cannot specify the two parameters at the same time.'."\n"
+ .'>* If you use a differential update package to perform a specific update, the OTA module version of the device to be updated must be the same as the value of the **SrcVersion** parameter.'."\n"
+ .'>* You can call the [QueryDeviceDetail](~~69594~~) operation and view the **FirmwareVersion** parameter in the response.'."\n"
+ .'>* The devices in the list must belong to the same product as the update package.'."\n"
+ .'>* The device names must be unique in the list.'."\n"
+ .'>* The list can contain up to 200 device names.',
+ ],
+ 'required' => false,
+ 'example' => 'deviceName1',
+ 'maxItems' => 200,
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The key of the update batch tag. The key must be 1 to 30 characters in length and can contain letters, digits, and periods (.). You can add up to 10 tags for each update batch.'."\n"
+ ."\n"
+ .'The tags of an update batch are sent to devices when IoT Platform pushes update notifications to these devices.'."\n"
+ ."\n"
+ .'> Update batch tags are optional. If you want to specify a tag, you must specify the Tag.N.Value and Tag.N.Key parameters in pair.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'key1',
+ ],
+ 'Value' => [
+ 'description' => 'The value of the update batch tag. The value must be 1 to 1,024 characters in length. You can add up to 10 tags for each update batch. The total length of the tag keys and tag values of all update batches cannot exceed 4,096 characters in length.'."\n"
+ ."\n"
+ .'> Update batch tags are optional. If you want to specify a tag, you must specify the Tag.N.Value and Tag.N.Key parameters in pair.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'value1',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'MissingFirmwareId',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'FirmwareId is mandatory for this action.',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The request was successful.'."\n"
+ .'* **false**: The request failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The update batch information returned if the call is successful. For more information, see Data.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => [
+ 'description' => 'The unique identifier of the update batch.'."\n",
+ 'type' => 'string',
+ 'example' => 'wahVIzGkCMuAUE2gDERM02****',
+ ],
+ 'UtcCreate' => [
+ 'description' => 'The time when the update batch was created. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-11-04T06:22:19.566Z',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"MissingFirmwareId\\",\\n \\"ErrorMessage\\": \\"FirmwareId is mandatory for this action.\\",\\n \\"RequestId\\": \\"29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"JobId\\": \\"wahVIzGkCMuAUE2gDERM02****\\",\\n \\"UtcCreate\\": \\"2019-11-04T06:22:19.566Z\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>\\r\\n<CreateOTAStaticUpgradeJobResponse>\\r\\n <Data>\\r\\n <JobId>wahVIzGkCMuAUE2gDERM02****</JobId>\\r\\n <UtcCreate>2019-11-04T06:22:19.566Z</UtcCreate>\\r\\n </Data>\\r\\n <RequestId>29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1</RequestId>\\r\\n <Success>true</Success>\\r\\n</CreateOTAStaticUpgradeJobResponse>","errorExample":""}]',
+ 'title' => 'CreateOTAStaticUpgradeJob',
+ 'summary' => 'Creates a static update batch.',
+ 'description' => '* If you specify that an update package does not need to be verified when you call the [CreateOTAFirmware](~~147311~~) operation, you must make sure that the update package is verified before you call the CreateOTAStaticUpgradeJob operation to create an update batch. For more information about how to create a task to verify an update package, see [CreateOTAVerifyJob](~~147480~~).'."\n"
+ .'* You can initiate update tasks for a maximum of 200 devices in each call. If you use a device list file, you can initiate update tasks for a maximum of 1,000,000 devices. However, you must call the [GenerateDeviceNameListURL](~~186062~~) operation to generate a URL for the device list file. Then, you can perform the operations as prompted to upload the device list file.'."\n"
+ .'* When you initiate update tasks for multiple devices, the devices that already have the destination firmware versions are skipped.'."\n"
+ .'* Each device can be in the pending or updating status only in one update task. If you initiate another update task for a device that is in the pending or updating status, the update task fails.'."\n"
+ .'* You can create multiple static update batches by using a single update package.'."\n"
+ .'* Downloading update packages through the MQTT protocol is supported only in the China (Shanghai) region.'."\n"
+ ."\n"
+ .'## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 20 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateOTADynamicUpgradeJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the update package.'."\n"
+ ."\n"
+ .'An update package ID is returned when you call the [CreateOTAFirmware](~~147311~~) operation to create the update package.'."\n"
+ ."\n"
+ .'You can also call the [ListOTAFirmware](~~147450~~) operation to obtain the ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'FirmwareId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the update package belongs.'."\n"
+ ."\n"
+ .'A **ProductKey** is the unique identifier of a product in IoT Platform. You can view the information about all products within the current Alibaba Cloud account in the IoT Platform console or by calling the [QueryProductList](~~69271~~) operation.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'nx3xxVvFdwvn6dim50PY03****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The automatic retry interval if a device fails to be updated. Unit: minutes. Valid values:'."\n"
+ ."\n"
+ .'* **0**: An automatic retry is immediately performed.'."\n"
+ .'* **10**: An automatic retry is performed after 10 minutes.'."\n"
+ .'* **30**: An automatic retry is performed after 30 minutes.'."\n"
+ .'* **60**: An automatic retry is performed after 60 minutes (1 hour).'."\n"
+ .'* **1440**: An automatic retry is performed after 1,440 minutes (24 hours).'."\n"
+ ."\n"
+ .'> The value of the **RetryInterval** parameter must be less than the value of the **TimeoutInMinutes** parameter. Examples:'."\n"
+ .'>* If the value of the **TimeoutInMinutes** parameter is set to 60, the maximum value of the **RetryInterval** parameter is 30.'."\n"
+ .'>* If the value of the **TimeoutInMinutes** parameter is set to 1440, the maximum value of the **RetryInterval** parameter is 60.'."\n"
+ ."\n"
+ .'If the value of the **RetryInterval** parameter is set to 1440, we recommend that you do not specify the **TimeoutInMinutes** parameter. If an update times out, no retry is performed.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, no retry is performed.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1Le6d0****',
+ ],
+ ],
+ [
+ 'name' => 'RetryInterval',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of automatic retries.'."\n"
+ ."\n"
+ .'If you specify the **RetryInterval** parameter, you must specify this parameter.'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ ."\n"
+ .'* **1**: retries once.'."\n"
+ .'* **2**: retries twice.'."\n"
+ .'* **5**: retries five times.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '60',
+ ],
+ ],
+ [
+ 'name' => 'RetryCount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The timeout period of the update. If the device is not updated within the specified period, a timeout error occurs. Unit: minutes. Valid values: 1 to 1440.'."\n"
+ ."\n"
+ .'> * The timeout period starts from the time when the specified device submits the update progress for the first time. During the update, the update package may be repeatedly pushed to the specified device because the device goes online and offline multiple times. The start time of the update period remains unchanged.'."\n"
+ .'>* If an update fails due to timeout, no retry is triggered.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, timeout errors do not occur.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'TimeoutInMinutes',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of devices to which the download URL of the update package is pushed per minute. Valid values: 10 to 10000.'."\n"
+ ."\n"
+ .'Default value: 10000.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1440',
+ ],
+ ],
+ [
+ 'name' => 'MaximumPerMinute',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to overwrite the previous update task. Default value: 1. Valid values:'."\n"
+ ."\n"
+ .'* **1**: The previous update task is not overwritten. If a device already has an update task, the previous update task is implemented.'."\n"
+ .'* **2**: The previous update task is overwritten. Only the current update task is implemented. In this case, you cannot set **MultiModuleMode** to **true**.'."\n"
+ ."\n"
+ .'> The update task that is in progress is not overwritten.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1000',
+ ],
+ ],
+ [
+ 'name' => 'OverwriteMode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The mode of dynamic update. Default value: 1. Valid values:'."\n"
+ ."\n"
+ .'* **1**: constantly updates the devices that meet the conditions.'."\n"
+ .'* **2**: updates only the devices that subsequently submit the latest firmware versions.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '2',
+ ],
+ ],
+ [
+ 'name' => 'DynamicMode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to automatically push update tasks from IoT Platform to devices. Default value: true. Valid values:'."\n"
+ ."\n"
+ .'* **true**: After an update batch is created, IoT Platform automatically pushes update tasks to the specified online devices.'."\n"
+ ."\n"
+ .' In this case, a device can still initiate a request to obtain the information about the over-the-air (OTA) update task from IoT Platform.'."\n"
+ ."\n"
+ .'* **false**: A device must initiate a request to obtain the information about the OTA update task from IoT Platform.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'NeedPush',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to control the update by using a mobile app. You must develop the mobile app as needed. Default value: false. Valid values:'."\n"
+ ."\n"
+ .'* **false**: A device obtains the information about the OTA update task based on the **NeedPush** parameter.'."\n"
+ .'* **true**: To perform an OTA update on a device, you must confirm the update by using your mobile app. Then, the device can obtain the information about the OTA update task based on the **NeedPush** parameter.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'NeedConfirm',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the group.'."\n"
+ ."\n"
+ .'* If you specify this parameter, you must also specify the **GroupType** parameter. In this case, do not specify the **SrcVersion.N** parameter.'."\n"
+ .'* If you do not specify this parameter, you do not need to specify the **GroupType** parameter. In this case, you must specify the **SrcVersion.N** parameter.'."\n"
+ ."\n"
+ .'You can call the [QueryDeviceGroupList](~~93356~~) operation to query the **GroupId** parameter.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the group. Valid value: **LINK_PLATFORM_DYNAMIC**.'."\n"
+ ."\n"
+ .'* If you specify this parameter, you must also specify the **GroupId** parameter. In this case, do not specify the **SrcVersion.N** parameter.'."\n"
+ .'* If you do not specify this parameter, you do not need to specify the **GroupId** parameter. In this case, you must specify the **SrcVersion.N** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'IwOwQj7DJ***',
+ ],
+ ],
+ [
+ 'name' => 'GroupType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The download protocol of the update package. Valid values: **HTTPS** and **MQTT**. Default value: HTTPS. After the device receives the update package information pushed by IoT Platform, this protocol is used to download the update package.'."\n"
+ ."\n"
+ .'> If you need to download the update package over MQTT, take note of the following items:'."\n"
+ .'>* Your service must be deployed in the China (Shanghai) region.'."\n"
+ .'>* The OTA update package can contain only one file, and the size of the file cannot exceed 16 MB.'."\n"
+ .'>* You must use the latest version of Link SDK for C to develop the device features to perform OTA updates and download files over MQTT. For more information, see [Sample code](~~330985~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'LINK_PLATFORM_DYNAMIC',
+ ],
+ ],
+ [
+ 'name' => 'DownloadProtocol',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether the device supports simultaneous updates of multiple modules. Default value: false. Valid values:'."\n"
+ ."\n"
+ .'* **false**'."\n"
+ ."\n"
+ .'* **true**: In this case, do not set **OverwriteMode** to **2**.********'."\n"
+ ."\n"
+ .' The update tasks for the same module are overwritten. The update tasks that are in progress are not overwritten. The update tasks of the modules do not affect each other.'."\n"
+ ."\n"
+ .'>* Only Enterprise Edition instances and new public instances are supported.'."\n"
+ .'>* You must use Link SDK for C 4.x to develop the device.'."\n"
+ .'>* If you initiate a group-based dynamic update batch, the settings of **MultiModuleMode** and **OverwriteMode** must be the same as those in the existing dynamic update batch of the group.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~58328~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'HTTPS',
+ ],
+ ],
+ [
+ 'name' => 'MultiModuleMode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The list of firmware versions to be updated.'."\n"
+ ."\n"
+ .'* If you specify this parameter, do not specify the **GroupId** and **GroupType** parameters.'."\n"
+ .'* If you do not specify this parameter, you must specify the **GroupId** and **GroupType** parameters.'."\n"
+ ."\n"
+ .'> If you use differential update packages to perform dynamic update tasks on dynamic groups, you do not need to specify this parameter.'."\n"
+ .'>* If you use differential update packages to perform dynamic update tasks based on versions, the value of this parameter must be the same as the value of **SrcVersion**.'."\n"
+ .'>* You can call the [QueryDeviceDetail](~~69594~~) operation and view the **FirmwareVersion** parameter in the response.'."\n"
+ .'>* The version numbers must be unique in the list.'."\n"
+ .'>* You can specify a maximum of 10 version numbers.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ 'default' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'SrcVersion',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => 'The key of the update batch tag. The key must be 1 to 30 characters in length and can contain letters, digits, and periods (.). You can add up to 10 tags for each update batch.'."\n"
+ ."\n"
+ .'The tags of an update batch are sent to devices when IoT Platform pushes update notifications to these devices.'."\n"
+ ."\n"
+ .'> Update batch tags are optional. If you want to specify a tag, you must specify the Tag.N.Value and Tag.N.Key parameters in pair.'."\n",
+ ],
+ 'required' => false,
+ 'example' => 'V1.0.1',
+ 'maxItems' => 50,
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The value of the update batch tag. The value must be 1 to 1,024 characters in length. You can add up to 10 tags for each update batch. The total length of the tag keys and tag values of all update batches cannot exceed 4,096 characters in length.'."\n"
+ ."\n"
+ .'> Update batch tags are optional. If you want to specify a tag, you must specify the Tag.N.Value and Tag.N.Key parameters in pair.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'key1',
+ ],
+ 'Value' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'value1',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The request was successful.'."\n"
+ .'* **false**: The request failed.'."\n",
+ 'type' => 'string',
+ 'example' => '9F41D14E-CB5F-4CCE-939C-057F39E688F5',
+ ],
+ 'Success' => [
+ 'description' => 'The update batch information returned if the call is successful. For more information, see Data.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The unique identifier of the update batch.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => [
+ 'description' => 'The time when the update batch was created. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => 'XUbmsMHmkqv0PiAG****010001',
+ ],
+ 'UtcCreate' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2019-05-10T02:18:53.000Z',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"9F41D14E-CB5F-4CCE-939C-057F39E688F5\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"JobId\\": \\"XUbmsMHmkqv0PiAG****010001\\",\\n \\"UtcCreate\\": \\"2019-05-10T02:18:53.000Z\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>\\r\\n<CreateOTADynamicUpgradeJobResponse>\\r\\n <Data>\\r\\n <JobId>wahVIzGkCMuAUE2gDERM02****</JobId>\\r\\n <UtcCreate>2019-11-04T06:22:19.566Z</UtcCreate>\\r\\n </Data>\\r\\n <RequestId>29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1</RequestId>\\r\\n <Success>true</Success>\\r\\n</CreateOTADynamicUpgradeJobResponse>","errorExample":""}]',
+ 'title' => 'CreateOTADynamicUpgradeJob',
+ 'summary' => 'Creates a dynamic update batch.',
+ 'description' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common parameters](~~30561~~).'."\n",
+ 'requestParamsDescription' => 'The operation that you want to perform. Set the value to CreateOTADynamicUpgradeJob.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListOTAJobByFirmware' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'FirmwareId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the update package.'."\n"
+ ."\n"
+ .'An update package ID is returned when you call the [CreateOTAFirmware](~~147311~~) operation to create the update package.'."\n"
+ ."\n"
+ .'You can call the [ListOTAFirmware](~~147450~~) operation and view the update package ID in the response.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'FJFx8JzpnhpIsKftRjjm03****',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Maximum value: 200.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Pages start from page 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CurrentPage' => [
+ 'description' => 'The number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '5D58AC86-D5BF-4B39-834E-913E7F2C985D',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'PageCount' => [
+ 'description' => 'The total number of pages.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of update jobs returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'SimpleOTAJobInfo' => [
+ 'description' => 'The update batch information returned if the call is successful. For more information, see **SimpleOTATaskInfo**.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => 'The ProductKey of the product to which the update package belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a19mzPZ****',
+ ],
+ 'JobStatus' => [
+ 'description' => 'The status of the update batch.'."\n"
+ ."\n"
+ .'* **PLANNED**: The update batch is being planned. The batch is created, but the scheduled time has not arrived. This parameter is returned only if you perform a static update.'."\n"
+ .'* **IN_PROGRESS**: The update batch is running.'."\n"
+ .'* **COMPLETE**: The update batch is completed.'."\n"
+ .'* **CANCELED**: The update batch is canceled.'."\n",
+ 'type' => 'string',
+ 'example' => 'IN_PROGRESS',
+ ],
+ 'UtcStartTime' => [
+ 'description' => 'The start time of the update batch. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-12-28T02:43:10.000Z',
+ ],
+ 'UtcModified' => [
+ 'description' => 'The time when the update batch was last modified. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-12-28T02:43:10.000Z',
+ ],
+ 'JobId' => [
+ 'description' => 'The ID of the update batch.'."\n",
+ 'type' => 'string',
+ 'example' => 'HvKuBpuk3rdk6E92CP****0200',
+ ],
+ 'UtcCreate' => [
+ 'description' => 'The time when the update batch was created. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-12-28T02:43:10.000Z',
+ ],
+ 'SelectionType' => [
+ 'description' => 'The update policy of the update batch. Valid values:'."\n"
+ ."\n"
+ .'* **DYNAMIC**: dynamic update. This value is returned if you call the [CreateOTADynamicUpgradeJob](~~147887~~) API operation to create an update batch.'."\n"
+ .'* **STATIC**: static update. This value is returned if you call the [CreateOTAStaticUpgradeJob](~~147496~~) API operation to create an update batch.'."\n",
+ 'type' => 'string',
+ 'example' => 'STATIC',
+ ],
+ 'JobType' => [
+ 'description' => 'The type of the batch. Valid values:'."\n"
+ ."\n"
+ .'* **VERFIY_FIRMWARE**: update package verification.'."\n"
+ .'* **UPGRADE_FIRMWARE**: batch update.'."\n",
+ 'type' => 'string',
+ 'example' => 'UPGRADE_FIRMWARE',
+ ],
+ 'TargetSelection' => [
+ 'description' => 'The scope of the update batch. Valid values: '."\n"
+ ."\n"
+ .'- **ALL**: updates all devices.'."\n"
+ .'- **SPECIFIC**: updates specified devices.'."\n"
+ .'- **GRAY**: performs a phased update.'."\n"
+ ."\n"
+ .'> The value ALL is returned if you call the [CreateOTADynamicUpgradeJob](/help/en/iot-platform/latest/av6dui) API operation to create an update batch.',
+ 'type' => 'string',
+ 'example' => 'SPECIFIC',
+ ],
+ 'UtcEndTime' => [
+ 'description' => 'The end time of the update batch. The time is displayed in UTC.'."\n"
+ ."\n"
+ .'This parameter is returned only after the update batch is completed.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-12-29T02:43:10.000Z',
+ ],
+ 'FirmwareId' => [
+ 'description' => 'The ID of the update package.'."\n",
+ 'type' => 'string',
+ 'example' => 'UfuxnwygsuSkVE0VCN****0100',
+ ],
+ 'Tags' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'OtaTagDTO' => [
+ 'description' => 'The tags of the update batch.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The key of each tag.'."\n",
+ 'type' => 'string',
+ 'example' => 'key1',
+ ],
+ 'Value' => [
+ 'description' => 'The value of the tag.'."\n",
+ 'type' => 'string',
+ 'example' => 'value1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"5D58AC86-D5BF-4B39-834E-913E7F2C985D\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"PageCount\\": 1,\\n \\"Total\\": 1,\\n \\"Data\\": {\\n \\"SimpleOTAJobInfo\\": [\\n {\\n \\"ProductKey\\": \\"a19mzPZ****\\",\\n \\"JobStatus\\": \\"IN_PROGRESS\\",\\n \\"UtcStartTime\\": \\"2019-12-28T02:43:10.000Z\\",\\n \\"UtcModified\\": \\"2019-12-28T02:43:10.000Z\\",\\n \\"JobId\\": \\"HvKuBpuk3rdk6E92CP****0200\\",\\n \\"UtcCreate\\": \\"2019-12-28T02:43:10.000Z\\",\\n \\"SelectionType\\": \\"STATIC\\",\\n \\"JobType\\": \\"UPGRADE_FIRMWARE\\",\\n \\"TargetSelection\\": \\"SPECIFIC\\",\\n \\"UtcEndTime\\": \\"2019-12-29T02:43:10.000Z\\",\\n \\"FirmwareId\\": \\"UfuxnwygsuSkVE0VCN****0100\\",\\n \\"Tags\\": {\\n \\"OtaTagDTO\\": [\\n {\\n \\"Key\\": \\"key1\\",\\n \\"Value\\": \\"value1\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>\\r\\n<ListOTAJobByFirmwareResponse>\\r\\n <PageCount>1</PageCount>\\r\\n <Data>\\r\\n <SimpleOTAJobInfo>\\r\\n <SelectionType>STATIC</SelectionType>\\r\\n <TargetSelection>SPECIFIC</TargetSelection>\\r\\n <JobType>UPGRADE_FIRMWARE</JobType>\\r\\n <FirmwareId>yLYuCqfqQNQ1JOqkDa****0100</FirmwareId>\\r\\n <UtcStartTime>2019-12-28T02:43:10.000Z</UtcStartTime>\\r\\n <UtcEndTime>2019-12-29T02:43:10.000Z</UtcEndTime>\\r\\n <ProductKey>a19mzPZ****</ProductKey>\\r\\n <JobId>HvKuBpuk3rdk6E92CP****0200</JobId>\\r\\n <UtcModified>2019-12-28T02:43:10.000Z</UtcModified>\\r\\n <JobStatus>IN_PROGRESS</JobStatus>\\r\\n <UtcCreate>2019-12-28T02:43:10.000Z</UtcCreate>\\r\\n </SimpleOTAJobInfo>\\r\\n </Data>\\r\\n <PageSize>10</PageSize>\\r\\n <RequestId>5D58AC86-D5BF-4B39-834E-913E7F2C985D</RequestId>\\r\\n <CurrentPage>1</CurrentPage>\\r\\n <Success>true</Success>\\r\\n <Total>1</Total>\\r\\n</ListOTAJobByFirmwareResponse>","errorExample":""}]',
+ 'title' => 'ListOTAJobByFirmware',
+ 'summary' => 'Queries the update batches of an update package.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListOTAJobByDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'FirmwareId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the update package. The ID is the unique identifier for the update package.'."\n"
+ ."\n"
+ .'An update package ID is returned when you call the [CreateOTAFirmware](~~147311~~) operation to create the update package. You can call the [ListOTAFirmware](~~147450~~) operation and view the update package ID in the response.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'FJFx8JzpnhpIsKftRjjm03****',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Maximum value: 100.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a19mzPZ****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'light1',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Pages start from page 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CurrentPage' => [
+ 'description' => 'The number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'A01829CE-75A1-4920-B775-921146A1AB79',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.',
+ 'type' => 'string',
+ 'example' => 'FirmwareId is mandatory for this action',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'MissingFirmwareId',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'PageCount' => [
+ 'description' => 'The total number of pages.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of update packages returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'SimpleOTAJobInfo' => [
+ 'description' => 'The update batch information returned if the call is successful. For more information, see the following **SimpleOTAJobInfo** parameter.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => 'The ProductKey of the product to which the update package belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a19mzPZ****',
+ ],
+ 'JobStatus' => [
+ 'description' => 'The status of the update batch. Valid values:'."\n"
+ ."\n"
+ .'* **IN_PROGRESS**: The update batch is running.'."\n"
+ .'* **COMPLETE**: The update batch is completed.'."\n"
+ .'* **CANCELED**: The update batch is canceled.'."\n",
+ 'type' => 'string',
+ 'example' => 'COMPLETED',
+ ],
+ 'UtcStartTime' => [
+ 'description' => 'The start time of the update batch. The time is in the UTC format.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-12-29T02:43:10.000Z',
+ ],
+ 'UtcModified' => [
+ 'description' => 'The time when the task was last modified. The time is in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-12-29T02:43:10.000Z',
+ ],
+ 'JobId' => [
+ 'description' => 'The ID of the update batch.'."\n",
+ 'type' => 'string',
+ 'example' => 'HvKuBpuk3rdk6E92CP****',
+ ],
+ 'UtcCreate' => [
+ 'description' => 'The time when the update batch was created. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-12-28T02:43:10.000Z',
+ ],
+ 'SelectionType' => [
+ 'description' => 'The update policy of the update batch. Valid values:'."\n"
+ ."\n"
+ .'* DYNAMIC: dynamic update. This value is returned if you call the [CreateOTADynamicUpgradeJob](~~147887~~) API operation to create an update batch.'."\n"
+ .'* STATIC: static update. This value is returned if you call the [CreateOTAStaticUpgradeJob](~~147496~~) API operation to create an update batch.'."\n",
+ 'type' => 'string',
+ 'example' => 'STATIC',
+ ],
+ 'JobType' => [
+ 'description' => 'The type of the task. Valid values:'."\n"
+ ."\n"
+ .'* **VERFIY_FIRMWARE**: update package verification.'."\n"
+ .'* **UPGRADE_FIRMWARE**: batch update.'."\n",
+ 'type' => 'string',
+ 'example' => 'UPGRADE_FIRMWARE',
+ ],
+ 'TargetSelection' => [
+ 'description' => 'The scope of the update. Valid values: '."\n"
+ ."\n"
+ .'- **ALL**: updates all devices.'."\n"
+ .'- **SPECIFIC**: updates specified devices.'."\n"
+ .'- **GRAY**: performs a phased update.'."\n"
+ ."\n"
+ .'> The value ALL is returned if you call the [CreateOTADynamicUpgradeJob](/help/en/iot-platform/latest/av6dui) API operation to create an update batch.',
+ 'type' => 'string',
+ 'example' => 'ALL',
+ ],
+ 'UtcEndTime' => [
+ 'description' => 'The end time of the update batch. The time is displayed in UTC.'."\n"
+ ."\n"
+ .'> This parameter is returned only after the update batch is completed.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-12-29T02:43:10.000Z',
+ ],
+ 'FirmwareId' => [
+ 'description' => 'The ID of the update package.'."\n",
+ 'type' => 'string',
+ 'example' => 'FJFx8JzpnhpIsKftRjjm03****',
+ ],
+ 'Tags' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'OtaTagDTO' => [
+ 'description' => 'The tags of the update batch.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The key of each tag.'."\n",
+ 'type' => 'string',
+ 'example' => 'key1',
+ ],
+ 'Value' => [
+ 'description' => 'The value of the tag.'."\n",
+ 'type' => 'string',
+ 'example' => 'value1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"A01829CE-75A1-4920-B775-921146A1AB79\\",\\n \\"ErrorMessage\\": \\"FirmwareId is mandatory for this action\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"MissingFirmwareId\\",\\n \\"PageSize\\": 10,\\n \\"PageCount\\": 1,\\n \\"Total\\": 1,\\n \\"Data\\": {\\n \\"SimpleOTAJobInfo\\": [\\n {\\n \\"ProductKey\\": \\"a19mzPZ****\\",\\n \\"JobStatus\\": \\"COMPLETED\\",\\n \\"UtcStartTime\\": \\"2019-12-29T02:43:10.000Z\\",\\n \\"UtcModified\\": \\"2019-12-29T02:43:10.000Z\\",\\n \\"JobId\\": \\"HvKuBpuk3rdk6E92CP****\\",\\n \\"UtcCreate\\": \\"2019-12-28T02:43:10.000Z\\",\\n \\"SelectionType\\": \\"STATIC\\",\\n \\"JobType\\": \\"UPGRADE_FIRMWARE\\",\\n \\"TargetSelection\\": \\"ALL\\",\\n \\"UtcEndTime\\": \\"2019-12-29T02:43:10.000Z\\",\\n \\"FirmwareId\\": \\"FJFx8JzpnhpIsKftRjjm03****\\",\\n \\"Tags\\": {\\n \\"OtaTagDTO\\": [\\n {\\n \\"Key\\": \\"key1\\",\\n \\"Value\\": \\"value1\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>\\n<ListOTAJobByDeviceResponse>\\n<PageCount>1</PageCount>\\n<Data>\\n <SimpleOTAJobInfo>\\n <SelectionType>STATIC</SelectionType>\\n <TargetSelection>SPECIFIC</TargetSelection>\\n <JobType>UPGRADE_FIRMWARE</JobType>\\n <FirmwareId>FJFx8JzpnhpIsKftRjjm03****</FirmwareId>\\n <UtcStartTime>2019-12-28T02:43:10.000Z</UtcStartTime>\\n <ProductKey>a19mzPZ****</ProductKey>\\n <JobId>HvKuBpuk3rdk6E92CPQN02****</JobId>\\n <UtcModified>2019-12-28T02:43:10.000Z</UtcModified>\\n <JobStatus>IN_PROGRESS</JobStatus>\\n <UtcCreate>2019-12-28T02:43:10.000Z</UtcCreate>\\n </SimpleOTAJobInfo>\\n</Data>\\n<PageSize>10</PageSize>\\n<RequestId>5D58AC86-D5BF-4B39-834E-913E7F2C985D</RequestId>\\n<CurrentPage>1</CurrentPage>\\n<Success>true</Success>\\n<Total>1</Total>\\n</ListOTAJobByDeviceResponse>","errorExample":""}]',
+ 'title' => 'ListOTAJobByDevice',
+ 'summary' => 'Queries all the update batches of a device by update package.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListOTATaskByJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'>* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Maximum value: 100.'."\n"
+ ."\n\n"
+ ."\n"
+ .'> The product of the value of the **CurrentPage** parameter and the value of the **PageSize** parameter must be less than or equal to 100,000.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'TaskStatus',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'If you specify a value for this parameter, only the update tasks that are in the specified state are queried. Valid values:'."\n"
+ ."\n"
+ .'* **CONFIRM**: The update task is pending confirmation.'."\n"
+ .'* **QUEUED**: The update notification is to be pushed.'."\n"
+ .'* **NOTIFIED**: The update notification is pushed to the device.'."\n"
+ .'* **IN_PROGRESS**: The update task is in progress.'."\n"
+ .'* **SUCCEEDED**: The update is successful.'."\n"
+ .'* **FAILED**: The update failed.'."\n"
+ .'* **CANCELED**: The update batch is canceled.'."\n"
+ ."\n"
+ .'If you do not specify a value for this parameter, all update tasks of the specified batch are queried.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'FAILED',
+ ],
+ ],
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the update batch. This ID uniquely identifies the update batch. You can obtain the ID from the value of the **JobId** parameter that is returned after you call the [CreateOTAVerifyJob](~~147480~~), [CreateOTAStaticUpgradeJob](~~147496~~), or [CreateOTADynamicUpgradeJob](~~147887~~) operation. You can also view the batch ID on the **Firmware Details** page of the IoT Platform console.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '7glPHmaDYLAYMD1HHutT02****',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Pages start from page 1.'."\n"
+ ."\n"
+ .'> The product of the value of the **CurrentPage** parameter and the value of the **PageSize** parameter must be less than or equal to 100,000.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'DeviceNames',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The names of the devices that you want to query.'."\n"
+ ."\n"
+ .'> * You can specify up to 50 device names.'."\n"
+ .'>* If you specify a value for this parameter, you do not need to configure the **PageSize** or **CurrentPage** parameter. If you specify values for the **DeviceNames. N**, **PageSize**, and **CurrentPage** parameters at the same time, the value of the **DeviceNames.N** parameter is used.',
+ ],
+ 'required' => false,
+ 'example' => 'device1',
+ 'maxItems' => 50,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CurrentPage' => [
+ 'description' => 'The number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'A59D3BE1-E9A3-43F3-9B50-B7C8DE165D9B',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'PageCount' => [
+ 'description' => 'The total number of pages returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of update tasks.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'SimpleOTATaskInfo' => [
+ 'description' => 'The update task information returned if the call is successful. For more information, see **SimpleOTATaskInfo**.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Timeout' => [
+ 'description' => 'The timeout period of the device update. Unit: minutes.'."\n"
+ ."\n"
+ .'> If no timeout period is specified for the update batch, the return value is null.'."\n",
+ 'type' => 'string',
+ 'example' => '1440',
+ ],
+ 'ProductName' => [
+ 'description' => 'The name of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'MyProduct',
+ ],
+ 'Progress' => [
+ 'description' => 'The current update progress.'."\n",
+ 'type' => 'string',
+ 'example' => '0.00',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The name of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'testDevice2',
+ ],
+ 'UtcCreate' => [
+ 'description' => 'The time when the update task was created. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-11-04T03:38:22.000Z',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1GUfrM****',
+ ],
+ 'TaskStatus' => [
+ 'description' => 'The update status of the device.'."\n"
+ ."\n"
+ .'* **CONFIRM**: The update task is pending confirmation.'."\n"
+ .'* **QUEUED**: The update notification is to be pushed.'."\n"
+ .'* **NOTIFIED**: The update notification is pushed to the device.'."\n"
+ .'* **IN_PROGRESS**: The update task is in progress.'."\n"
+ .'* **SUCCEEDED**: The update is successful.'."\n"
+ .'* **FAILED**: The update failed.'."\n"
+ .'* **CANCELED**: The update batch is canceled.'."\n",
+ 'type' => 'string',
+ 'example' => 'FAILED',
+ ],
+ 'UtcModified' => [
+ 'description' => 'The time when the update task was last modified. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-11-04T03:38:22.000Z',
+ ],
+ 'JobId' => [
+ 'description' => 'The ID of the update batch.'."\n",
+ 'type' => 'string',
+ 'example' => '7glPHmaDYLAYMD1HHutT02****',
+ ],
+ 'SrcVersion' => [
+ 'description' => 'The firmware version before the update.'."\n",
+ 'type' => 'string',
+ 'example' => '1.0.0',
+ ],
+ 'TaskDesc' => [
+ 'description' => 'The description of the update task. This parameter displays an error message if the device update times out or the update task is canceled.'."\n",
+ 'type' => 'string',
+ 'example' => 'report version is not conform',
+ ],
+ 'TaskId' => [
+ 'description' => 'The ID of the update task.'."\n",
+ 'type' => 'string',
+ 'example' => 'y3tOmCDNgpR8F9jnVEzC01****',
+ ],
+ 'DestVersion' => [
+ 'description' => 'The version of the destination over-the-air (OTA) update package.'."\n",
+ 'type' => 'string',
+ 'example' => '1.0.1',
+ ],
+ 'FirmwareId' => [
+ 'description' => 'The ID of the update package.'."\n",
+ 'type' => 'string',
+ 'example' => 'q3j9OYBjUAZMv1hlMgdo03****',
+ ],
+ 'IotId' => [
+ 'description' => 'The ID of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'nadRdeffljdEndlfadgadfse****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"A59D3BE1-E9A3-43F3-9B50-B7C8DE165D9B\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"PageCount\\": 1,\\n \\"Total\\": 2,\\n \\"Data\\": {\\n \\"SimpleOTATaskInfo\\": [\\n {\\n \\"Timeout\\": \\"1440\\",\\n \\"ProductName\\": \\"MyProduct\\",\\n \\"Progress\\": \\"0.00\\",\\n \\"DeviceName\\": \\"testDevice2\\",\\n \\"UtcCreate\\": \\"2019-11-04T03:38:22.000Z\\",\\n \\"ProductKey\\": \\"a1GUfrM****\\",\\n \\"TaskStatus\\": \\"FAILED\\",\\n \\"UtcModified\\": \\"2019-11-04T03:38:22.000Z\\",\\n \\"JobId\\": \\"7glPHmaDYLAYMD1HHutT02****\\",\\n \\"SrcVersion\\": \\"1.0.0\\",\\n \\"TaskDesc\\": \\"report version is not conform\\",\\n \\"TaskId\\": \\"y3tOmCDNgpR8F9jnVEzC01****\\",\\n \\"DestVersion\\": \\"1.0.1\\",\\n \\"FirmwareId\\": \\"q3j9OYBjUAZMv1hlMgdo03****\\",\\n \\"IotId\\": \\"nadRdeffljdEndlfadgadfse****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListOTATaskByJobResponse>\\n<PageCount>1</PageCount>\\n<Data>\\n <SimpleOTATaskInfo>\\n <SrcVersion>1.0.0</SrcVersion>\\n <DeviceName>testDevice1</DeviceName>\\n <FirmwareId>q3j9OYBjUAZMv1hlMgdo03****</FirmwareId>\\n <IotId>SR8FiTu1R9tlUR2V1bmi00105****</IotId>\\n <ProductKey>a1GUfrM****</ProductKey>\\n <JobId>7glPHmaDYLAYMD1HHutT02****</JobId>\\n <TaskDesc>report version is not conform</TaskDesc>\\n <DestVersion>1.0.1</DestVersion>\\n <Timeout>1440</Timeout>\\n <UtcCreate>2019-11-04T03:38:15.000Z</UtcCreate>\\n <UtcModified>2019-11-04T03:38:15.000Z</UtcModified>\\n <TaskStatus>FAILED</TaskStatus>\\n <ProductName>MyProduct</ProductName>\\n <TaskId>y3tOmCDNgpR8F9jnVEzC01****</TaskId>\\n <Progress>0.00</Progress>\\n </SimpleOTATaskInfo>\\n <SimpleOTATaskInfo>\\n <SrcVersion>1.0.0</SrcVersion>\\n <DeviceName>testDevice2</DeviceName>\\n <FirmwareId>q3j9OYBjUAZMv1hlMgdo03****</FirmwareId>\\n <IotId>nadRdeffljdEndlfadgadfse****</IotId>\\n <ProductKey>a1GUfrM****</ProductKey>\\n <JobId>7glPHmaDYLAYMD1HHutT02****</JobId>\\n <TaskDesc/>\\n <DestVersion>1.0.1</DestVersion>\\n <Timeout>1000</Timeout>\\n <UtcCreate>2019-11-04T03:38:22.000Z</UtcCreate>\\n <UtcModified>2019-11-04T03:38:22.000Z</UtcModified>\\n <TaskStatus>SUCCEEDED</TaskStatus>\\n <ProductName>MyProduct</ProductName>\\n <TaskId>ZS9sNBb1ahsu6khqr9II01****</TaskId>\\n <Progress>100.00</Progress>\\n </SimpleOTATaskInfo>\\n</Data>\\n<PageSize>10</PageSize>\\n<RequestId>A59D3BE1-E9A3-43F3-9B50-B7C8DE165D9B</RequestId>\\n<CurrentPage>1</CurrentPage>\\n<Success>true</Success>\\n<Total>2</Total>\\n</ListOTATaskByJobResponse>","errorExample":""}]',
+ 'title' => 'ListOTATaskByJob',
+ 'summary' => 'Queries the update tasks of a device by update batch.',
+ 'description' => '## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryOTAJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the update batch.'."\n"
+ ."\n"
+ .'After you call the [CreateOTAVerifyJob](~~147480~~), [CreateOTAStaticUpgradeJob](~~147496~~), or [CreateOTADynamicUpgradeJob](~~147887~~) API operation to create the update batch, you can obtain the **JobId** parameter. You can also view the batch ID on the **Update Package Details** page of the IoT Platform console.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'wahVIzGkCMuAUE2gDERM02****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '30F1BB8D-EDBF-44FD-BBC0-BE97DEA73991',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The update batch information returned if the call is successful. For more information, see the following parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'UtcCreate' => [
+ 'description' => 'The time when the update batch was created. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-12-28T02:43:10.000Z',
+ ],
+ 'RetryInterval' => [
+ 'description' => 'The automatic retry interval after a device fails to be updated. Unit: minutes.'."\n"
+ ."\n"
+ .'This parameter is returned if a retry policy is set when you create the update batch.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '60',
+ ],
+ 'JobType' => [
+ 'description' => 'The type of the batch. Valid values:'."\n"
+ ."\n"
+ .'* **VERFIY_FIRMWARE**: update package verification.'."\n"
+ .'* **UPGRADE_FIRMWARE**: batch update.'."\n",
+ 'type' => 'string',
+ 'example' => 'UPGRADE_FIRMWARE',
+ ],
+ 'SelectionType' => [
+ 'description' => 'The update policy of the update batch. Valid values:'."\n"
+ ."\n"
+ .'* **DYNAMIC**: dynamic update. This value is returned if you call the [CreateOTADynamicUpgradeJob](~~147887~~) API operation to create an update batch.'."\n"
+ .'* **STATIC**: static update. This value is returned if you call the [CreateOTAStaticUpgradeJob](~~147496~~) API operation to create an update batch.'."\n",
+ 'type' => 'string',
+ 'example' => 'STATIC',
+ ],
+ 'OverwriteMode' => [
+ 'description' => 'Specifies whether to overwrite the previous update task. Valid values:'."\n"
+ ."\n"
+ .'* **1**: The previous update task is not overwritten. If a device already has an update task, the previous update task is implemented.'."\n"
+ .'* **2**: The previous update task is overwritten. Only the current update task is implemented.'."\n"
+ ."\n"
+ .'The update task that is in progress is not overwritten.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'TargetSelection' => [
+ 'description' => 'The scope of the update batch. Valid values: '."\n"
+ ."\n"
+ .'- **ALL**: updates all devices.'."\n"
+ .'- **SPECIFIC**: updates specified devices.'."\n"
+ .'- **GRAY**: performs a phased update.'."\n"
+ ."\n"
+ .'> The value ALL is returned if you call the [CreateOTADynamicUpgradeJob](/help/en/iot-platform/latest/av6dui) API operation to create an update batch.',
+ 'type' => 'string',
+ 'example' => 'SPECIFIC',
+ ],
+ 'TimeoutInMinutes' => [
+ 'description' => 'The timeout period of the device update. Unit: minutes.'."\n"
+ ."\n"
+ .'This parameter is returned if the timeout period is set when you create the update batch.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ 'GrayPercent' => [
+ 'description' => 'The phase ratio of the phased update.'."\n"
+ ."\n"
+ .'This parameter is returned only if you perform a phased update.'."\n",
+ 'type' => 'string',
+ 'example' => '50.00',
+ ],
+ 'NeedPush' => [
+ 'description' => 'Specifies whether to automatically push update tasks from IoT Platform to devices.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'JobStatus' => [
+ 'description' => 'The status of the update batch.'."\n"
+ ."\n"
+ .'* **PLANNED**: The update batch is being planned. The batch is created, but the scheduled time has not arrived. This parameter is returned only if you perform a static update.'."\n"
+ .'* **IN_PROGRESS**: The update batch is running.'."\n"
+ .'* **COMPLETED**: The update batch is completed.'."\n"
+ .'* **CANCELED**: The update batch is canceled.'."\n",
+ 'type' => 'string',
+ 'example' => 'IN_PROGRESS',
+ ],
+ 'JobDesc' => [
+ 'description' => 'The description of the update batch.'."\n",
+ 'type' => 'string',
+ 'example' => 'batch upgrade',
+ ],
+ 'UtcModified' => [
+ 'description' => 'The time when the update batch was last modified. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-12-28T02:43:10.000Z',
+ ],
+ 'UtcStartTime' => [
+ 'description' => 'The start time of the update batch. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-12-28T02:43:10.000Z',
+ ],
+ 'MultiModuleMode' => [
+ 'description' => 'Specifies whether the device supports simultaneous updates of multiple modules.'."\n"
+ ."\n"
+ .'* **false** (default): no.'."\n"
+ .'* **true**: yes.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~58328~~).'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'UtcEndTime' => [
+ 'description' => 'The end time of the update batch. The time is displayed in UTC.'."\n"
+ ."\n"
+ .'This parameter is returned only after the update batch is completed.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-12-29T02:43:10.000Z',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the update package.'."\n",
+ 'type' => 'string',
+ 'example' => 'Firmware2',
+ ],
+ 'DestVersion' => [
+ 'description' => 'The destination firmware version of the update.'."\n",
+ 'type' => 'string',
+ 'example' => '1.0.1',
+ ],
+ 'UtcScheduleFinishTime' => [
+ 'description' => 'The end time of the scheduled update batch. This parameter is returned only if the update batch is scheduled and the end time of the scheduled update batch is specified.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-12-30T02:43:10.000Z',
+ ],
+ 'MaximumPerMinute' => [
+ 'description' => 'The maximum number of devices to which the download URL of the update package is pushed per minute.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1000',
+ ],
+ 'DynamicMode' => [
+ 'description' => 'The mode of dynamic update. Valid values:'."\n"
+ ."\n"
+ .'* **1**: constantly updates the devices that meet the conditions.'."\n"
+ .'* **2**: updates only the devices that subsequently submit the latest firmware versions.'."\n"
+ ."\n"
+ .'This parameter is returned only if you perform a dynamic update.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'RetryCount' => [
+ 'description' => 'The number of automatic retries after a device fails to be updated.'."\n"
+ ."\n"
+ .'This parameter is returned if a retry policy is set when you create the update batch.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The ProductKey of the product to which the update package belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a19mzPZ****',
+ ],
+ 'GroupName' => [
+ 'description' => 'The name of the device group to be updated.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'GroupId' => [
+ 'description' => 'The ID of the device group to be updated.'."\n",
+ 'type' => 'string',
+ 'example' => 'CtjzCkNuOxUR***',
+ ],
+ 'UtcScheduleTime' => [
+ 'description' => 'The start time of the scheduled update batch. This parameter is returned only for scheduled update batches.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-12-29T02:43:10.000Z',
+ ],
+ 'JobId' => [
+ 'description' => 'The ID of the update batch.'."\n",
+ 'type' => 'string',
+ 'example' => 'HvKuBpuk3rdk6E92CP****0200',
+ ],
+ 'DownloadProtocol' => [
+ 'description' => 'The download protocol of the update package.'."\n",
+ 'type' => 'string',
+ 'example' => 'HTTPS',
+ ],
+ 'NeedConfirm' => [
+ 'description' => 'Specifies whether to confirm the update by using your mobile app.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'FirmwareId' => [
+ 'description' => 'The ID of the update package.'."\n",
+ 'type' => 'string',
+ 'example' => 'UfuxnwygsuSkVE0VCN****0100',
+ ],
+ 'Tags' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'OtaTagDTO' => [
+ 'description' => 'The tags of the update batch.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The key of each tag.'."\n",
+ 'type' => 'string',
+ 'example' => 'key1',
+ ],
+ 'Value' => [
+ 'description' => 'The value of the tag.'."\n",
+ 'type' => 'string',
+ 'example' => 'value1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'SrcVersions' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'SrcVersion' => [
+ 'description' => 'The list of firmware versions to be updated.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{"SrcVersion": ["1.0.0"]}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"30F1BB8D-EDBF-44FD-BBC0-BE97DEA73991\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"UtcCreate\\": \\"2019-12-28T02:43:10.000Z\\",\\n \\"RetryInterval\\": 60,\\n \\"JobType\\": \\"UPGRADE_FIRMWARE\\",\\n \\"SelectionType\\": \\"STATIC\\",\\n \\"OverwriteMode\\": 1,\\n \\"TargetSelection\\": \\"SPECIFIC\\",\\n \\"TimeoutInMinutes\\": 5,\\n \\"GrayPercent\\": \\"50.00\\",\\n \\"NeedPush\\": true,\\n \\"JobStatus\\": \\"IN_PROGRESS\\",\\n \\"JobDesc\\": \\"batch upgrade\\",\\n \\"UtcModified\\": \\"2019-12-28T02:43:10.000Z\\",\\n \\"UtcStartTime\\": \\"2019-12-28T02:43:10.000Z\\",\\n \\"MultiModuleMode\\": false,\\n \\"UtcEndTime\\": \\"2019-12-29T02:43:10.000Z\\",\\n \\"Name\\": \\"Firmware2\\",\\n \\"DestVersion\\": \\"1.0.1\\",\\n \\"UtcScheduleFinishTime\\": \\"2019-12-30T02:43:10.000Z\\",\\n \\"MaximumPerMinute\\": 1000,\\n \\"DynamicMode\\": 1,\\n \\"RetryCount\\": 1,\\n \\"ProductKey\\": \\"a19mzPZ****\\",\\n \\"GroupName\\": \\"test\\",\\n \\"GroupId\\": \\"CtjzCkNuOxUR***\\",\\n \\"UtcScheduleTime\\": \\"2019-12-29T02:43:10.000Z\\",\\n \\"JobId\\": \\"HvKuBpuk3rdk6E92CP****0200\\",\\n \\"DownloadProtocol\\": \\"HTTPS\\",\\n \\"NeedConfirm\\": false,\\n \\"FirmwareId\\": \\"UfuxnwygsuSkVE0VCN****0100\\",\\n \\"Tags\\": {\\n \\"OtaTagDTO\\": [\\n {\\n \\"Key\\": \\"key1\\",\\n \\"Value\\": \\"value1\\"\\n }\\n ]\\n },\\n \\"SrcVersions\\": {\\n \\"SrcVersion\\": [\\n \\"{\\\\\\"SrcVersion\\\\\\": [\\\\\\"1.0.0\\\\\\"]}\\"\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryOTAJobResponse>\\n<Data>\\n <TimeoutInMinutes>5</TimeoutInMinutes>\\n <JobDesc>batch upgrade</JobDesc>\\n <DownloadProtocol>HTTPS</DownloadProtocol>\\n <UtcStartTime>2019-12-28T02:43:10.000Z</UtcStartTime>\\n <UtcEndTime>2019-12-29T02:43:10.000Z</UtcEndTime>\\n <ProductKey>a19mzPZ****</ProductKey>\\n <UtcModified>2019-12-28T02:43:10.000Z</UtcModified>\\n <JobStatus>IN_PROGRESS</JobStatus>\\n <UtcCreate>2019-12-28T02:43:10.000Z</UtcCreate>\\n <SelectionType>STATIC</SelectionType>\\n <TargetSelection>SPECIFIC</TargetSelection>\\n <JobType>UPGRADE_FIRMWARE</JobType>\\n <GroupId/>\\n <GroupName/>\\n <RetryInterval>60</RetryInterval>\\n <RetryCount>1</RetryCount>\\n <OverwriteMode>1</OverwriteMode>\\n <MultiModuleMode>true</MultiModuleMode>\\n <MaximumPerMinute>1000</MaximumPerMinute>\\n <SrcVersions>\\n <SrcVersion>1.0.0</SrcVersion>\\n </SrcVersions>\\n <Name>firmware2</Name>\\n <NeedConfirm>true</NeedConfirm>\\n <NeedPush>false</NeedPush>\\n <FirmwareId>UfuxnwygsuSkVE0VCN****0100</FirmwareId>\\n <JobId>HvKuBpuk3rdk6E92CP****0200</JobId>\\n <DestVersion>1.0.1</DestVersion>\\n</Data>\\n<RequestId>30F1BB8D-EDBF-44FD-BBC0-BE97DEA73991</RequestId>\\n<Success>true</Success>\\n</QueryOTAJobResponse>","errorExample":""}]',
+ 'title' => 'QueryOTAJob',
+ 'summary' => 'Queries the details of an update batch.',
+ 'description' => 'After you call the [CreateOTAVerifyJob](~~147480~~), [CreateOTAStaticUpgradeJob](~~147496~~), or [CreateOTADynamicUpgradeJob](~~147887~~) API operation to create an update batch, the **JobId** parameter is returned. You can use this parameter to query the details of the update batch.'."\n"
+ ."\n"
+ .'## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS). '."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CancelOTAStrategyByJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the update batch.'."\n"
+ ."\n"
+ .'After you call the [CreateOTADynamicUpgradeJob](~~147887~~) operation to create an update batch, the **JobId** parameter is returned. You can also view the batch ID on the **Firmware Details** page of the IoT Platform console.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'HvKuBpuk3rdk6E92CP****0200',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '291438BA-6E10-4C4C-B761-243B9A0D324F',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"291438BA-6E10-4C4C-B761-243B9A0D324F\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>\\r\\n<CancelOTAStrategyByJobResponse>\\r\\n <RequestId>A01829CE-75A1-4920-B775-921146A1AB79</RequestId>\\r\\n <Success>true</Success>\\r\\n</CancelOTAStrategyByJobResponse>","errorExample":""}]',
+ 'title' => 'CancelOTAStrategyByJob',
+ 'summary' => 'Cancels a dynamic update policy.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* You can cancel only the dynamic update policy that is attached to a dynamic update batch. This operation is not applicable to static update batches.'."\n"
+ ."\n"
+ .' After the operation is successful, the **JobStatus** parameter is set to CANCELED.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CancelOTATaskByJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can obtain the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify this parameter. Otherwise, the call fails.'."\n"
+ .'>* If the **Overview** page or an instance ID is not displayed in the IoT Platform console, ignore this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the update batch.'."\n"
+ ."\n"
+ .'Use the value that is returned for the **JobId** parameter contained in the response of the [CreateOTAStaticUpgradeJob](~~147496~~) or [CreateOTADynamicUpgradeJob](~~147887~~) operation. You can also obtain the batch ID on the **Firmware Details** page of the IoT Platform console.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '7glPHmaDYLAYMD1HHutT02****',
+ ],
+ ],
+ [
+ 'name' => 'CancelScheduledTask',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to cancel update tasks of a scheduled update batch. If you specify the **ScheduleTime** parameter when you call the [CreateOTAStaticUpgradeJob](~~147496~~) operation, a scheduled update batch is created. Default value: false. Valid values:'."\n"
+ ."\n"
+ .'* **true**: cancel update tasks of a scheduled update batch.'."\n"
+ .'* **false**: do not cancel update tasks of a scheduled update batch.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'CancelQueuedTask',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to cancel the update tasks that are in the **QUEUED** state in an update batch. Default value: false. Valid values:'."\n"
+ ."\n"
+ .'* **true**: cancel the update tasks that are in the NOTIFIED state.'."\n"
+ .'* **false**: do not cancel the update tasks that are in the NOTIFIED state.'."\n"
+ ."\n"
+ .'> If you set this parameter to **true** and specify the **CancelUnconfirmedTask** parameter, only the update tasks that are in the QUEUED state are canceled. If you do not specify the **CancelUnconfirmedTask** parameter, the update tasks that are in the QUEUED or CONFIRM state are canceled.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'CancelInProgressTask',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to cancel the update tasks that are in the **IN_PROGRESS** state in an update batch. Default value: false. Valid values:'."\n"
+ ."\n"
+ .'* **true**: cancel the update tasks that are in the IN_PROGRESS state.'."\n"
+ .'* **false**: do not cancel the update tasks that are in the IN_PROGRESS state.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'CancelNotifiedTask',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to cancel the update tasks that are in the **NOTIFIED** state in an update batch. Default value: false. Valid values:'."\n"
+ ."\n"
+ .'* **true**: cancel the update tasks that are in the NOTIFIED state.'."\n"
+ .'* **false**: do not cancel the update tasks that are in the NOTIFIED state.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'CancelUnconfirmedTask',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to cancel the update tasks that are in the **CONFIRM** state in an update batch. Default value: false. Valid values:'."\n"
+ ."\n"
+ .'* **true**: cancel the update tasks that are in the CONFIRM state.'."\n"
+ .'* **false**: do not cancel the update tasks that are in the CONFIRM state.'."\n"
+ ."\n"
+ .'This parameter is empty by default.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter and set the **CancelQueuedTask** parameter to **true**, the update tasks that are in the CONFIRM state are canceled. If you set the **CancelQueuedTask** parameter to **false**, the update tasks that are in the CONFIRM state are not canceled.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '291438BA-6E10-4C4C-B761-243B9A0D324F',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"291438BA-6E10-4C4C-B761-243B9A0D324F\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>\\r\\n<CancelOTATaskByJobResponse>\\r\\n <RequestId>A01829CE-75A1-4920-B775-921146A1AB79</RequestId>\\r\\n <Success>true</Success>\\r\\n</CancelOTATaskByJobResponse>","errorExample":""}]',
+ 'title' => 'CancelOTATaskByJob',
+ 'summary' => 'Cancels update tasks of a specified batch.',
+ 'description' => 'When you call this operation, make sure that you specify at least one of the CancelScheduledTask, CancelQueuedTask, CancelInProgressTask, CancelNotifiedTask, and CancelUnconfirmedTask parameters. Otherwise, the request will fail.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of five queries per second (QPS). '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CancelOTATaskByDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n"
+ .'>* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'FirmwareId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The unique ID of the OTA update package.'."\n"
+ ."\n"
+ .'An update package ID is returned after you call the [CreateOTAFirmware](~~147311~~) operation to create the update package.'."\n"
+ ."\n"
+ .'You can call the [ListOTAFirmware](~~147450~~) operation and view the update package ID in the response.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'T0F5b5tpFnHQrgfk****030100',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1V4kde****',
+ ],
+ ],
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the update batch. If you configure this parameter, only the device update tasks in the specified update batch are deleted.'."\n"
+ ."\n"
+ .'After you call the [CreateOTAVerifyJob](~~147480~~), [CreateOTAStaticUpgradeJob](~~147496~~), or [CreateOTADynamicUpgradeJob](~~147887~~) operation to create a device update task, you can obtain the value of the **JobId** parameter. You can also view the batch ID on the **Firmware Details** page in the IoT Platform console.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'wahVIzGkCMuAUE2gDERM02****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The list of device names that you want to query.'."\n"
+ ."\n"
+ .'Each device name in the list must be unique.'."\n"
+ ."\n"
+ .'The list can contain up to 200 device names.'."\n",
+ ],
+ 'required' => true,
+ 'example' => 'device1',
+ 'maxItems' => 200,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'A01829CE-75A1-4920-B775-921146A1AB79',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"A01829CE-75A1-4920-B775-921146A1AB79\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>\\r\\n<CancelOTATaskByDeviceResponse>\\r\\n <RequestId>A01829CE-75A1-4920-B775-921146A1AB79</RequestId>\\r\\n <Success>true</Success>\\r\\n</CancelOTATaskByDeviceResponse>","errorExample":""}]',
+ 'title' => 'CancelOTATaskByDevice',
+ 'summary' => 'Cancels the device update tasks that are in the to be pushed, pushed, or in upgrade state of an OTA update package.',
+ 'description' => 'This operation can cancel device update tasks only when the tasks are in the to be pushed, pushed, or in upgrade state.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run up to 10 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateOTAModule' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AliasName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The alias of the OTA module. The alias must be 1 to 64 characters in length, and can contain letters, digits, periods(.), hyphens (-), and underscores (\\_).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ModuleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the OTA module. The name is unique in a product and cannot be modified. The name can contain letters, digits, periods (.), hyphens (-), and underscores (\\_). The name must be 1 to 64 characters in length.'."\n"
+ ."\n"
+ .'> Letters are not case-sensitive. For example, you cannot use the module names scanner and Scanner at the same time.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'barcodeScanner',
+ ],
+ ],
+ [
+ 'name' => 'Desc',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the OTA module. The description can be up to 100 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the OTA module belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1Le6d0****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '74C2BB8D-1D6F-41F5-AE68-6B2310883F63',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"74C2BB8D-1D6F-41F5-AE68-6B2310883F63\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateOTAModuleResponse>\\n <RequestId>29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1</RequestId>\\n <Success>true</Success>\\n</CreateOTAModuleResponse>","errorExample":""}]',
+ 'title' => 'CreateOTAModule',
+ 'summary' => 'Creates an over-the-air (OTA) module for a product.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'OTA modules are the updatable units of the devices that belong to the same product. The default module indicates the entire firmware of a device. You can call this operation to create a custom OTA module.'."\n"
+ ."\n"
+ .'* You can create a maximum of 10 custom OTA modules for each product.'."\n"
+ ."\n"
+ .'* After an OTA module is created, you cannot modify its name. You can call the [UpdateOTAModule](~~186061~~) operation to modify the module alias and description.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateOTAModule' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AliasName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new alias of the OTA module. The alias must be 1 to 64 characters in length, and can contain letters, digits, periods(.), hyphens (-), and underscores (\\_).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ModuleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the OTA module.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'barcodeScanner',
+ ],
+ ],
+ [
+ 'name' => 'Desc',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new description of the OTA module. The description can be up to 100 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the OTA module belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1Le6d0****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '74C2BB8D-1D6F-41F5-AE68-6B2310883F63',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"74C2BB8D-1D6F-41F5-AE68-6B2310883F63\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateOTAModuleResponse>\\r\\n <RequestId>29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1</RequestId>\\r\\n <Success>true</Success>\\r\\n</UpdateOTAModuleResponse>","errorExample":""}]',
+ 'title' => 'UpdateOTAModule',
+ 'summary' => 'Modifies the alias and description of an OTA module.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteOTAModule' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the OTA module belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1uctKe****',
+ ],
+ ],
+ [
+ 'name' => 'ModuleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the OTA module.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'barcodeScanner',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '74C2BB8D-1D6F-41F5-AE68-6B2310883F63',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"74C2BB8D-1D6F-41F5-AE68-6B2310883F63\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteOTAModuleResponse>\\r\\n <RequestId>29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1</RequestId>\\r\\n <Success>true</Success>\\r\\n</DeleteOTAModuleResponse>","errorExample":""}]',
+ 'title' => 'DeleteOTAModule',
+ 'summary' => 'Deletes a custom OTA module.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* The default module cannot be deleted.'."\n"
+ ."\n"
+ .'* If an update package exists in an OTA module, you cannot delete the OTA module.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListOTAModuleByProduct' => [
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-0pp1n8t****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1uctKe****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '74C2BB8D-1D6F-41F5-AE68-6B2310883F63',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The OTA modules returned if the call is successful.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ModuleName' => [
+ 'description' => 'The name of the OTA module.'."\n",
+ 'type' => 'string',
+ 'example' => 'barcodeScanner',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The ProductKey of the product.'."\n",
+ 'type' => 'string',
+ 'example' => 'aluctKe****',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The time when the OTA module was created. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2020-10-13T09:46Z',
+ ],
+ 'AliasName' => [
+ 'description' => 'The alias of the OTA module.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'GmtModified' => [
+ 'description' => 'The last time when the OTA module was updated. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2020-10-19T09:46Z',
+ ],
+ 'Desc' => [
+ 'description' => 'The description of the OTA module.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"74C2BB8D-1D6F-41F5-AE68-6B2310883F63\\",\\n \\"Success\\": true,\\n \\"Data\\": [\\n {\\n \\"ModuleName\\": \\"barcodeScanner\\",\\n \\"ProductKey\\": \\"aluctKe****\\",\\n \\"GmtCreate\\": \\"2020-10-13T09:46Z\\",\\n \\"AliasName\\": \\"条码扫描仪\\",\\n \\"GmtModified\\": \\"2020-10-19T09:46Z\\",\\n \\"Desc\\": \\"这个模块对应于条码扫描仪的固件\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListOTAModuleByProductResponse>\\n <RequestId>74C2BB8D-1D6F-41F5-AE68-6B2310883F63</RequestId>\\n <Data>\\n <Desc>这个模块对应于条码扫描仪的固件</Desc>\\n <GmtCreate>2020-10-13T09:46Z</GmtCreate>\\n <ModuleName>barcodeScanner</ModuleName>\\n <AliasName>条码扫描仪</AliasName>\\n <GmtModified>2020-10-19T09:46Z</GmtModified>\\n <ProductKey>a1uctKe****</ProductKey>\\n </Data>\\n <Success>true</Success>\\n</ListOTAModuleByProductResponse>","errorExample":""}]',
+ 'title' => 'ListOTAModuleByProduct',
+ 'summary' => 'Queries all OTA modules of a product.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ConfirmOTATask' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-v64********',
+ ],
+ ],
+ [
+ 'name' => 'TaskId',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The ID of the update task to be confirmed. You can specify a maximum of 10 task IDs.'."\n",
+ ],
+ 'required' => true,
+ 'example' => 'y3tOmCDNgpR8F9jnVEzC01****',
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'A59D3BE1-E9A3-43F3-9B50-B7C8DE165D9B',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"A59D3BE1-E9A3-43F3-9B50-B7C8DE165D9B\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ConfirmOTATask>\\n<RequestId>A59D3BE1-E9A3-43F3-9B50-B7C8DE165D9B</RequestId>\\n<Success>true</Success>\\n</ConfirmOTATask>","errorExample":""}]',
+ 'title' => 'ConfirmOTATask',
+ 'summary' => 'Confirms the device update tasks that are in the pending confirmation status.',
+ 'description' => 'To confirm update tasks in a scheduled update batch, you must call this operation within the specified time range.'."\n"
+ ."\n"
+ .'## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 20 queries per second (QPS). '."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListOTAUnfinishedTaskByDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-c3j***',
+ ],
+ ],
+ [
+ 'name' => 'ModuleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the OTA module.'."\n"
+ ."\n"
+ .'* If you specify this parameter, update tasks of the specified module are queried.'."\n"
+ .'* If you do not specify this parameter, update tasks of all modules are queried.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'WifiConfigModify',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **DeviceName** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a19mzPZ****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **ProductKey** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'TaskStatus',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The status of the update task.'."\n"
+ ."\n"
+ .'* **CONFIRM**: The update task is pending confirmation.'."\n"
+ .'* **QUEUED**: The update notification is to be pushed.'."\n"
+ .'* **NOTIFIED**: The update notification is pushed to the device.'."\n"
+ .'* **IN_PROGRESS**: The update task is in progress.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'CONFIRM',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'TfmUAeJjQQhCPH84UVNn0010c6****',
+ ],
+ ],
+ [
+ 'name' => 'TaskStatusList',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ 'required' => false,
+ 'maxItems' => 4,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'A59D3BE1-E9A3-43F3-9B50-B7C8DE165D9B',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'SimpleOTATaskInfo' => [
+ 'description' => 'The update task information returned if the call is successful. For more information, see the following **SimpleOTATaskInfo**.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ModuleName' => [
+ 'description' => 'The name of the OTA module.'."\n",
+ 'type' => 'string',
+ 'example' => 'WifiConfigModify',
+ ],
+ 'ProductName' => [
+ 'description' => 'The name of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'MyProduct',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'light',
+ ],
+ 'UtcCreate' => [
+ 'description' => 'The time when the update task was created. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-11-04T03:38:22.000Z',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The ProductKey of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1GUfrM****',
+ ],
+ 'TaskStatus' => [
+ 'description' => 'The status of the update task.'."\n"
+ ."\n"
+ .'* **CONFIRM**: The update task is pending confirmation.'."\n"
+ .'* **QUEUED**: The update notification is to be pushed.'."\n"
+ .'* **NOTIFIED**: The update notification is pushed to the device.'."\n"
+ .'* **IN_PROGRESS**: The update task is in progress.'."\n",
+ 'type' => 'string',
+ 'example' => 'CONFIRM',
+ ],
+ 'UtcModified' => [
+ 'description' => 'The time when the update task was last modified. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-04T03:38:22.000Z',
+ ],
+ 'JobId' => [
+ 'description' => 'The ID of the update batch.'."\n",
+ 'type' => 'string',
+ 'example' => '7glPHmaDYLAYMD1HHutT02****',
+ ],
+ 'SrcVersion' => [
+ 'description' => 'The firmware version before the update.'."\n",
+ 'type' => 'string',
+ 'example' => '1.0.0',
+ ],
+ 'TaskId' => [
+ 'description' => 'The ID of the update task.'."\n",
+ 'type' => 'string',
+ 'example' => 'y3tOmCDNgpR8F9jnVEzC01****',
+ ],
+ 'DestVersion' => [
+ 'description' => 'The firmware version after the update.'."\n",
+ 'type' => 'string',
+ 'example' => '1.0.1',
+ ],
+ 'FirmwareId' => [
+ 'description' => 'The ID of the update package.'."\n",
+ 'type' => 'string',
+ 'example' => 'q3j9OYBjUAZMv1hlMgdo03****',
+ ],
+ 'IotId' => [
+ 'description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'nadRdeffljdEndlfadgadfse****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.common.InvalidPageParams',
+ 'errorMessage' => 'The specified pagination size or pagination parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.NullProductKey',
+ 'errorMessage' => 'The productKey is empty.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.InvalidFormattedProductkey',
+ 'errorMessage' => 'The productKey format is incorrect.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.NullOtaModuleName',
+ 'errorMessage' => 'the module name can not be empty.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.InvalidOtaModuleName',
+ 'errorMessage' => 'the format of module name is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.EmptyDeviceInfoParams',
+ 'errorMessage' => 'the device info in params is empty',
+ ],
+ [
+ 'errorCode' => 'iot.firmware.InvalidTaskStatus',
+ 'errorMessage' => 'Invalid TaskStatus.',
+ ],
+ [
+ 'errorCode' => 'iot.device.InvalidFormattedDeviceNameInNameArray',
+ 'errorMessage' => 'The deviceName list contains an invalid device name.',
+ ],
+ [
+ 'errorCode' => 'iot.firmware.ListOTATaskByDeviceFailed',
+ 'errorMessage' => 'Failed to list OTA tasks by device.',
+ ],
+ [
+ 'errorCode' => 'iot.device.NotExistedDevice',
+ 'errorMessage' => 'The device does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.NotExistedProduct',
+ 'errorMessage' => 'The specified product does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"A59D3BE1-E9A3-43F3-9B50-B7C8DE165D9B\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"SimpleOTATaskInfo\\": [\\n {\\n \\"ModuleName\\": \\"WifiConfigModify\\",\\n \\"ProductName\\": \\"MyProduct\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"UtcCreate\\": \\"2019-11-04T03:38:22.000Z\\",\\n \\"ProductKey\\": \\"a1GUfrM****\\",\\n \\"TaskStatus\\": \\"CONFIRM\\",\\n \\"UtcModified\\": \\"2021-11-04T03:38:22.000Z\\",\\n \\"JobId\\": \\"7glPHmaDYLAYMD1HHutT02****\\",\\n \\"SrcVersion\\": \\"1.0.0\\",\\n \\"TaskId\\": \\"y3tOmCDNgpR8F9jnVEzC01****\\",\\n \\"DestVersion\\": \\"1.0.1\\",\\n \\"FirmwareId\\": \\"q3j9OYBjUAZMv1hlMgdo03****\\",\\n \\"IotId\\": \\"nadRdeffljdEndlfadgadfse****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListOTAUnfinishedTaskByDevice>\\n<Data>\\n <SimpleOTATaskInfo>\\n <SrcVersion>1.0.0</SrcVersion>\\n <DeviceName>testDevice1</DeviceName>\\n <FirmwareId>q3j9OYBjUAZMv1hlMgdo03****</FirmwareId>\\n <IotId>SR8FiTu1R9tlUR2V1bmi00105****</IotId>\\n <ProductKey>a1GUfrM****</ProductKey>\\n <JobId>7glPHmaDYLAYMD1HHutT02****</JobId>\\n <DestVersion>1.0.1</DestVersion>\\n <UtcCreate>2019-11-04T03:38:15.000Z</UtcCreate>\\n <UtcModified>2019-11-04T03:38:15.000Z</UtcModified>\\n <TaskStatus>QUEUED</TaskStatus>\\n <ProductName>MyProduct</ProductName>\\n <TaskId>y3tOmCDNgpR8F9jnVEzC01****</TaskId>\\n <ModuleName>WifiConfigModify</ModuleName>\\n </SimpleOTATaskInfo>\\n <SimpleOTATaskInfo>\\n <SrcVersion>1.0.0</SrcVersion>\\n <DeviceName>testDevice2</DeviceName>\\n <FirmwareId>q3j9OYBjUAZMv1hlMgdo03****</FirmwareId>\\n <IotId>nadRdeffljdEndlfadgadfse****</IotId>\\n <ProductKey>a1GUfrM****</ProductKey>\\n <JobId>7glPHmaDYLAYMD1HHutT02****</JobId>\\n <DestVersion>1.0.1</DestVersion>\\n <UtcCreate>2019-11-04T03:38:22.000Z</UtcCreate>\\n <UtcModified>2019-11-04T03:38:22.000Z</UtcModified>\\n <TaskStatus>CONFIRM</TaskStatus>\\n <ProductName>MyProduct</ProductName>\\n <TaskId>ZS9sNBb1ahsu6khqr9II01****</TaskId>\\n <ModuleName>ConfigModify</ModuleName>\\n </SimpleOTATaskInfo>\\n</Data>\\n<RequestId>A59D3BE1-E9A3-43F3-9B50-B7C8DE165D9B</RequestId>\\n<Success>true</Success>\\n</ListOTAUnfinishedTaskByDevice>","errorExample":""}]',
+ 'title' => 'ListOTAUnfinishedTaskByDevice',
+ 'summary' => 'Queries uncompleted update tasks of a specified device.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ReupgradeOTATask' => [
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the update batch.'."\n"
+ ."\n"
+ .'After you call the [CreateOTAStaticUpgradeJob](~~147496~~) or [CreateOTADynamicUpgradeJob](~~147887~~) operation to create an update batch, the **JobId** parameter is returned.'."\n"
+ ."\n"
+ .'You can also view the **batch ID** on the **Firmware Details** page in the IoT Platform console.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '7glPHmaDYLAYMD1HHutT02****',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the ID of an instance on the **Overview** page in the IoT Platform console.****'."\n"
+ ."\n"
+ .'>* If the instance has an ID, you must specify the **IotInstanceId** parameter. If you do not specify this parameter, the call fails.'."\n"
+ .'>* If the instance does not have an **ID** or no **Overview** page is displayed for the instance, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Instance overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-v64***',
+ ],
+ ],
+ [
+ 'name' => 'TaskId',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => 'The ID of the device update task that you want to rerun. Valid values of **N**: 1 to 10.'."\n",
+ ],
+ 'required' => true,
+ 'example' => 'y3tOmCDNgpR8F9jnVEzC01****',
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '291438BA-6E10-4C4C-B761-243B9A0D324F',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.ota.FirmwareNotVerified',
+ 'errorMessage' => 'The firmware validation is not completed.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.NotFirmwareOwner',
+ 'errorMessage' => 'The user is not owner of firmware.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.UnmatchedJob',
+ 'errorMessage' => 'The jobId and taskId do not match.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.JobCanceled',
+ 'errorMessage' => 'The job has already been canceled.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.InvalidJobId',
+ 'errorMessage' => 'The job is not existed.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.InvalidFirmwareUid',
+ 'errorMessage' => 'The firmware is not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.InvalidTaskId',
+ 'errorMessage' => 'The tasks are not existed.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.FailedTaskNotFound',
+ 'errorMessage' => 'There are no failed tasks.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.InvalidTaskExist',
+ 'errorMessage' => 'The taskId list contains at least an invalid task.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.DeviceNotReUpgraded',
+ 'errorMessage' => 'There is no device can upgrade.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.DeviceNotExist',
+ 'errorMessage' => 'The device does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.TooManyOtaTask',
+ 'errorMessage' => 'There are too many tasks in parameters.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"291438BA-6E10-4C4C-B761-243B9A0D324F\\",\\n \\"Success\\": false\\n}","errorExample":""},{"type":"xml","example":"<ReupgradeOTATaskResponse>\\n<RequestId>291438BA-6E10-4C4C-B761-243B9A0D324F</RequestId>\\n<Success>true</Success>\\n</ReupgradeOTATaskResponse>","errorExample":""}]',
+ 'title' => 'ReupgradeOTATask',
+ 'summary' => 'Reruns one or more failed or canceled device update tasks in a specified update batch.',
+ 'description' => 'If the update task requires confirmation, you must make sure that it has been confirmed before you call this operation. You can call the [ConfirmOTATask](~~254666~~) operation to confirm update tasks.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 20 queries per second (QPS). '."\n"
+ ."\n"
+ .'> The Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must also configure common request parameters when you call this operation. For more information, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListOTAModuleVersionsByDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n"
+ .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. A maximum of 200 entries can be displayed on each page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'aluctKe****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device to be queried.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'newdevice',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device. The device ID is issued by IoT Platform.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CurrentPage' => [
+ 'description' => 'The current page number.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '291438BA-6E10-4C4C-B761-243B9A0D324F',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call fails.',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful.'."\n"
+ ."\n"
+ .'* **true**: The call was successful.'."\n"
+ .'* **false**: The call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of module versions returned on each page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'PageCount' => [
+ 'description' => 'The total number of pages returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of module versions that was submitted by the device.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'SimpleOTAModuleInfo' => [
+ 'description' => 'The module version information returned if the call is successful. The information was submitted by the device. For more information, see the **SimpleOTAModuleInfo** parameter in this table.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ModuleName' => [
+ 'description' => 'The name of the OTA module.'."\n",
+ 'type' => 'string',
+ 'example' => 'barcodeScanner',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'aluctKe****',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'newDevice',
+ ],
+ 'ModuleVersion' => [
+ 'description' => 'The module version that was submitted by the device.'."\n",
+ 'type' => 'string',
+ 'example' => '1.0',
+ ],
+ 'IotId' => [
+ 'description' => 'The ID of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'QjIFT***000101',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"291438BA-6E10-4C4C-B761-243B9A0D324F\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"PageCount\\": 1,\\n \\"Total\\": 10,\\n \\"Data\\": {\\n \\"SimpleOTAModuleInfo\\": [\\n {\\n \\"ModuleName\\": \\"barcodeScanner\\",\\n \\"ProductKey\\": \\"aluctKe****\\",\\n \\"DeviceName\\": \\"newDevice\\",\\n \\"ModuleVersion\\": \\"1.0\\",\\n \\"IotId\\": \\"QjIFT***000101\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListOTAModuleVersionsByDeviceResponse>\\n<requestId>67AF7881-704C-40CC-B296-72F91380A117</requestId>\\n<success>true</success>\\n<code/>\\n<errorMessage/>\\n<PageSize>10</PageSize>\\n<PageCount>1</PageCount>\\n<CurrentPage>1</CurrentPage>\\n<Total>1</Total>\\n<Data>\\n <SimpleOTAModuleInfo>\\n <IotId>QjIFT***000101</IotId>\\n <ModuleVersion>1.6940.1</ModuleVersion>\\n <ModuleName>default</ModuleName>\\n <ProductKey>a14***S</ProductKey>\\n <DeviceName>newDevice</DeviceName>\\n </SimpleOTAModuleInfo>\\n</Data>\\n</ListOTAModuleVersionsByDeviceResponse>","errorExample":""}]',
+ 'title' => 'ListOTAModuleVersionsByDevice',
+ 'summary' => 'Queries the version information of the over-the-air (OTA) modules that are submitted by a device.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'OpenIotService' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ [
+ 'APP' => [],
+ ],
+ [
+ 'PrivateKey' => [],
+ ],
+ [
+ 'BearerToken' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'OrderId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '20671870***',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '427DB0B3-9436-4A3C-B2BC-B961F95E9488',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'OrderOpend',
+ 'errorMessage' => 'You have already purchased the Iot service. Go to the Iot console to start using it.',
+ ],
+ [
+ 'errorCode' => 'AccountTypeRestricted',
+ 'errorMessage' => 'Please submit the application for beta testing first. You can activate the product after the application is approved.',
+ ],
+ [
+ 'errorCode' => 'PermissionDenied',
+ 'errorMessage' => 'The current sub account without permission, to authorize the Sub - Account, please.',
+ ],
+ [
+ 'errorCode' => 'PriceWanHuaTongSys',
+ 'errorMessage' => 'Inquiry call kaleidoscope error',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"OrderId\\": \\"20671870***\\",\\n \\"RequestId\\": \\"427DB0B3-9436-4A3C-B2BC-B961F95E9488\\"\\n}","errorExample":""},{"type":"xml","example":"<OpenIotServiceResponse>\\n<RequestId>427DB0B3-9436-4A3C-B2BC-B961F95E9488</RequestId>\\n<OrderId>20671870***</OrderId>\\n</OpenIotServiceResponse>","errorExample":""}]',
+ 'title' => 'OpenIotService',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BindLicenseProduct' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-23***',
+ ],
+ ],
+ [
+ 'name' => 'LicenseCode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '480P',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV***',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E4F94B97-1D64-4080-BFD2-67461667AA43',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.rtc.service.notSigned',
+ 'errorMessage' => 'The RTC service is not activated.',
+ ],
+ [
+ 'errorCode' => 'iot.rtc.invalid.license.code',
+ 'errorMessage' => 'invalid license code',
+ ],
+ [
+ 'errorCode' => 'iot.rtc.invalid.product.key',
+ 'errorMessage' => 'invalid product key',
+ ],
+ [
+ 'errorCode' => 'iot.rtc.license.product.relation.exist',
+ 'errorMessage' => 'license product relation has exist',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Data\\": true,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4F94B97-1D64-4080-BFD2-67461667AA43\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BindLicenseProductResponse>\\n<RequestId>E4F94B97-1D64-4080-BFD2-67461667AA43</RequestId>\\n<Data>true</Data>\\n<Success>true</Success>\\n</BindLicenseProductResponse>","errorExample":""}]',
+ 'title' => 'BindLicenseProduct',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UnbindLicenseProduct' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Enterprise Edition instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-s3***',
+ ],
+ ],
+ [
+ 'name' => 'LicenseCode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The license type that specifies the audio and video specifications. Valid values: **480P** and **720P**.'."\n"
+ ."\n"
+ .'To view the license type of a product, choose **License Management > Product Authorization** in the **Real-time Communication Service** console.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '480P',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ProductKey of the product from which you want to unbind the license.'."\n"
+ ."\n"
+ .'You can choose **License Management > Product Authorization** in the **Real-Time Communication Service** console to view the **ProductKey** of the product.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'gq62z***',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see the **Error codes** section of this topic.'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'Data' => [
+ 'description' => 'Indicates whether the license was unbound from the product.'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'E4F94B97-1D64-4080-BFD2-67461667AA43',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.rtc.service.notSigned',
+ 'errorMessage' => 'The RTC service is not activated.',
+ ],
+ [
+ 'errorCode' => 'iot.rtc.invalid.license.code',
+ 'errorMessage' => 'invalid license code',
+ ],
+ [
+ 'errorCode' => 'iot.rtc.invalid.product.key',
+ 'errorMessage' => 'invalid product key',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Data\\": true,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4F94B97-1D64-4080-BFD2-67461667AA43\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UnbindLicenseProductResponse>\\n<RequestId>E4F94B97-1D64-4080-BFD2-67461667AA43</RequestId>\\n<Data>true</Data>\\n<Success>true</Success>\\n</UnbindLicenseProductResponse>","errorExample":""}]',
+ 'title' => 'UnbindLicenseProduct',
+ 'summary' => 'Unbinds a license from a specific product.',
+ 'description' => '## Usage notes'."\n"
+ ."\n"
+ .'A license is bound with a product. For more information, see [BindLicenseProduct](~~427956~~) or [Bind a license to a product](~~427937~~).'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 10 times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BindLicenseDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Enterprise Edition instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-e3***',
+ ],
+ ],
+ [
+ 'name' => 'LicenseCode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The license type that specifies the audio and video specifications. Valid values: **480P** and **720P**.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '720P',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the devices belong.'."\n"
+ ."\n"
+ .'You can go to the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products of the instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a2YwD23***',
+ ],
+ ],
+ [
+ 'name' => 'IotIdList',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ 'required' => false,
+ 'maxItems' => 10000,
+ ],
+ ],
+ [
+ 'name' => 'DeviceNameList',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ 'required' => false,
+ 'maxItems' => 10000,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see the "Error codes" section in this topic.'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'E4F94B97-1D64-4080-BFD2-67461667AA43',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The result of the batch binding operation.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'SuccessSum' => [
+ 'description' => 'The number of devices to which the license is successfully bound.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '10',
+ ],
+ 'Progress' => [
+ 'description' => 'The progress of the batch binding operation. The progress is a percentage. Valid values: 1 to 100.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'ResultCsvFile' => [
+ 'description' => 'The URL of the file that contains unbound devices. The devices failed to be bound to the license.'."\n",
+ 'type' => 'string',
+ 'example' => 'http://***',
+ ],
+ 'CheckProgressId' => [
+ 'description' => 'The unique ID that can be used to query the progress of the batch binding operation.'."\n",
+ 'type' => 'string',
+ 'example' => '123***',
+ ],
+ 'FailSum' => [
+ 'description' => 'The number of devices that failed to be bound to the license.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '2',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.rtc.service.notSigned',
+ 'errorMessage' => 'The RTC service is not activated.',
+ ],
+ [
+ 'errorCode' => 'iot.rtc.invalid.product.key',
+ 'errorMessage' => 'Invalid product key.',
+ ],
+ [
+ 'errorCode' => 'iot.rtc.license.product.relation.nonexist',
+ 'errorMessage' => 'License product relation non existent.',
+ ],
+ [
+ 'errorCode' => 'iot.rtc.license.quota.lack',
+ 'errorMessage' => 'License quota is not enough.',
+ ],
+ [
+ 'errorCode' => 'iot.vas.EmptyLicenseDeviceList',
+ 'errorMessage' => 'Empty license device list.',
+ ],
+ [
+ 'errorCode' => 'iot.rtc.invalid.license.code',
+ 'errorMessage' => 'Invalid license code.',
+ ],
+ [
+ 'errorCode' => 'iot.rtc.license.device.authorization.executing',
+ 'errorMessage' => 'Authorization for this license device is in progress.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4F94B97-1D64-4080-BFD2-67461667AA43\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"SuccessSum\\": 10,\\n \\"Progress\\": 100,\\n \\"ResultCsvFile\\": \\"http://***\\",\\n \\"CheckProgressId\\": \\"123***\\",\\n \\"FailSum\\": 2\\n }\\n}","errorExample":""},{"type":"xml","example":"<BindLicenseDeviceResponse>\\n<RequestId>E4F94B97-1D64-4080-BFD2-67461667AA43</RequestId>\\n<Data>\\n <CheckProgressId>123***</CheckProgressId>\\n <Progress>10</Progress>\\n <ResultCsvFile>http://***</ResultCsvFile>\\n <FailSum>2</FailSum>\\n <SuccessSum>10</SuccessSum>\\n</Data>\\n<Success>true</Success>\\n</BindLicenseDeviceResponse>","errorExample":""}]',
+ 'title' => 'BindLicenseDevice',
+ 'summary' => 'Binds a license to devices of a specific product.',
+ 'description' => '## Usage notes'."\n"
+ ."\n"
+ .'Before you call this operation, make sure that the following steps are complete:'."\n"
+ ."\n"
+ .'1. A license is purchased. For more information, see [Purchase a license](~~427935~~).'."\n"
+ .'2. The license is bound to a product. The devices to which you want to bind the license belong to the product. For more information, see [BindLicenseProduct](~~427956~~) or [Bind a license to a product](~~427937~~).'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 10 times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CheckBindLicenseDeviceProgress' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot-2ws****',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'LicenseCode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '720P',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'uhf5****',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'CheckProgressId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '23****',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'iot.system.SystemException',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => '',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => '291438BA-6E10-4C4C-B761-243B9A0D324F',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'properties' => [
+ 'SuccessSum' => [
+ 'description' => '',
+ 'example' => '9',
+ 'format' => 'int64',
+ 'type' => 'integer',
+ ],
+ 'Progress' => [
+ 'description' => '',
+ 'example' => '80',
+ 'format' => 'int32',
+ 'type' => 'integer',
+ ],
+ 'ResultCsvFile' => [
+ 'description' => '',
+ 'example' => 'http://***.oss-***.aliyuncs.com/license_device_***/***/d***h/c***.csv?Expires=16***&OSSAccessKeyId=L***&Signature=***',
+ 'type' => 'string',
+ ],
+ 'FailSum' => [
+ 'description' => '',
+ 'example' => '1',
+ 'format' => 'int64',
+ 'type' => 'integer',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.rtc.service.notSigned',
+ 'errorMessage' => 'The RTC service is not activated.',
+ ],
+ [
+ 'errorCode' => 'iot.rtc.invalid.product.key',
+ 'errorMessage' => 'Invalid product key.',
+ ],
+ [
+ 'errorCode' => 'iot.rtc.license.product.relation.nonexist',
+ 'errorMessage' => 'License product relation non existent.',
+ ],
+ [
+ 'errorCode' => 'iot.rtc.invalid.license.code',
+ 'errorMessage' => 'Invalid license code.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"291438BA-6E10-4C4C-B761-243B9A0D324F\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"SuccessSum\\": 9,\\n \\"Progress\\": 80,\\n \\"ResultCsvFile\\": \\"http://***.oss-***.aliyuncs.com/license_device_***/***/d***h/c***.csv?Expires=16***&OSSAccessKeyId=L***&Signature=***\\",\\n \\"FailSum\\": 1\\n }\\n}","errorExample":""},{"type":"xml","example":"<CheckBindLicenseDeviceProgressResponse>\\n<RequestId>291438BA-6E10-4C4C-B761-243B9A0D324F</RequestId>\\n<Data>\\n <Progress>80</Progress>\\n <ResultCsvFile>http://***.oss-***.aliyuncs.com/license_device_***/***/d***h/c***.csv?Expires=16***&amp;OSSAccessKeyId=L***&amp;Signature=***</ResultCsvFile>\\n <FailSum>1</FailSum>\\n <SuccessSum>9</SuccessSum>\\n</Data>\\n<Success>true</Success>\\n</CheckBindLicenseDeviceProgressResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'summary' => 'Queries the authorization progress of devices based on a unique ID returned by the BindLicenseDevice operation. The unique ID is specified by the CheckProgressId parameter.',
+ 'title' => 'CheckBindLicenseDeviceProgress',
+ ],
+ 'QueryLicenseDeviceList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'> You must specify this parameter for a public instance of the new version or an Enterprise Edition instance. You do not need to specify this parameter for a public instance of the previous version.'."\n"
+ ."\n"
+ .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-ws4***',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 100. Default value: 20.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '50',
+ ],
+ ],
+ [
+ 'name' => 'LicenseCode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The license type that specifies the audio and video specifications. Valid values: **480P** and **720P**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '720P',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the devices belong.'."\n"
+ ."\n"
+ .'You can go to the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products of the instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'es****',
+ ],
+ ],
+ [
+ 'name' => 'PageId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the device.'."\n"
+ ."\n"
+ .'You can call the [QueryDevice](~~69905~~) operation to query the **IotId** values of all devices that belong to a specific product.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The start time of the time range in which the license is bound to the devices. The timestamp follows the UNIX time format. It is the number of seconds that have elapsed since 00:00:00 Thursday, January 1, 1970.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1620634297000',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The end time of the time range in which the license is bound to the devices.The timestamp follows the UNIX time format. It is the number of seconds that have elapsed since 00:00:00 Thursday, January 1, 1970.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1620934297000',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see the **"Error codes"** section in this topic.'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '291438BA-6E10-4C4C-B761-243B9A0D324F',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The response message.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'PageSize' => [
+ 'description' => 'The number of entries per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'PageId' => [
+ 'description' => 'The page number.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'DeviceList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'item' => [
+ 'description' => 'The information about the devices.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ExpiryTime' => [
+ 'description' => 'The expiration time of the license.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1690934297000',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'es****',
+ ],
+ 'ProductName' => [
+ 'description' => 'The ProductName of the product.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'device1',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The time when the license was bound to the device.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1620634297000',
+ ],
+ 'LicenseCode' => [
+ 'description' => 'The license type that indicates the audio and video specifications. Valid values: **480P** and **720P**.'."\n",
+ 'type' => 'string',
+ 'example' => '720P',
+ ],
+ 'IotId' => [
+ 'description' => 'The device ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.rtc.service.notSigned',
+ 'errorMessage' => 'The RTC service is not activated.',
+ ],
+ [
+ 'errorCode' => 'iot.rtc.invalid.license.code',
+ 'errorMessage' => 'invalid license code',
+ ],
+ [
+ 'errorCode' => 'iot.rtc.invalid.product.key',
+ 'errorMessage' => 'invalid product key',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"291438BA-6E10-4C4C-B761-243B9A0D324F\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 2,\\n \\"PageId\\": 1,\\n \\"Total\\": 10,\\n \\"DeviceList\\": {\\n \\"item\\": [\\n {\\n \\"ExpiryTime\\": 1690934297000,\\n \\"ProductKey\\": \\"es****\\",\\n \\"ProductName\\": \\"测试产品\\",\\n \\"DeviceName\\": \\"device1\\",\\n \\"GmtCreate\\": 1620634297000,\\n \\"LicenseCode\\": \\"720P\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryLicenseDeviceListResponse>\\n<RequestId>739536F1-9EB3-511E-960A-524C473EE87A</RequestId>\\n<Data>\\n <PageId>1</PageId>\\n <PageSize>20</PageSize>\\n <Total>2</Total>\\n <DeviceList>\\n <item>\\n <IotId>QTGl****000000</IotId>\\n <LicenseCode>480P</LicenseCode>\\n <GmtCreate>1653996767000</GmtCreate>\\n <ProductName>xinde</ProductName>\\n <ExpiryTime>1748604768000</ExpiryTime>\\n <ProductKey>a1****ls</ProductKey>\\n <DeviceName>device001</DeviceName>\\n </item>\\n <item>\\n <IotId>eJt****000000</IotId>\\n <LicenseCode>480P</LicenseCode>\\n <GmtCreate>1653996767000</GmtCreate>\\n <ProductName>xinde</ProductName>\\n <ExpiryTime>1748604768000</ExpiryTime>\\n <ProductKey>a1****ls</ProductKey>\\n <DeviceName>fefe</DeviceName>\\n </item>\\n </DeviceList>\\n</Data>\\n<Success>true</Success>\\n</QueryLicenseDeviceListResponse>","errorExample":""}]',
+ 'title' => 'QueryLicenseDeviceList',
+ 'summary' => 'Queries the devices that are bound to a license.',
+ 'description' => '## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 10 times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ReBindLicenseDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'> You must specify the ID of a public instance of the new version or an Enterprise Edition instance. Otherwise, the request fails. You do not need to specify the ID of a public instance of the previous version.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~) of IoT instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-e3***',
+ ],
+ ],
+ [
+ 'name' => 'LicenseCode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The license type. Set the value to **LINK_SPEECH_COMMON_LICENSE**.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'LINK_SPEECH_COMMON_LICENSE',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the devices belong.'."\n"
+ ."\n"
+ .'You can go to the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products of the instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a2YwD23***',
+ ],
+ ],
+ [
+ 'name' => 'DeviceNameList',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The **DeviceNames** of all devices to which you want to rebind a license.'."\n"
+ ."\n"
+ .'You can call the [QueryDevice](~~69905~~) operation to query the **DeviceNames** of all devices that belong to a specific product.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The **DeviceName** of the device to which you want to rebind a license.'."\n"
+ ."\n"
+ .'You can call the [QueryDevice](~~69905~~) operation to query the **DeviceNames** of all devices that belong to a specific product.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testdevice',
+ ],
+ 'required' => true,
+ 'example' => 'test',
+ 'maxItems' => 10000,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'An internal error occurred. Try again later.',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'AF71BF1D-B552-47CD-B34B-352557627992',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The result of the batch rebinding operation.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'SuccessSum' => [
+ 'description' => 'The number of devices to which the license is rebound.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '10',
+ ],
+ 'Progress' => [
+ 'description' => 'The progress of the batch rebinding operation. The progress is a percentage. Valid values: 1 to 100.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'ResultCsvFile' => [
+ 'description' => 'The URL of the file that contains unbound devices. The devices failed to be rebound with the license.'."\n",
+ 'type' => 'string',
+ 'example' => 'http://***',
+ ],
+ 'CheckProgressId' => [
+ 'description' => 'The unique ID that can be used to query the progress of the batch rebinding operation.'."\n",
+ 'type' => 'string',
+ 'example' => '123***',
+ ],
+ 'FailSum' => [
+ 'description' => 'The number of devices that failed to be rebound to the license.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '2',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.rtc.service.notSigned',
+ 'errorMessage' => 'The RTC service is not activated.',
+ ],
+ [
+ 'errorCode' => 'iot.rtc.invalid.license.code',
+ 'errorMessage' => 'invalid license code',
+ ],
+ [
+ 'errorCode' => 'iot.rtc.invalid.product.key',
+ 'errorMessage' => 'invalid product key',
+ ],
+ [
+ 'errorCode' => 'iot.rtc.license.product.relation.nonexist',
+ 'errorMessage' => 'license product relation non existent',
+ ],
+ [
+ 'errorCode' => 'iot.rtc.license.quota.lack',
+ 'errorMessage' => 'license quota is not enough',
+ ],
+ [
+ 'errorCode' => 'iot.rtc.license.device.authorization.executing',
+ 'errorMessage' => 'authorization for this license device is in progress',
+ ],
+ [
+ 'errorCode' => 'iot.vas.EmptyLicenseDeviceList',
+ 'errorMessage' => 'empty license device list',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"An internal error occurred. Try again later.\\",\\n \\"RequestId\\": \\"AF71BF1D-B552-47CD-B34B-352557627992\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"SuccessSum\\": 10,\\n \\"Progress\\": 100,\\n \\"ResultCsvFile\\": \\"http://***\\",\\n \\"CheckProgressId\\": \\"123***\\",\\n \\"FailSum\\": 2\\n }\\n}","errorExample":""},{"type":"xml","example":"<ReBindLicenseDeviceResponse>\\n<RequestId>AF71BF1D-B552-47CD-B34B-352557627992</RequestId>\\n<Data>\\n <CheckProgressId>123***</CheckProgressId>\\n <Progress>100</Progress>\\n <ResultCsvFile>http://***</ResultCsvFile>\\n <FailSum>2</FailSum>\\n <SuccessSum>10</SuccessSum>\\n</Data>\\n<Success>true</Success>\\n</ReBindLicenseDeviceResponse>","errorExample":""}]',
+ 'title' => 'ReBindLicenseDevice',
+ 'summary' => 'Rebinds a license to multiple devices of a specific product.',
+ 'description' => '## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to five times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ImportDTData' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'dgb9****',
+ ],
+ ],
+ [
+ 'name' => 'DTInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-****001',
+ ],
+ ],
+ [
+ 'name' => 'Items',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Params' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '{"key1":12,"key2":56}',
+ ],
+ 'DeviceName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Device1',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'maxItems' => 200,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Iot.digitaltwin.RequestParamError',
+ 'errorMessage' => 'Request parameter error.',
+ ],
+ [
+ 'errorCode' => 'Iot.digitaltwin.instanceNotFound',
+ 'errorMessage' => 'The instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'Iot.digitaltwin.instanceNodeNotExist',
+ 'errorMessage' => 'The nodeId is not exist.',
+ ],
+ [
+ 'errorCode' => 'Iot.product.ProductNotFound',
+ 'errorMessage' => 'product not found.',
+ ],
+ [
+ 'errorCode' => 'Iot.digitaltwin.productAuthticFailed',
+ 'errorMessage' => 'Product authentic failed.',
+ ],
+ [
+ 'errorCode' => 'Iot.device.DeviceNotFound',
+ 'errorMessage' => 'device not found.',
+ ],
+ [
+ 'errorCode' => 'Iot.digitaltwin.notSupportApiDataSource',
+ 'errorMessage' => 'APIs cannot be used as data sources.',
+ ],
+ [
+ 'errorCode' => 'Iot.digitaltwin.tooManyRequest',
+ 'errorMessage' => 'Too many requests.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ImportDTDataResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Success>true</Success>\\n</ImportDTDataResponse>","errorExample":""}]',
+ 'title' => 'ImportDTData',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'PrintByTemplate' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'ParamsJsonString',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The template parameters. You can obtain the template of receipts in the Letter Sending Service console, and configure parameters in the template to create a custom receipt that you want to print.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The device ID.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you do not need to specify the **ProductKey** and **DeviceName** parameters. **IotId** specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify the **IotId**, **ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '4de2c367****8c585e5992**',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The instance ID.'."\n"
+ ."\n"
+ .'You do not need to specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'TemplateBizCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The template identifier. You can obtain the template identifier in the Letter Sending Service console.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The unique identifier of the product to which the device belongs.'."\n"
+ ."\n"
+ .'> If you specify the **ProductKey** parameter, you must also specify the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'HistoryPrintTopic',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'Specifies whether to send the historical topic to the printer.'."\n"
+ ."\n"
+ .'* false (default): The topic that is sent to the printer is in the \\*\\*/ext/rrpc/+/{pk}/{dn}/user/print\\*\\* format.'."\n"
+ .'* true: The topic that is sent to the printer is in the \\*\\*/ext/rrpc/+/{pk}/{dn}/print\\*\\* format.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.printservice.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'print service not open',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-*** ',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The result of the printing operation.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RetryCount' => [
+ 'description' => 'The actual number of retries.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the printing operation was successful.'."\n"
+ ."\n"
+ .'* **true**: The printing operation was successful.'."\n"
+ .'* **false**: The printing operation failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DeviceErrorMessage' => [
+ 'description' => 'The error message returned by the printer.'."\n",
+ 'type' => 'string',
+ 'example' => 'no paper',
+ ],
+ 'MaxRetryCount' => [
+ 'description' => 'The maximum number of retries. The value is fixed at 2, which indicates that up to two printing retries are supported.'."\n"
+ ."\n"
+ .'If the printer responds to the printing command with a failure or timeout error, IoT Platform delivers the printing command to the printer.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'DeviceErrorCode' => [
+ 'description' => 'The error code returned by the printer. Valid values:'."\n"
+ ."\n"
+ .'* 2: The printer ran out of paper.'."\n"
+ .'* 3: A paper jam occurred in the printer.'."\n",
+ 'type' => 'string',
+ 'example' => '2',
+ ],
+ 'Id' => [
+ 'description' => 'The ID of the printing operation.'."\n",
+ 'type' => 'string',
+ 'example' => 'NyWh5lw3*****RfL9LJUivhOhQV*****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.printservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"print service not open\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\\\t\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"RetryCount\\": 0,\\n \\"Success\\": true,\\n \\"DeviceErrorMessage\\": \\"no paper\\",\\n \\"MaxRetryCount\\": 2,\\n \\"DeviceErrorCode\\": \\"2\\",\\n \\"Id\\": \\"NyWh5lw3*****RfL9LJUivhOhQV*****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<PrintByTemplateResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***\\t</RequestId>\\n<Data>\\n <MaxRetryCount>2</MaxRetryCount>\\n <RetryCount>0</RetryCount>\\n <Id>NyWh5lw3*****RfL9LJUivhOhQV*****</Id>\\n <DeviceErrorCode>2</DeviceErrorCode>\\n <DeviceErrorMessage>no paper</DeviceErrorMessage>\\n <Success>true</Success>\\n</Data>\\n<Success>true</Success>\\n</PrintByTemplateResponse>","errorExample":""}]',
+ 'title' => 'PrintByTemplate',
+ 'summary' => 'Prints a receipt that follows the template in the Letter Sending Service console.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Before you call this operation, a receipt template must be available in the Letter Sending Service console. Otherwise, the request fails.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 50 times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GisQueryDeviceLocation' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'ThingList',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'g3r****Vjta',
+ ],
+ 'DeviceName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'mock_device_name',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'maxItems' => 20,
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-a****13l',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '4C717018-B6D4-5EB0-8495-2A4FF08D58CA',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'g3r****Vjta',
+ ],
+ 'DeviceName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'mock_device_name',
+ ],
+ 'CoordinateSystem' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Longitude' => [
+ 'description' => '',
+ 'type' => 'number',
+ 'format' => 'float',
+ 'example' => '120.0',
+ ],
+ 'Country' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Ip' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '127.0.0.1',
+ ],
+ 'City' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Adcode' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '90000',
+ ],
+ 'Latitude' => [
+ 'description' => '',
+ 'type' => 'number',
+ 'format' => 'float',
+ 'example' => '30.0',
+ ],
+ 'Province' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"4C717018-B6D4-5EB0-8495-2A4FF08D58CA\\",\\n \\"Success\\": true,\\n \\"Data\\": [\\n {\\n \\"ProductKey\\": \\"g3r****Vjta\\",\\n \\"DeviceName\\": \\"mock_device_name\\",\\n \\"CoordinateSystem\\": 1,\\n \\"Longitude\\": 120,\\n \\"Country\\": \\"中国\\",\\n \\"Ip\\": \\"127.0.0.1\\",\\n \\"City\\": \\"杭州\\",\\n \\"Adcode\\": 90000,\\n \\"Latitude\\": 30,\\n \\"Province\\": \\"浙江省\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GisQueryDeviceLocationResponse>\\n <RequestId>4C717018-B6D4-5EB0-8495-2A4FF08D58CA</RequestId>\\n <Data>\\n <CoordinateSystem>1</CoordinateSystem>\\n <Ip>127.0.0.1</Ip>\\n <Country>中国</Country>\\n <Adcode>90000</Adcode>\\n <Latitude>30</Latitude>\\n <City>杭州</City>\\n <Longitude>120</Longitude>\\n <Province>浙江省</Province>\\n <ProductKey>g3r****Vjta</ProductKey>\\n <DeviceName>mock_device_name</DeviceName>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</GisQueryDeviceLocationResponse>","errorExample":""}]',
+ 'title' => 'GisQueryDeviceLocation',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GisSearchDeviceTrace' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'MapMatch',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '0',
+ 'format' => 'int32',
+ 'required' => true,
+ 'type' => 'integer',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot-a****13l',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '1645071254000',
+ 'format' => 'int64',
+ 'required' => true,
+ 'type' => 'integer',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '1645071254000',
+ 'format' => 'int64',
+ 'required' => true,
+ 'type' => 'integer',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'g3r****Vjta',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'mock_device_name',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => '200',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'request parameter error',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => '4C717018-B6D4-5EB0-8495-2A4FF08D58CA',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'properties' => [
+ 'DeviceName' => [
+ 'description' => '',
+ 'example' => 'mock_device_name',
+ 'type' => 'string',
+ ],
+ 'ProductKey' => [
+ 'description' => '',
+ 'example' => 'g3r****Vjta',
+ 'type' => 'string',
+ ],
+ 'Points' => [
+ 'description' => '',
+ 'items' => [
+ 'properties' => [
+ 'LocateTime' => [
+ 'description' => '',
+ 'example' => '1645071254000',
+ 'format' => 'int64',
+ 'type' => 'integer',
+ ],
+ 'Location' => [
+ 'description' => '',
+ 'example' => '120.0,30.0',
+ 'type' => 'string',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ 'type' => 'array',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.gis.InvalidRequestParam',
+ 'errorMessage' => 'Invalid Request Param.',
+ ],
+ [
+ 'errorCode' => 'iot.gis.InvalidParamSize',
+ 'errorMessage' => 'Invalid Param Size',
+ ],
+ [
+ 'errorCode' => 'iot.gis.lbsBasicFalse',
+ 'errorMessage' => 'lbs service has not open yet.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"4C717018-B6D4-5EB0-8495-2A4FF08D58CA\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"DeviceName\\": \\"mock_device_name\\",\\n \\"ProductKey\\": \\"g3r****Vjta\\",\\n \\"Points\\": [\\n {\\n \\"LocateTime\\": 1645071254000,\\n \\"Location\\": \\"120.0,30.0\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GisSearchDeviceTraceResponse>\\n <RequestId>4C717018-B6D4-5EB0-8495-2A4FF08D58CA</RequestId>\\n <Data>\\n <ProductKey>g3r****Vjta</ProductKey>\\n <DeviceName>mock_device_name</DeviceName>\\n <Points>\\n <LocateTime>1645071254000</LocateTime>\\n <Location>120.0,30.0</Location>\\n </Points>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</GisSearchDeviceTraceResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'GisSearchDeviceTrace',
+ ],
+ 'CreateSpeech' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'Voice',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Xiaoyun',
+ ],
+ ],
+ [
+ 'name' => 'SpeechType',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'custom',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'BizCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'identifying',
+ ],
+ ],
+ [
+ 'name' => 'SpeechRate',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '500',
+ 'minimum' => '-500',
+ 'example' => '0',
+ 'default' => '0',
+ ],
+ ],
+ [
+ 'name' => 'Volume',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '0',
+ 'example' => '50',
+ 'default' => '50',
+ ],
+ ],
+ [
+ 'name' => 'ProjectCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ [
+ 'name' => 'Text',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'AudioFormat',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'wav',
+ ],
+ ],
+ [
+ 'name' => 'SoundCodeConfig',
+ 'in' => 'formData',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'required' => false,
+ 'example' => '{"SoundCodeContent": "www.taobao.com", "AdditionalDuration": 3}',
+ ],
+ ],
+ [
+ 'name' => 'EnableSoundCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.speechsolution.NotSigned',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'speech solution has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"Data\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateSpeechResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Data>Md3ZiTL888K9llXDy7890***********</Data>\\n<Success>true</Success>\\n</CreateSpeechResponse>","errorExample":""}]',
+ 'title' => 'CreateSpeech',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateSpeech' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'Voice',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Siyue',
+ ],
+ ],
+ [
+ 'name' => 'SpeechCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => ' VlKzbj3XIZ****CeIHH6vR82JNCSzk**',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'SpeechRate',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '500',
+ 'minimum' => '-500',
+ 'example' => '0',
+ 'default' => '0',
+ ],
+ ],
+ [
+ 'name' => 'Volume',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '0',
+ 'example' => '50',
+ 'default' => '50',
+ ],
+ ],
+ [
+ 'name' => 'ProjectCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => ' 4de2c367****8c585e5992**',
+ ],
+ ],
+ [
+ 'name' => 'SoundCodeConfig',
+ 'in' => 'formData',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'required' => false,
+ 'example' => '{"SoundCodeContent": "www.taobao.com", "AdditionalDuration": 3}',
+ ],
+ ],
+ [
+ 'name' => 'EnableSoundCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.speechsolution.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"ErrorMessage\\": \\"千里传音解决方案未开通\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateSpeechResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Success>true</Success>\\n</UpdateSpeechResponse>","errorExample":""}]',
+ 'title' => 'UpdateSpeech',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QuerySpeechLicenseAvailableQuota' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-2w****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '120',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.system.InstanceNotFound',
+ 'errorMessage' => 'The instance ID does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Data\\": 120,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<QuerySpeechLicenseAvailableQuotaResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Data>120</Data>\\n<Success>true</Success>\\n</QuerySpeechLicenseAvailableQuotaResponse>","errorExample":""}]',
+ 'title' => 'QuerySpeechLicenseAvailableQuota',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetSpeechVoice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.speechsolution.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'speech solution has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'F94F72A5-82F0-496F-9AC2-3DBCFF77608A',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Items' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Label' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Value' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'tongyong',
+ ],
+ 'VoiceList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Items' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Label' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Value' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Xiaoyun',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"F94F72A5-82F0-496F-9AC2-3DBCFF77608A\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Items\\": [\\n {\\n \\"Label\\": \\"通用场景\\",\\n \\"Value\\": \\"tongyong\\",\\n \\"VoiceList\\": {\\n \\"Items\\": [\\n {\\n \\"Label\\": \\"小云,标准女声\\",\\n \\"Value\\": \\"Xiaoyun\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetSpeechVoiceResponse>\\n<RequestId>F94F72A5-82F0-496F-9AC2-3DBCFF77608A</RequestId>\\n<Data>\\n <Items>\\n <Label>通用场景</Label>\\n <Value>tongyong</Value>\\n <VoiceList>\\n <Items>\\n <Label>小云,标准女声</Label>\\n <Value>Xiaoyun</Value>\\n </Items>\\n </VoiceList>\\n </Items>\\n</Data>\\n<Success>true</Success>\\n</GetSpeechVoiceResponse>","errorExample":""}]',
+ 'title' => 'Obtain corpus playback sound',
+ 'summary' => 'Obtain the voice configuration for corpus playback.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'TestSpeech' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'Voice',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Siyue',
+ ],
+ ],
+ [
+ 'name' => 'Volume',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '0',
+ 'example' => '50',
+ 'default' => '50',
+ ],
+ ],
+ [
+ 'name' => 'ProjectCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '4de2c367****8c585e5992**',
+ ],
+ ],
+ [
+ 'name' => 'SpeechRate',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '500',
+ 'minimum' => '-500',
+ 'example' => '0',
+ 'default' => '0',
+ ],
+ ],
+ [
+ 'name' => 'Text',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'SpeechType',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'custom',
+ ],
+ ],
+ [
+ 'name' => 'AudioFormat',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'wav',
+ ],
+ ],
+ [
+ 'name' => 'SoundCodeConfig',
+ 'in' => 'formData',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'required' => false,
+ 'example' => '{"SoundCodeContent": "www.taobao.com", "AdditionalDuration": 3}',
+ ],
+ ],
+ [
+ 'name' => 'EnableSoundCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.speechsolution.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'speech solution has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'items' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => ' [ "http://****.oss-cn-shanghai.aliyuncs.com/speech_test_audio/CPjUL8qUtOMoQmC******.wav?Expires=1620380723"]',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"items\\": [\\n \\" [ \\\\\\"http://****.oss-cn-shanghai.aliyuncs.com/speech_test_audio/CPjUL8qUtOMoQmC******.wav?Expires=1620380723\\\\\\"]\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<TestSpeechResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Data>\\n <items> [ \\"http://****.oss-cn-shanghai.aliyuncs.com/speech_test_audio/CPjUL8qUtOMoQmC******.wav?Expires=1620380723\\"]</items>\\n</Data>\\n<Success>true</Success>\\n</TestSpeechResponse>","errorExample":""}]',
+ 'title' => 'TestSpeech',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QuerySpeech' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SpeechCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '4de2c367****8c585e5992** ',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => ' iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.speechsolution.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'speech solution has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Voice' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Siyue',
+ ],
+ 'BizCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'identifying',
+ ],
+ 'SpeechCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '4de2c367****8c585e5992** ',
+ ],
+ 'SpeechType' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'custom',
+ ],
+ 'Text' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'SpeechRate' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'Volume' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '50',
+ ],
+ 'AudioFormat' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'wav',
+ ],
+ 'EnableSoundCode' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'SoundCodeConfig' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'AdditionalDuration' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'SoundCodeContent' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'www.taobao.com',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Voice\\": \\"Siyue\\",\\n \\"BizCode\\": \\"identifying\\",\\n \\"SpeechCode\\": \\"4de2c367****8c585e5992** \\",\\n \\"SpeechType\\": \\"custom\\",\\n \\"Text\\": \\"test\\",\\n \\"SpeechRate\\": 0,\\n \\"Volume\\": 50,\\n \\"AudioFormat\\": \\"wav\\",\\n \\"EnableSoundCode\\": true,\\n \\"SoundCodeConfig\\": {\\n \\"AdditionalDuration\\": 3,\\n \\"SoundCodeContent\\": \\"www.taobao.com\\"\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Data>\\n <SpeechType>custom</SpeechType>\\n <Volume>50</Volume>\\n <EnableSoundCode>true</EnableSoundCode>\\n <Text>test</Text>\\n <SpeechCode>4de2c367****8c585e5992** </SpeechCode>\\n <AudioFormat>wav</AudioFormat>\\n <Voice>Siyue</Voice>\\n <SpeechRate>0</SpeechRate>\\n <BizCode>identifying</BizCode>\\n <SoundCodeConfig>\\n <AdditionalDuration>3</AdditionalDuration>\\n <SoundCodeContent>www.taobao.com</SoundCodeContent>\\n </SoundCodeConfig>\\n</Data>\\n<ErrorMessage>speech solution has not been signed</ErrorMessage>\\n<Code>iot.speechsolution.NotSigned</Code>\\n<Success>true</Success>","errorExample":""}]',
+ 'title' => 'QuerySpeech',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QuerySpeechList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'ProjectCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '4de2c367****8c585e5992**',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '50',
+ 'minimum' => '1',
+ 'example' => '20',
+ 'default' => '20',
+ ],
+ ],
+ [
+ 'name' => 'PageId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '10000',
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'AudioFormat',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'wav',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.speechsolution.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'speech solution has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'PageSize' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'PageId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Items' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Voice' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Siyue',
+ ],
+ 'BizCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'identifying',
+ ],
+ 'SpeechCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '4de2c367****8c585e5992** ',
+ ],
+ 'SpeechType' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'custom',
+ ],
+ 'Text' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'AudioFormat' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'wav',
+ ],
+ 'SpeechList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Items' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Text' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'Voice' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Siyue',
+ ],
+ 'BizCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'identifying',
+ ],
+ 'SpeechCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '4de2c367****8c585e5992** ',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"Total\\": 100,\\n \\"PageId\\": 1,\\n \\"List\\": {\\n \\"Items\\": [\\n {\\n \\"Voice\\": \\"Siyue\\",\\n \\"BizCode\\": \\"identifying\\",\\n \\"SpeechCode\\": \\"4de2c367****8c585e5992** \\",\\n \\"SpeechType\\": \\"custom\\",\\n \\"Text\\": \\"test\\",\\n \\"AudioFormat\\": \\"wav\\",\\n \\"SpeechList\\": {\\n \\"Items\\": [\\n {\\n \\"Text\\": \\"test\\",\\n \\"Voice\\": \\"Siyue\\",\\n \\"BizCode\\": \\"identifying\\",\\n \\"SpeechCode\\": \\"4de2c367****8c585e5992** \\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QuerySpeechListResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Data>\\n <PageId>1</PageId>\\n <PageSize>20</PageSize>\\n <Total>100</Total>\\n <List>\\n <Items>\\n <SpeechType>custom</SpeechType>\\n <Text>test</Text>\\n <SpeechCode>4de2c367****8c585e5992** </SpeechCode>\\n <AudioFormat>wav</AudioFormat>\\n <Voice>Siyue</Voice>\\n <BizCode>identifying</BizCode>\\n <SpeechList>\\n <Items>\\n <Text>test</Text>\\n <SpeechCode>4de2c367****8c585e5992** </SpeechCode>\\n <Voice>Siyue</Voice>\\n <BizCode>identifying</BizCode>\\n </Items>\\n </SpeechList>\\n </Items>\\n </List>\\n</Data>\\n<Success>true</Success>\\n</QuerySpeechListResponse>","errorExample":""}]',
+ 'title' => 'QuerySpeechList',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'PushSpeech' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'PushMode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'SINGLE_DEVICE',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '4de2c367****8c585e5992**',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '4de2c367****8c585e5992**',
+ ],
+ ],
+ [
+ 'name' => 'ProjectCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '4de2c367****8c585e5992**',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'light',
+ ],
+ ],
+ [
+ 'name' => 'SpeechCodeList',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ 'required' => true,
+ 'example' => '4de2c367****8c585e5992**',
+ 'maxItems' => 100,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.speechsolution.NotSigned',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '4de2c367****8c585e5992**',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'speech solution has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"Data\\": \\"4de2c367****8c585e5992**\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<PushSpeechResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Data>4de2c367****8c585e5992**</Data>\\n<Success>true</Success>\\n</PushSpeechResponse>","errorExample":""}]',
+ 'title' => 'PushSpeech',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteSpeech' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'SpeechCodeList',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '4de2c367****8c585e5992**',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ 'maxItems' => 20,
+ 'required' => true,
+ 'type' => 'array',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'iot.speech.InvalidSpeechCodeList',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'invalid SpeechCodeList',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.speech.InvalidSpeechCodeList\\",\\n \\"ErrorMessage\\": \\"invalid SpeechCodeList\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteSpeechResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Success>true</Success>\\n</DeleteSpeechResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'DeleteSpeech',
+ ],
+ 'QuerySolutionDeviceGroupPage' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'ProjectCode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '4de2c367****8c585e5992**',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'FuzzyGroupName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'test',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '20',
+ 'format' => 'int32',
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'required' => true,
+ 'type' => 'integer',
+ ],
+ ],
+ [
+ 'name' => 'PageId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '1',
+ 'format' => 'int32',
+ 'maximum' => '10000',
+ 'minimum' => '1',
+ 'required' => true,
+ 'type' => 'integer',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'iot.tcloud.ProjectNotFound',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'project not found',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'properties' => [
+ 'PageSize' => [
+ 'description' => '',
+ 'example' => '20',
+ 'format' => 'int32',
+ 'type' => 'integer',
+ ],
+ 'PageId' => [
+ 'description' => '',
+ 'example' => '1',
+ 'format' => 'int32',
+ 'type' => 'integer',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'example' => '100',
+ 'format' => 'int32',
+ 'type' => 'integer',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'itemName' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'properties' => [
+ 'GroupId' => [
+ 'description' => '',
+ 'example' => '4de2c367****8c585e5992** ',
+ 'type' => 'string',
+ ],
+ 'GroupName' => [
+ 'description' => '',
+ 'example' => 'test***',
+ 'type' => 'string',
+ ],
+ 'GmtCreate' => [
+ 'description' => '',
+ 'example' => '1356565656',
+ 'format' => 'int64',
+ 'type' => 'integer',
+ ],
+ 'GmtModified' => [
+ 'description' => '',
+ 'example' => '1357865658',
+ 'format' => 'int64',
+ 'type' => 'integer',
+ ],
+ 'GroupDesc' => [
+ 'description' => '',
+ 'example' => 'description',
+ 'type' => 'string',
+ ],
+ 'DeviceCount' => [
+ 'description' => '',
+ 'example' => '100',
+ 'format' => 'int64',
+ 'type' => 'integer',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.tcloud.ProjectNotFound\\",\\n \\"ErrorMessage\\": \\"project not found\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"PageId\\": 1,\\n \\"Total\\": 100,\\n \\"List\\": {\\n \\"itemName\\": [\\n {\\n \\"GroupId\\": \\"4de2c367****8c585e5992** \\",\\n \\"GroupName\\": \\"test***\\",\\n \\"GmtCreate\\": 1356565656,\\n \\"GmtModified\\": 1357865658,\\n \\"GroupDesc\\": \\"description\\",\\n \\"DeviceCount\\": 100\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QuerySolutionDeviceGroupPageResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Data>\\n <PageId>1</PageId>\\n <PageSize>20</PageSize>\\n <Total>100</Total>\\n <List>\\n <itemName>\\n <GroupName>test***</GroupName>\\n <GmtCreate>1356565656</GmtCreate>\\n <GroupDesc>description</GroupDesc>\\n <GmtModified>1357865658</GmtModified>\\n <DeviceCount>100</DeviceCount>\\n <GroupId>4de2c367****8c585e5992** </GroupId>\\n </itemName>\\n </List>\\n</Data>\\n<Success>true</Success>\\n</QuerySolutionDeviceGroupPageResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'QuerySolutionDeviceGroupPage',
+ ],
+ 'QuerySpeechPushJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-060*****',
+ ],
+ ],
+ [
+ 'name' => 'ProjectCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '0Ykj************************Av0I',
+ ],
+ ],
+ [
+ 'name' => 'PushMode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ALL',
+ ],
+ ],
+ [
+ 'name' => 'JobCode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'tBUm***********************QPGT',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '50',
+ 'minimum' => '1',
+ 'example' => '20',
+ 'default' => '20',
+ ],
+ ],
+ [
+ 'name' => 'PageId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '10000',
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'StatusList',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ 'required' => false,
+ 'example' => 'RUNNING',
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.speechsolution.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'speech solution has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'AF71BF1D-B552-47CD-B34B-352557627992',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'PageSize' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'PageId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Items' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'RUNNING',
+ ],
+ 'SuccessDeviceNum' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'SpeechNum' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'DeviceName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'FailDeviceNum' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PushMode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'ALL',
+ ],
+ 'SpeechStatus' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ProductKey' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'den0ZLt****',
+ ],
+ 'GroupName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'GroupId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test_group',
+ ],
+ 'ExpiredTime' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1620634297000',
+ ],
+ 'RunningDeviceNum' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'tBUm***********************QPGT',
+ ],
+ 'TotalDeviceNum' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'CreatedTime' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1620634297000',
+ ],
+ 'IotId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '0iOf*****************n001',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"AF71BF1D-B552-47CD-B34B-352557627992\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"Total\\": 200,\\n \\"PageId\\": 1,\\n \\"List\\": {\\n \\"Items\\": [\\n {\\n \\"Status\\": \\"RUNNING\\",\\n \\"SuccessDeviceNum\\": 1,\\n \\"SpeechNum\\": 1,\\n \\"DeviceName\\": \\"test\\",\\n \\"FailDeviceNum\\": 1,\\n \\"PushMode\\": \\"ALL\\",\\n \\"SpeechStatus\\": true,\\n \\"ProductKey\\": \\"den0ZLt****\\",\\n \\"GroupName\\": \\"测试分组\\",\\n \\"GroupId\\": \\"test_group\\",\\n \\"ExpiredTime\\": 1620634297000,\\n \\"RunningDeviceNum\\": 2,\\n \\"Code\\": \\"tBUm***********************QPGT\\",\\n \\"TotalDeviceNum\\": 3,\\n \\"CreatedTime\\": 1620634297000,\\n \\"IotId\\": \\"0iOf*****************n001\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QuerySpeechPushJobResponse>\\n<RequestId>AF71BF1D-B552-47CD-B34B-352557627992</RequestId>\\n<Data>\\n <PageId>1</PageId>\\n <PageSize>20</PageSize>\\n <Total>200</Total>\\n <List>\\n <Items>\\n <GroupName>测试分组</GroupName>\\n <Status>RUNNING</Status>\\n <SpeechNum>1</SpeechNum>\\n <CreatedTime>1620634297000</CreatedTime>\\n <TotalDeviceNum>3</TotalDeviceNum>\\n <SuccessDeviceNum>1</SuccessDeviceNum>\\n <RunningDeviceNum>2</RunningDeviceNum>\\n <FailDeviceNum>1</FailDeviceNum>\\n <Code>tBUm***********************QPGT</Code>\\n <GroupId>test_group</GroupId>\\n <PushMode>ALL</PushMode>\\n <IotId>0iOf*****************n001</IotId>\\n <ExpiredTime>1620634297000</ExpiredTime>\\n <SpeechStatus>true</SpeechStatus>\\n <ProductKey>den0ZLt****</ProductKey>\\n <DeviceName>test</DeviceName>\\n </Items>\\n </List>\\n</Data>\\n<Success>true</Success>\\n</QuerySpeechPushJobResponse>","errorExample":""}]',
+ 'title' => 'QuerySpeechPushJob',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QuerySpeechPushJobDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'JobCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'tBUm***********************QPGT',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '50',
+ 'minimum' => '1',
+ 'example' => '20',
+ 'default' => '20',
+ ],
+ ],
+ [
+ 'name' => 'PageId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '10000',
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'SUCCESS',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-060*****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.speechsolution.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'speech solution has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'AF71BF1D-B552-47CD-B34B-352557627992',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'PageSize' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'PageId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Items' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'SUCCESS',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'device storage limited',
+ ],
+ 'DeviceName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'GmtModified' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1620624606000',
+ ],
+ 'ErrorCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"AF71BF1D-B552-47CD-B34B-352557627992\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"Total\\": 200,\\n \\"PageId\\": 1,\\n \\"List\\": {\\n \\"Items\\": [\\n {\\n \\"Status\\": \\"SUCCESS\\",\\n \\"ErrorMessage\\": \\"device storage limited\\",\\n \\"DeviceName\\": \\"test\\",\\n \\"GmtModified\\": 1620624606000,\\n \\"ErrorCode\\": \\"2\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QuerySpeechPushJobDeviceResponse>\\n<RequestId>AF71BF1D-B552-47CD-B34B-352557627992</RequestId>\\n<Data>\\n <PageId>1</PageId>\\n <PageSize>20</PageSize>\\n <Total>200</Total>\\n <List>\\n <Items>\\n <Status>SUCCESS</Status>\\n <GmtModified>1620624606000</GmtModified>\\n <DeviceName>test</DeviceName>\\n </Items>\\n </List>\\n</Data>\\n<Success>true</Success>\\n</QuerySpeechPushJobDeviceResponse>","errorExample":""}]',
+ 'title' => 'QuerySpeechPushJobDevice',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QuerySpeechPushJobSpeech' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'JobCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '0Ykj************************Av0I',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '50',
+ 'minimum' => '1',
+ 'example' => '20',
+ 'default' => '20',
+ ],
+ ],
+ [
+ 'name' => 'PageId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '10000',
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-060*****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.speechsolution.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'speech solution has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'AF71BF1D-B552-47CD-B34B-352557627992',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'PageSize' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Items' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'SpeechType' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'CUSTOM',
+ ],
+ 'Text' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Voice' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Xiaoyun',
+ ],
+ 'BizCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'ZFDZ',
+ ],
+ 'SpeechList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Items' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Text' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'Voice' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Xiaoyun',
+ ],
+ 'BizCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'SYS_TONE_0',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"AF71BF1D-B552-47CD-B34B-352557627992\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"Total\\": 1,\\n \\"PageId\\": 1,\\n \\"List\\": {\\n \\"Items\\": [\\n {\\n \\"SpeechType\\": \\"CUSTOM\\",\\n \\"Text\\": \\"支付到账\\",\\n \\"Voice\\": \\"Xiaoyun\\",\\n \\"BizCode\\": \\"ZFDZ\\",\\n \\"SpeechList\\": {\\n \\"Items\\": [\\n {\\n \\"Text\\": \\"1\\",\\n \\"Voice\\": \\"Xiaoyun\\",\\n \\"BizCode\\": \\"SYS_TONE_0\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<RequestId>AF71BF1D-B552-47CD-B34B-352557627992</RequestId>\\n<Data>\\n <PageId>1</PageId>\\n <PageSize>20</PageSize>\\n <Total>200</Total>\\n <List>\\n <Items>\\n <SpeechType>CUSTOM</SpeechType>\\n <Text>支付到账</Text>\\n <Voice>Xiaoyun</Voice>\\n <BizCode>ZFDZ</BizCode>\\n <SpeechList>\\n <Items>\\n <Text>1</Text>\\n <Voice>Xiaoyun</Voice>\\n <BizCode>SYS_TONE_0</BizCode>\\n </Items>\\n </SpeechList>\\n </Items>\\n </List>\\n</Data>\\n<Success>true</Success>","errorExample":""}]',
+ 'title' => 'QuerySpeechPushJobSpeech',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'SpeechByCombination' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV**** ',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'AudioFormat',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'wav',
+ ],
+ ],
+ [
+ 'name' => 'SpeechId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '42000011392021112380********',
+ ],
+ ],
+ [
+ 'name' => 'EnforceFlag',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'CombinationList',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ZFBDZ',
+ ],
+ 'required' => true,
+ 'example' => 'ZFBDZ',
+ 'maxItems' => 50,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'An internal error occurred. Try again later.',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '671D0F8F-FDC7-4B12-93FA-336C079C965A',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"An internal error occurred. Try again later.\\",\\n \\"RequestId\\": \\"671D0F8F-FDC7-4B12-93FA-336C079C965A\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<SpeechByCombinationResponse>\\n<RequestId>671D0F8F-FDC7-4B12-93FA-336C079C965A</RequestId>\\n<Success>true</Success>\\n</SpeechByCombinationResponse>","errorExample":""}]',
+ 'title' => 'SpeechByCombination',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'SyncSpeechByCombination' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV**** ',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'AudioFormat',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'wav',
+ ],
+ ],
+ [
+ 'name' => 'SpeechId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '42000011392021112380********',
+ ],
+ ],
+ [
+ 'name' => 'EnforceFlag',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'CombinationList',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ZFBDZ',
+ ],
+ 'required' => true,
+ 'example' => 'ZFBDZ',
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'An internal error occurred. Try again later.',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '671D0F8F-FDC7-4B12-93FA-336C079C965A',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RetryCount' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DeviceErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'speech model not found',
+ ],
+ 'MaxRetryCount' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'DeviceErrorCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'Id' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '42000011392021112380********',
+ ],
+ 'Detail' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Bat_Pt:99 RSSI: -92',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"An internal error occurred. Try again later.\\",\\n \\"RequestId\\": \\"671D0F8F-FDC7-4B12-93FA-336C079C965A\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"RetryCount\\": 1,\\n \\"Success\\": true,\\n \\"DeviceErrorMessage\\": \\"speech model not found\\",\\n \\"MaxRetryCount\\": 2,\\n \\"DeviceErrorCode\\": \\"1\\",\\n \\"Id\\": \\"42000011392021112380********\\",\\n \\"Detail\\": \\"Bat_Pt:99 RSSI: -92\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<SyncSpeechByCombinationResponse>\\n<RequestId>671D0F8F-FDC7-4B12-93FA-336C079C965A</RequestId>\\n<Data>\\n <MaxRetryCount>2</MaxRetryCount>\\n <RetryCount>0</RetryCount>\\n <Id>42000011392021112380********</Id>\\n <Detail>Bat_Pt:99 RSSI: -92</Detail>\\n <Success>true</Success>\\n</Data>\\n<Success>true</Success>\\n</SyncSpeechByCombinationResponse>","errorExample":""}]',
+ 'title' => 'SyncSpeechByCombination',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'SpeechBySynthesis' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'Voice',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Siyue',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ [
+ 'name' => 'SpeechRate',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '500',
+ 'minimum' => '-500',
+ 'example' => '0',
+ 'default' => '0',
+ ],
+ ],
+ [
+ 'name' => 'Text',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'SpeechId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '42000011392021112380********',
+ ],
+ ],
+ [
+ 'name' => 'AudioFormat',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'wav',
+ ],
+ ],
+ [
+ 'name' => 'Volume',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '0',
+ 'example' => '50',
+ 'default' => '50',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'An internal error occurred. Try again later.',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '671D0F8F-FDC7-4B12-93FA-336C079C965A',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"An internal error occurred. Try again later.\\",\\n \\"RequestId\\": \\"671D0F8F-FDC7-4B12-93FA-336C079C965A\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<SpeechBySynthesisResponse>\\n<RequestId>671D0F8F-FDC7-4B12-93FA-336C079C965A</RequestId>\\n<Success>true</Success>\\n</SpeechBySynthesisResponse>","errorExample":""}]',
+ 'title' => 'SpeechBySynthesis',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QuerySpeechDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'ProjectCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '4de2c367****8c585e5992**',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'AvailableSpace',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '500',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'AvailableSpaceScope',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'smaller',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '20',
+ 'format' => 'int32',
+ 'maximum' => '50',
+ 'minimum' => '1',
+ 'required' => false,
+ 'type' => 'integer',
+ 'default' => '20',
+ ],
+ ],
+ [
+ 'name' => 'PageId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '1',
+ 'format' => 'int32',
+ 'maximum' => '10000',
+ 'minimum' => '1',
+ 'required' => false,
+ 'type' => 'integer',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'test',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'iot.system.SystemException',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'speech solution has not been signed',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => 'AF71BF1D-B552-47CD-B34B-352557627992',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'properties' => [
+ 'PageSize' => [
+ 'description' => '',
+ 'example' => '20',
+ 'format' => 'int32',
+ 'type' => 'integer',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'example' => '200',
+ 'format' => 'int32',
+ 'type' => 'integer',
+ ],
+ 'PageId' => [
+ 'description' => '',
+ 'example' => '1',
+ 'format' => 'int32',
+ 'type' => 'integer',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Items' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => '',
+ 'example' => 'a1BwAGV****',
+ 'type' => 'string',
+ ],
+ 'AvailableSpace' => [
+ 'description' => '',
+ 'example' => '200',
+ 'format' => 'float',
+ 'type' => 'number',
+ ],
+ 'DeviceName' => [
+ 'description' => '',
+ 'example' => 'test',
+ 'type' => 'string',
+ ],
+ 'IotId' => [
+ 'description' => '',
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ 'type' => 'string',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"AF71BF1D-B552-47CD-B34B-352557627992\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"Total\\": 200,\\n \\"PageId\\": 1,\\n \\"List\\": {\\n \\"Items\\": [\\n {\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"AvailableSpace\\": 200,\\n \\"DeviceName\\": \\"test\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QuerySpeechDeviceResponse>\\n<RequestId>AF71BF1D-B552-47CD-B34B-352557627992</RequestId>\\n<Data>\\n <PageId>1</PageId>\\n <PageSize>20</PageSize>\\n <Total>200</Total>\\n <List>\\n <Items>\\n <IotId>Q7uOhVRdZRRlDnTLv****00100</IotId>\\n <AvailableSpace>200</AvailableSpace>\\n <ProductKey>a1BwAGV****</ProductKey>\\n <DeviceName>test</DeviceName>\\n </Items>\\n </List>\\n</Data>\\n<Success>true</Success>\\n</QuerySpeechDeviceResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'QuerySpeechDevice',
+ ],
+ 'QueryDeviceSpeech' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '4de2c367****8c585e5992**',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '50',
+ 'minimum' => '1',
+ 'example' => '20',
+ 'default' => '20',
+ ],
+ ],
+ [
+ 'name' => 'PageId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '10000',
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.speechsolution.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'speech solution has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'PageSize' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'PageId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Items' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'AudioFormat' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'wav',
+ ],
+ 'BizCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'ZFDZ',
+ ],
+ 'Size' => [
+ 'description' => '',
+ 'type' => 'number',
+ 'format' => 'float',
+ 'example' => '16',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"Total\\": 200,\\n \\"PageId\\": 1,\\n \\"List\\": {\\n \\"Items\\": [\\n {\\n \\"AudioFormat\\": \\"wav\\",\\n \\"BizCode\\": \\"ZFDZ\\",\\n \\"Size\\": 16\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceSpeechResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Data>\\n <PageId>1</PageId>\\n <PageSize>20</PageSize>\\n <Total>200</Total>\\n <List>\\n <Items>\\n <Size>16</Size>\\n <AudioFormat>wav</AudioFormat>\\n <BizCode>ZFDZ</BizCode>\\n </Items>\\n </List>\\n</Data>\\n<Success>true</Success>\\n</QueryDeviceSpeechResponse>","errorExample":""}]',
+ 'title' => 'QueryDeviceSpeech',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetSpeechDeviceDetail' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '4de2c367****8c585e5992**',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.speechsolution.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'speech solution has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'ONLINE',
+ ],
+ 'TotalSpace' => [
+ 'description' => '',
+ 'type' => 'number',
+ 'format' => 'float',
+ 'example' => '2000',
+ ],
+ 'ProductKey' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'a1BwAGV****',
+ ],
+ 'DeviceName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'SpeechListUpdateTime' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1620624606000',
+ ],
+ 'AvailableSpace' => [
+ 'description' => '',
+ 'type' => 'number',
+ 'format' => 'float',
+ 'example' => '200',
+ ],
+ 'IotId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '4de2c367****8c585e5992**',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Status\\": \\"ONLINE\\",\\n \\"TotalSpace\\": 2000,\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"DeviceName\\": \\"test\\",\\n \\"SpeechListUpdateTime\\": 1620624606000,\\n \\"AvailableSpace\\": 200,\\n \\"IotId\\": \\"4de2c367****8c585e5992**\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetSpeechDeviceDetailResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Data>\\n <Status>ONLINE</Status>\\n <IotId>4de2c367****8c585e5992**</IotId>\\n <SpeechListUpdateTime>1620624606000</SpeechListUpdateTime>\\n <AvailableSpace>200</AvailableSpace>\\n <TotalSpace>2000</TotalSpace>\\n <ProductKey>a1BwAGV****</ProductKey>\\n <DeviceName>test</DeviceName>\\n</Data>\\n<Success>true</Success>\\n</GetSpeechDeviceDetailResponse>","errorExample":""}]',
+ 'title' => 'GetSpeechDeviceDetail',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteDeviceSpeech' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '4de2c367****8c585e5992**',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'DeviceSpeechList',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'items' => [
+ 'properties' => [
+ 'BizCode' => [
+ 'description' => '',
+ 'example' => 'identifying',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ 'AudioFormat' => [
+ 'description' => '',
+ 'example' => 'wav',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ 'required' => false,
+ 'type' => 'object',
+ ],
+ 'maxItems' => 50,
+ 'required' => true,
+ 'type' => 'array',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'iot.speechsolution.NotSigned',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'speech solution has not been signed',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteDeviceSpeechResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Success>true</Success>\\n</DeleteDeviceSpeechResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'DeleteDeviceSpeech',
+ ],
+ 'GetShareTaskByDeviceOpen' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'y4u2weAIrpp****WHMle1234',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a2Yw*****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'device1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.system.InstanceNotFound',
+ 'errorMessage' => 'The instance ID does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Data\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<GetShareTaskByDeviceOpenResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Data>Md3ZiTL888K9llXDy7890***********</Data>\\n<Code/>\\n<Success>true</Success>\\n</GetShareTaskByDeviceOpenResponse>","errorExample":""}]',
+ 'title' => 'GetShareTaskByDeviceOpen',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetShareSpeechModelAudio' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'ShareTaskId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-2w****',
+ ],
+ ],
+ [
+ 'name' => 'SpeechModelCodeList',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ 'required' => true,
+ 'example' => 'WSD****',
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'data' => [
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'https://********',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.speech.InvalidIotInstanceId',
+ 'errorMessage' => 'Invalid instance ID.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"data\\": [\\n \\"https://********\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetShareSpeechModelAudioResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Data>\\n <data>https://********</data>\\n</Data>\\n<Success>true</Success>\\n</GetShareSpeechModelAudioResponse>","errorExample":""}]',
+ 'title' => 'GetShareSpeechModelAudio',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetSpeechLicenseDeviceStatistics' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-e3***',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'An internal error occurred. Try again later.',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'AF71BF1D-B552-47CD-B34B-352557627992',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'AvailableQuota' => [
+ 'description' => 'The number of available licenses.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'ExpiredQuota' => [
+ 'description' => 'The number of expired licenses.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'ExpiringQuota' => [
+ 'description' => 'The number of licenses that are about to expire.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.common.AuthActionPermissionDeny',
+ 'errorMessage' => 'The authorization fails.',
+ ],
+ [
+ 'errorCode' => 'iot.system.InstanceNotFound',
+ 'errorMessage' => 'The instance ID does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"An internal error occurred. Try again later.\\",\\n \\"RequestId\\": \\"AF71BF1D-B552-47CD-B34B-352557627992\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"AvailableQuota\\": 100,\\n \\"ExpiredQuota\\": 100,\\n \\"ExpiringQuota\\": 100\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetSpeechLicenseDeviceStatisticsResponse>\\n<RequestId>AF71BF1D-B552-47CD-B34B-352557627992</RequestId>\\n<Data>\\n <ExpiredQuota>100</ExpiredQuota>\\n <ExpiringQuota>100</ExpiringQuota>\\n <AvailableQuota>100</AvailableQuota>\\n</Data>\\n<Success>true</Success>\\n</GetSpeechLicenseDeviceStatisticsResponse>","errorExample":""}]',
+ 'title' => 'GetSpeechLicenseDeviceStatistics',
+ 'summary' => 'Queries the information about Speech Sending Service licenses that are bound to devices.',
+ 'description' => '## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to three times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QuerySpeechLicenseDeviceList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'> You must specify this parameter for a public instance of the new version or an Enterprise Edition instance. You do not need to specify this parameter for a public instance of the previous version.'."\n"
+ ."\n"
+ .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-e3***',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 50. Default value: 20.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '20',
+ 'maximum' => '100',
+ 'minimum' => '1',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the devices belong.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'PageId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number. Valid values: 1 to 10000.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The keyword in the DeviceName of the device whose information you want to query. Fuzzy match is supported.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'CheckGroupId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The ID of a device group. The InSpecifiedGroup response parameter indicates whether the devices belong to the specified group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '4de2c367****8c585e5992**',
+ ],
+ ],
+ [
+ 'name' => 'LicenseStatusList',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The license status.'."\n"
+ ."\n"
+ .'* **NORMAL**: The license is valid.'."\n"
+ .'* **EXPIRE**: The license is expired.'."\n"
+ .'* **EXPIRING**: The license is about to expire.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ 'required' => false,
+ 'example' => 'NORMAL',
+ 'maxItems' => 3,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The result of the request.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'PageSize' => [
+ 'description' => 'The number of entries per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'PageId' => [
+ 'description' => 'The page number.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'DeviceList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'item' => [
+ 'description' => 'The information about devices.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ExpiryTime' => [
+ 'description' => 'The expiration time of the license.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1620624606000',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1BwAGV****',
+ ],
+ 'LicenseStatus' => [
+ 'description' => 'The license status.'."\n"
+ ."\n"
+ .'* **NORMAL**: The license is valid.'."\n"
+ .'* **EXPIRE**: The license is expired.'."\n"
+ .'* **EXPIRING**: The license is about to expire.'."\n",
+ 'type' => 'string',
+ 'example' => 'NORMAL',
+ ],
+ 'ProductName' => [
+ 'description' => 'The ProductName of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'InSpecifiedGroup' => [
+ 'description' => 'Indicates whether the device belongs to the specified device group.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DeviceStatus' => [
+ 'description' => 'The status of the device.'."\n"
+ ."\n"
+ .'* **ONLINE**: The device is online.'."\n"
+ .'* **OFFLINE**: The device is offline.'."\n"
+ .'* **UNACTIVE**: The device is not activated.'."\n"
+ .'* **DISABLE**: The device is disabled.'."\n"
+ .'* **DELETE**: The device is deleted.'."\n",
+ 'type' => 'string',
+ 'example' => 'ONLINE',
+ ],
+ 'IotId' => [
+ 'description' => 'The ID of the device. The ID is the unique identifier that is issued by IoT Platform to the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'RequestParamError',
+ 'errorMessage' => 'The request params error.',
+ ],
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid iot instance id',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"PageId\\": 1,\\n \\"Total\\": 200,\\n \\"DeviceList\\": {\\n \\"item\\": [\\n {\\n \\"ExpiryTime\\": 1620624606000,\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"LicenseStatus\\": \\"NORMAL\\",\\n \\"ProductName\\": \\"test\\",\\n \\"DeviceName\\": \\"test\\",\\n \\"InSpecifiedGroup\\": true,\\n \\"DeviceStatus\\": \\"ONLINE\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QuerySpeechLicenseDeviceListResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Data>\\n <PageId>1</PageId>\\n <PageSize>20</PageSize>\\n <Total>200</Total>\\n <DeviceList>\\n <item>\\n <IotId>Q7uOhVRdZRRlDnTLv****00100</IotId>\\n <ProductName>test</ProductName>\\n <LicenseStatus>NORMAL</LicenseStatus>\\n <DeviceStatus>ONLINE</DeviceStatus>\\n <ExpiryTime>1620624606000</ExpiryTime>\\n <InSpecifiedGroup>true</InSpecifiedGroup>\\n <ProductKey>a1BwAGV****</ProductKey>\\n <DeviceName>test</DeviceName>\\n </item>\\n </DeviceList>\\n</Data>\\n<Success>true</Success>\\n</QuerySpeechLicenseDeviceListResponse>","errorExample":""}]',
+ 'title' => 'QuerySpeechLicenseDeviceList',
+ 'summary' => 'Queries the information about devices that are bound to Speech Sending Service licenses.',
+ 'description' => '## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to three times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'AddShareTaskDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'ShareTaskId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a2YwD23***',
+ ],
+ ],
+ [
+ 'name' => 'IotIdList',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ 'required' => false,
+ 'example' => 'y4u2weAIrpp****WHMle1234 ',
+ 'maxItems' => 10000,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'An internal error occurred. Try again later.',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '671D0F8F-FDC7-4B12-93FA-336C079C965A',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'ProgressId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ 'SuccessSum' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ 'Progress' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'FailedResultCsvFile' => [
+ 'type' => 'string',
+ ],
+ 'FailSum' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.speech.InvalidIotInstanceId',
+ 'errorMessage' => 'Invalid instance ID.',
+ ],
+ [
+ 'errorCode' => 'iot.sharetask.EmptyShareDevice',
+ 'errorMessage' => 'no device to share.',
+ ],
+ [
+ 'errorCode' => 'iot.sharetask.ShareDeviceProcessing',
+ 'errorMessage' => 'share device processing.',
+ ],
+ [
+ 'errorCode' => 'Iot.sharetask.ImportDevicePartFail',
+ 'errorMessage' => 'Failed to import some of the devices.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"An internal error occurred. Try again later.\\",\\n \\"RequestId\\": \\"671D0F8F-FDC7-4B12-93FA-336C079C965A\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ProgressId\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"SuccessSum\\": 10,\\n \\"Progress\\": 100,\\n \\"FailedResultCsvFile\\": \\"https://****.csv\\",\\n \\"FailSum\\": 2\\n }\\n}","errorExample":""},{"type":"xml","example":"<AddShareTaskDeviceResponse>\\n<RequestId>671D0F8F-FDC7-4B12-93FA-336C079C965A</RequestId>\\n<Data>\\n <FailedResultCsvFile>https://****.csv</FailedResultCsvFile>\\n <Progress>100</Progress>\\n <ProgressId>Md3ZiTL888K9llXDy7890***********</ProgressId>\\n <FailSum>2</FailSum>\\n <SuccessSum>10</SuccessSum>\\n</Data>\\n<Success>true</Success>\\n</AddShareTaskDeviceResponse>","errorExample":""}]',
+ 'title' => 'AddShareTaskDevice',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteShareTaskDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'ShareTaskId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'IotIdList',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ 'maxItems' => 10000,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'An internal error occurred. Try again later.',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'AF71BF1D-B552-47CD-B34B-352557627992',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'ProgressId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ 'Progress' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.speech.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid instance id',
+ ],
+ [
+ 'errorCode' => 'iot.sharetask.EmptyShareDevice',
+ 'errorMessage' => 'no device to share',
+ ],
+ [
+ 'errorCode' => 'iot.sharetask.ShareDeviceProcessing',
+ 'errorMessage' => 'share device processing',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"An internal error occurred. Try again later.\\",\\n \\"RequestId\\": \\"AF71BF1D-B552-47CD-B34B-352557627992\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ProgressId\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"Progress\\": 100\\n }\\n}","errorExample":""},{"type":"xml","example":"<DeleteShareTaskDeviceResponse>\\n<RequestId>AF71BF1D-B552-47CD-B34B-352557627992</RequestId>\\n<Data>\\n <Progress>100</Progress>\\n <ProgressId>Md3ZiTL888K9llXDy7890***********</ProgressId>\\n</Data>\\n<Success>true</Success>\\n</DeleteShareTaskDeviceResponse>","errorExample":""}]',
+ 'title' => 'DeleteShareTaskDevice',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryProjectShareDeviceList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 50. Default value: 20.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '20',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the devices belong.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV**** ',
+ ],
+ ],
+ [
+ 'name' => 'PageId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The page number. Valid values: 1 to 10000.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The keyword in the DeviceName of the devices that you want to query. Fuzzy match is supported.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'An internal error occurred. Try again later.',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '671D0F8F-FDC7-4B12-93FA-336C079C965A',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The result of the request.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'PageSize' => [
+ 'description' => 'The number of entries per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'PageId' => [
+ 'description' => 'The page number.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'DeviceList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'items' => [
+ 'description' => 'The information about devices that you queried.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1BwAGV****',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'Sharable' => [
+ 'description' => 'Indicates whether the project was shared to the device.'."\n"
+ ."\n"
+ .'* **1**: The project was shared.'."\n"
+ .'* **0**: The project failed to be shared.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'IotId' => [
+ 'description' => 'The ID of the device. The ID is the unique identifier that is issued by IoT Platform to the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid iot instance id',
+ ],
+ [
+ 'errorCode' => 'iot.speech.InvalidIotProjectCode',
+ 'errorMessage' => 'invalid project code',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"An internal error occurred. Try again later.\\",\\n \\"RequestId\\": \\"671D0F8F-FDC7-4B12-93FA-336C079C965A\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"PageId\\": 1,\\n \\"Total\\": 200,\\n \\"DeviceList\\": {\\n \\"items\\": [\\n {\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"DeviceName\\": \\"test\\",\\n \\"Sharable\\": 1,\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryProjectShareDeviceListResponse>\\n<RequestId>671D0F8F-FDC7-4B12-93FA-336C079C965A</RequestId>\\n<Data>\\n <PageId>1</PageId>\\n <PageSize>20</PageSize>\\n <Total>200</Total>\\n <DeviceList>\\n <items>\\n <IotId>Q7uOhVRdZRRlDnTLv****00100</IotId>\\n <Sharable>1</Sharable>\\n <ProductKey>a1BwAGV****</ProductKey>\\n <DeviceName>test</DeviceName>\\n </items>\\n </DeviceList>\\n</Data>\\n<Success>true</Success>\\n</QueryProjectShareDeviceListResponse>","errorExample":""}]',
+ 'title' => 'QueryProjectShareDeviceList',
+ 'summary' => 'Queries the devices to which a project is shared.',
+ 'description' => '## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to three times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryShareTaskDeviceList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'ShareTaskId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The ID of the sharing task.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~) of IoT instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-e3***',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 50. Default value: 20.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '20',
+ ],
+ ],
+ [
+ 'name' => 'PageId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The page number. Valid values: 1 to 10000.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The keyword in the DeviceName of the device that you want to query. Fuzzy match is supported.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The result of the request.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'PageSize' => [
+ 'description' => 'The number of entries per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'PageId' => [
+ 'description' => 'The page number.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'DeviceList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'items' => [
+ 'description' => 'The devices in the sharing task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1BwAGV****',
+ ],
+ 'GmtAdded' => [
+ 'description' => 'The time when the device was added to the sharing task.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1620624606000',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'IotId' => [
+ 'description' => 'The ID of the device. The ID is the unique identifier that is issued by IoT Platform to the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'RequestParamError',
+ 'errorMessage' => 'The request params error.',
+ ],
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid iot instance id',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"PageId\\": 1,\\n \\"Total\\": 200,\\n \\"DeviceList\\": {\\n \\"items\\": [\\n {\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"GmtAdded\\": 1620624606000,\\n \\"DeviceName\\": \\"test\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryShareTaskDeviceListResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Data>\\n <PageId>1</PageId>\\n <PageSize>20</PageSize>\\n <Total>200</Total>\\n <DeviceList>\\n <items>\\n <IotId>Q7uOhVRdZRRlDnTLv****00100</IotId>\\n <GmtAdded>1620624606000</GmtAdded>\\n <ProductKey>a1BwAGV****</ProductKey>\\n <DeviceName>test</DeviceName>\\n </items>\\n </DeviceList>\\n</Data>\\n<Success>true</Success>\\n</QueryShareTaskDeviceListResponse>","errorExample":""}]',
+ 'title' => 'QueryShareTaskDeviceList',
+ 'summary' => 'Queries the devices in a sharing task.',
+ 'description' => '## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to three times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ShareSpeechByCombination' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'SpeechId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The unique ID of the combined speech that you want to broadcast. This ID is issued by IoT Platform to the device.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, IoT Platform automatically generates an ID. If you need to retry broadcasting the speech, you must specify the ID to prevent repeated broadcasting.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '42000011392021112380********',
+ ],
+ ],
+ [
+ 'name' => 'AudioFormat',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The audio format. Valid values: **wav**, **mp3**, and **amr**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'wav',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs. If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1BwAGV**** ',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The **DeviceName** of the device. If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The ID of the device. You can call the [QuerySpeechDevice](~~280408~~) operation to obtain the ID.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you do not need to specify the **ProductKey** and **DeviceName** parameters. **IotId** specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify the **IotId**, **ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ [
+ 'name' => 'CombinationList',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The combined content that you want to broadcast. The following types of content can be broadcasted:'."\n"
+ ."\n"
+ .'* The speeches that are pushed to the device. You must specify the identifiers of the speeches.'."\n"
+ ."\n"
+ .'* The custom content that you specify based on the supported format of the device.'."\n"
+ ."\n"
+ .' For example, you can create a custom speech about the amount of money in the format of `{$xxx}`. xxx is the specific amount. If you specify `{$1000}`, the device broadcasts **CNY 1000**.'."\n"
+ ."\n"
+ .'The device broadcasts the audio files in the sequence of the values that you specify in CombinationList.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ 'required' => true,
+ 'example' => 'ZFBDZ',
+ 'maxItems' => 50,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'An internal error occurred. Try again later.',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '671D0F8F-FDC7-4B12-93FA-336C079C965A',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.devicespeech.ProjectNotFound',
+ 'errorMessage' => 'project not found',
+ ],
+ [
+ 'errorCode' => 'iot.speechsolution.ProjectHasStopped',
+ 'errorMessage' => 'project has stopped',
+ ],
+ [
+ 'errorCode' => 'iot.devicespeech.InvalidDevice',
+ 'errorMessage' => 'invalid device to speech',
+ ],
+ [
+ 'errorCode' => 'iot.devicespeech.DeviceNotActived',
+ 'errorMessage' => 'device not actived',
+ ],
+ [
+ 'errorCode' => 'iot.devicespeech.DeviceOffline',
+ 'errorMessage' => 'device is offline',
+ ],
+ [
+ 'errorCode' => 'iot.devicespeech.RequestLimit',
+ 'errorMessage' => 'too much request',
+ ],
+ [
+ 'errorCode' => 'iot.devicespeech.InvalidAudioFormat',
+ 'errorMessage' => 'invalid audio format',
+ ],
+ [
+ 'errorCode' => 'iot.devicespeech.InvalidProductKeyAndDeviceName',
+ 'errorMessage' => 'invalid productKey and deviceName',
+ ],
+ [
+ 'errorCode' => 'iot.devicespeech.InvalidDeviceId',
+ 'errorMessage' => 'invalid iot device id',
+ ],
+ [
+ 'errorCode' => 'iot.speechservice.NotSigned',
+ 'errorMessage' => 'speech service has not been signed',
+ ],
+ [
+ 'errorCode' => 'iot.devicespeech.InvalidSpeechId',
+ 'errorMessage' => 'invalid device speech id',
+ ],
+ [
+ 'errorCode' => 'iot.devicespeech.ThingModelNotDefine',
+ 'errorMessage' => 'thing model not define',
+ ],
+ [
+ 'errorCode' => 'iot.devicespeech.InvalidLicenseDevice',
+ 'errorMessage' => 'invalid speech license device',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"An internal error occurred. Try again later.\\",\\n \\"RequestId\\": \\"671D0F8F-FDC7-4B12-93FA-336C079C965A\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ShareSpeechByCombinationResponse>\\n<RequestId>671D0F8F-FDC7-4B12-93FA-336C079C965A</RequestId>\\n<Success>true</Success>\\n</ShareSpeechByCombinationResponse>","errorExample":""}]',
+ 'title' => 'ShareSpeechByCombination',
+ 'summary' => 'Shares and combines audio files for broadcasting on a device.',
+ 'description' => '## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 50 times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'PageQuerySharedSpeechOpen' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The ID of the device.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you do not need to specify **ProductKey** and **DeviceName**. **IotId** specifies the GUID of the device. The value of the IotId parameter is a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify the **IotId**, **ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Q7uOhVRdZRRlDnTLv****00100',
+ ],
+ ],
+ [
+ 'name' => 'ShareTaskCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The code that is used to share the speeches.'."\n"
+ ."\n"
+ .'You can obtain the **code** on the **Shared Corpus Management** page of **Speech Sending Voice Broadcasting Service**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ebed9280_ba25_48df_80c2_****',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-2w****',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 100.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'sd34****',
+ ],
+ ],
+ [
+ 'name' => 'PageId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The page number.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'device1',
+ ],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The status of the speeches that you want to query. Valid values:'."\n"
+ ."\n"
+ .'* **1**: The speeches are pending approval.'."\n"
+ .'* **2**: The speeches are approved.'."\n"
+ .'* **3**: The speeches are rejected.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'String iot.system.SystemException ',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful.'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The result returned if the request was successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'PageSize' => [
+ 'description' => 'The number of entries per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'PageId' => [
+ 'description' => 'The page number.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'ResultData' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Data' => [
+ 'description' => 'The information about shared speeches.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the speeches. Valid values:'."\n"
+ ."\n"
+ .'* **1**: The speeches are pending approval.'."\n"
+ .'* **2**: The speeches are approved.'."\n"
+ .'* **3**: The speeches are rejected.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Voice' => [
+ 'description' => 'The sound effect that is used to broadcast speeches.'."\n",
+ 'type' => 'string',
+ 'example' => 'Siyue',
+ ],
+ 'BizCode' => [
+ 'description' => 'The unique identifier of the speech in the project.'."\n",
+ 'type' => 'string',
+ 'example' => 'identifying',
+ ],
+ 'Code' => [
+ 'description' => 'The unique identifier of the template.'."\n",
+ 'type' => 'string',
+ 'example' => 'ws****',
+ ],
+ 'Text' => [
+ 'description' => 'The content of the speech.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'SpeechRate' => [
+ 'description' => 'The broadcasting speed. Valid values: -500 to 500.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '50',
+ ],
+ 'Volume' => [
+ 'description' => 'The volume. Valid values: 0 to 100.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '50',
+ ],
+ 'AudioFormat' => [
+ 'description' => 'The audio format. Valid values: **wav**, **mp3**, and **amr**.'."\n",
+ 'type' => 'string',
+ 'example' => 'wav',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.system.IllegalRequest',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid iot instance id',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidParam',
+ 'errorMessage' => 'invalid param',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"String\\\\tiot.system.SystemException\\\\t\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 10,\\n \\"PageId\\": 1,\\n \\"Total\\": 100,\\n \\"ResultData\\": {\\n \\"Data\\": [\\n {\\n \\"Status\\": 1,\\n \\"Voice\\": \\"Siyue\\",\\n \\"BizCode\\": \\"identifying\\",\\n \\"Code\\": \\"ws****\\",\\n \\"Text\\": \\"test\\",\\n \\"SpeechRate\\": 50,\\n \\"Volume\\": 50,\\n \\"AudioFormat\\": \\"wav\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<PageQuerySharedSpeechOpenResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Data>\\n <PageId>1</PageId>\\n <PageSize>10</PageSize>\\n <Total>100</Total>\\n <ResultData>\\n <Data>\\n <Status>1</Status>\\n <Volume>50</Volume>\\n <Text>test</Text>\\n <AudioFormat>wav</AudioFormat>\\n <Voice>Siyue</Voice>\\n <Code>ws****</Code>\\n <SpeechRate>50</SpeechRate>\\n <BizCode>identifying</BizCode>\\n </Data>\\n </ResultData>\\n</Data>\\n<Success>true</Success>\\n</PageQuerySharedSpeechOpenResponse>","errorExample":""}]',
+ 'title' => 'PageQuerySharedSpeechOpen',
+ 'summary' => 'Queries the speeches that you share.',
+ 'description' => '## QPS limits'."\n"
+ ."\n"
+ .'You can call this operation up to 100 times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CountSpeechBroadcastHour' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'ShareTaskCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The code that is used to share the speeches.'."\n"
+ ."\n"
+ .'You can obtain the **code** on the **Shared Corpus Management** page of **Speech Sending Voice Broadcasting Service**.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ebed9280_ba25_48df_80c2_****',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-2w****',
+ ],
+ ],
+ [
+ 'name' => 'QueryDateTimeHour',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The end time of the hour in which you want to query the number of broadcasted speeches. Example: 2020090919, which indicates 19:00 on September 9, 2020.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '2020090919',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'String iot.system.SystemException ',
+ ],
+ 'Data' => [
+ 'description' => 'The number of shared speeches that were broadcasted in the specific hour.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1000',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.speech.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid instance id',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidParam',
+ 'errorMessage' => 'invalid param',
+ ],
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"String\\\\tiot.system.SystemException\\\\t\\",\\n \\"Data\\": 1000,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CountSpeechBroadcastHourResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Data>1000</Data>\\n<Success>true</Success>\\n</CountSpeechBroadcastHourResponse>","errorExample":""}]',
+ 'title' => 'CountSpeechBroadcastHour',
+ 'summary' => 'Queries the number of speeches that were broadcasted in a specific hour.',
+ 'description' => '## Usage notes'."\n"
+ ."\n"
+ .'You can call this operation to query the shared speeches that were broadcasted six hours ago. For example, if a speech was broadcasted at 07:15, you can query the speech after 13:15.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 100 times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'PageQuerySpeechBroadcastHour' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'ShareTaskCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The code of the speech sharing task.'."\n"
+ ."\n"
+ .'You can obtain the **code** on the **Shared Corpus Management** page of **Speech Sending Voice Broadcasting Service**.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ebed9280_ba25_48df_80c2_****',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n"
+ ."\n"
+ .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'For more information, see [Overview](~~356505~~) of IoT instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-2w****',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Default value: 10. Valid values: 1 to 2000.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '2000',
+ 'minimum' => '1',
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'PageToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of **PageToken**.'."\n"
+ ."\n"
+ .'For example, if you want to query the results on Page n, you must set PageToken to the token that you obtained when you queried the results on Page n - 1.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'TGlzdFJlc291cm****',
+ ],
+ ],
+ [
+ 'name' => 'QueryDateTimeHour',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The end time of the hour in which you want to query data. Example: 2020090919, which specifies 19:00 on September 9, 2020.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '2020090919',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the request fails.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The result returned if the call is successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'PageSize' => [
+ 'description' => 'The number of entries per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'PageId' => [
+ 'description' => 'The page number.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'PageToken' => [
+ 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n"
+ ."\n"
+ .'If **PageToken** is empty, no next page exists.'."\n",
+ 'type' => 'string',
+ 'example' => 'TGlzdFJlc291cm****',
+ ],
+ 'ResultData' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Data' => [
+ 'description' => 'The shared speech broadcasting data returned.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Msg' => [
+ 'description' => 'The message that indicates the speech broadcasting result.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'StartTime' => [
+ 'description' => 'The start time of speech broadcasting. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1663210172207',
+ ],
+ 'ProductKey' => [
+ 'description' => 'The **ProductKey** of the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'sd34****',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The DeviceName of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'device1',
+ ],
+ 'ShareTaskCode' => [
+ 'description' => 'The code of the sharing task.'."\n",
+ 'type' => 'string',
+ 'example' => 'ebed9280_ba25_48df_80c2_****',
+ ],
+ 'SpeechId' => [
+ 'description' => 'The ID of the speech that was broadcasted.'."\n",
+ 'type' => 'string',
+ 'example' => '42000011392021112380****',
+ ],
+ 'Code' => [
+ 'description' => 'Indicates whether the speech was successfully broadcasted. Valid values:'."\n"
+ ."\n"
+ .'* **0**: The speech was successfully broadcasted.'."\n"
+ .'* **1**: The speech was repeatedly broadcasted.'."\n"
+ .'* **2**: The speech does not exist.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'Speechs' => [
+ 'description' => 'The content of the broadcasted speech. The parameter value is a JSON array.'."\n",
+ 'type' => 'string',
+ 'example' => '["ANC","CDF"]',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.speech.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid instance id',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidParam',
+ 'errorMessage' => 'invalid param',
+ ],
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 10,\\n \\"PageId\\": 1,\\n \\"Total\\": 100,\\n \\"PageToken\\": \\"TGlzdFJlc291cm****\\",\\n \\"ResultData\\": {\\n \\"Data\\": [\\n {\\n \\"Msg\\": \\"播报成功。\\",\\n \\"StartTime\\": 1663210172207,\\n \\"ProductKey\\": \\"sd34****\\",\\n \\"DeviceName\\": \\"device1\\",\\n \\"ShareTaskCode\\": \\"ebed9280_ba25_48df_80c2_****\\",\\n \\"SpeechId\\": \\"42000011392021112380****\\",\\n \\"Code\\": 0,\\n \\"Speechs\\": \\"[\\\\\\"ANC\\\\\\",\\\\\\"CDF\\\\\\"]\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<PageQuerySpeechBroadcastHourResponse>\\n<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>\\n<Data>\\n <PageId>1</PageId>\\n <PageSize>10</PageSize>\\n <Total>100</Total>\\n <PageToken>TGlzdFJlc291cm****</PageToken>\\n <ResultData>\\n <Data>\\n <Msg>播报成功。</Msg>\\n <Speechs>[\\"ANC\\",\\"CDF\\"]</Speechs>\\n <ShareTaskCode>ebed9280_ba25_48df_80c2_****</ShareTaskCode>\\n <StartTime>1663210172207</StartTime>\\n <Code>0</Code>\\n <ProductKey>sd34****</ProductKey>\\n <SpeechId>42000011392021112380****</SpeechId>\\n <DeviceName>device1</DeviceName>\\n </Data>\\n </ResultData>\\n</Data>\\n<Success>true</Success>\\n</PageQuerySpeechBroadcastHourResponse>","errorExample":""}]',
+ 'title' => 'PageQuerySpeechBroadcastHour',
+ 'summary' => 'Queries the shared speech broadcasting data of a specific hour by page in Speech Sending Service.',
+ 'description' => '## Usage notes'."\n"
+ ."\n"
+ .'You can call this operation to query only shared speech broadcasting data six hours ago. For example, if a shared speech was broadcasted at 07:15, you can query the speech after 13:15.'."\n"
+ ."\n"
+ .'## QPS limits'."\n"
+ ."\n"
+ .'You can call this operation up to 100 times per second per account.'."\n"
+ ."\n"
+ .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateSharePromotionActivity' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SharePromotionActivityName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'task01',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cv3********',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1691547072000',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1694315533000',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.speech.InvalidIotInstanceId',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '61******_****_4901_****_47***********',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Invalid instance ID.',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.speech.InvalidIotInstanceId',
+ 'errorMessage' => 'Invalid instance ID.',
+ ],
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.check.InvalidFormattedParameter',
+ 'errorMessage' => 'The parameter format is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.speech.InvalidIotInstanceId\\",\\n \\"Data\\": \\"61******_****_4901_****_47***********\\",\\n \\"ErrorMessage\\": \\"Invalid instance ID.\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateSharePromotionActivityResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Data>61******_****_4901_****_47***********</Data>\\n<Code/>\\n<Success>true</Success>\\n</CreateSharePromotionActivityResponse>","errorExample":""}]',
+ 'title' => 'CreateSharePromotionActivity',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QuerySharePromotionActivityAuditResult' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SharePromotionActivityId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '61******_****_4901_****_47***********',
+ ],
+ ],
+ [
+ 'name' => 'ShareTaskCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '52******_7**e_4**3_9**e_61**********',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cv3********',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.speech.InvalidIotInstanceId',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Invalid instance ID.',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'AuditResult' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.speech.InvalidIotInstanceId',
+ 'errorMessage' => 'Invalid instance ID.',
+ ],
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.check.InvalidFormattedParameter',
+ 'errorMessage' => 'The parameter format is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.speech.InvalidIotInstanceId\\",\\n \\"ErrorMessage\\": \\"Invalid instance ID.\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"AuditResult\\": 2\\n }\\n}","errorExample":""},{"type":"xml","example":"<QuerySharePromotionActivityAuditResultResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Data>\\n <AuditResult>2</AuditResult>\\n</Data>\\n<Code/>\\n<Success>true</Success>\\n</QuerySharePromotionActivityAuditResultResponse>","errorExample":""}]',
+ 'title' => 'QuerySharePromotionActivityAuditResult',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'AddDeviceToSharePromotion' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SharePromotionActivityId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '61******_****_4901_****_47***********',
+ ],
+ ],
+ [
+ 'name' => 'ShareTaskCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '52******_7**e_4**3_9**e_61**********',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cv3********',
+ ],
+ ],
+ [
+ 'name' => 'DeviceSimpleInfoList',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a2YwD2****',
+ ],
+ 'DeviceName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'device01',
+ ],
+ ],
+ ],
+ 'required' => true,
+ 'maxItems' => 200,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.speech.InvalidIotInstanceId',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Invalid instance ID.',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'FailDeviceSimpleInfoList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'item' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'a2YwD2****',
+ ],
+ 'DeviceName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'device02',
+ ],
+ 'FailReason' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'FailCode' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.speech.InvalidIotInstanceId',
+ 'errorMessage' => 'Invalid instance ID.',
+ ],
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.check.InvalidFormattedParameter',
+ 'errorMessage' => 'The parameter format is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.speech.InvalidIotInstanceId\\",\\n \\"ErrorMessage\\": \\"Invalid instance ID.\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"FailDeviceSimpleInfoList\\": {\\n \\"item\\": [\\n {\\n \\"ProductKey\\": \\"a2YwD2****\\",\\n \\"DeviceName\\": \\"device02\\",\\n \\"FailReason\\": \\"设备在共享中不存在\\",\\n \\"FailCode\\": 1\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<AddDeviceToSharePromotionResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Data>\\n <FailDeviceSimpleInfoList>\\n <item>\\n <FailCode>1</FailCode>\\n <FailReason>设备在共享中不存在</FailReason>\\n <ProductKey>a2YwD2****</ProductKey>\\n <DeviceName>device02</DeviceName>\\n </item>\\n </FailDeviceSimpleInfoList>\\n</Data>\\n<Code/>\\n<Success>true</Success>\\n</AddDeviceToSharePromotionResponse>","errorExample":""}]',
+ 'title' => 'AddDeviceToSharePromotion',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateSharePromotionSpeechModel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'Voice',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Xiaoyun',
+ ],
+ ],
+ [
+ 'name' => 'SharePromotionActivityId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '61******_****_4901_****_47***********',
+ ],
+ ],
+ [
+ 'name' => 'SpeechModelType',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'custom',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cv3********',
+ ],
+ ],
+ [
+ 'name' => 'BizCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ZFDZ',
+ ],
+ ],
+ [
+ 'name' => 'SpeechRate',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '500',
+ 'minimum' => '-500',
+ 'example' => '0',
+ 'default' => '0',
+ ],
+ ],
+ [
+ 'name' => 'AudioFormat',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'wav',
+ ],
+ ],
+ [
+ 'name' => 'Volume',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '0',
+ 'example' => '50',
+ 'default' => '50',
+ ],
+ ],
+ [
+ 'name' => 'ShareTaskCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '52******_7**e_4**3_9**e_61**********',
+ ],
+ ],
+ [
+ 'name' => 'Text',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.speech.InvalidIotInstanceId',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Invalid instance ID.',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.speech.InvalidIotInstanceId',
+ 'errorMessage' => 'Invalid instance ID.',
+ ],
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ [
+ 'errorCode' => 'iot.check.InvalidFormattedParameter',
+ 'errorMessage' => 'The parameter format is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.speech.InvalidIotInstanceId\\",\\n \\"ErrorMessage\\": \\"Invalid instance ID.\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateSharePromotionSpeechModelResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Code/>\\n<Success>true</Success>\\n</CreateSharePromotionSpeechModelResponse>","errorExample":""}]',
+ 'title' => 'CreateSharePromotionSpeechModel',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryShareProductNameByProductKey' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'ShareTaskCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '52******_7**e_4**3_9**e_61**********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a2YwD2****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.speech.InvalidIotInstanceId',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Invalid instance ID.',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.speech.InvalidIotInstanceId',
+ 'errorMessage' => 'Invalid instance ID.',
+ ],
+ [
+ 'errorCode' => 'iot.check.InvalidFormattedParameter',
+ 'errorMessage' => 'The parameter format is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.system.SystemException',
+ 'errorMessage' => 'An internal error occurred. Try again later.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.speech.InvalidIotInstanceId\\",\\n \\"ErrorMessage\\": \\"Invalid instance ID.\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ProductName\\": \\"播报音响\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryShareProductNameByProductKeyResponse>\\n<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n<Data>\\n <ProductName>播报音响</ProductName>\\n</Data>\\n<Code/>\\n<Success>true</Success>\\n</QueryShareProductNameByProductKeyResponse>","errorExample":""}]',
+ 'title' => 'QueryShareProductNameByProductKey',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateSoundCode' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'Duration',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '2',
+ ],
+ ],
+ [
+ 'name' => 'SoundCodeContent',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'www.taobao.com',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'TEST123',
+ ],
+ ],
+ [
+ 'name' => 'OpenType',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'OPEN',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'sound code service has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.soundcode.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid iot instance id',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidSoundCodeContent',
+ 'errorMessage' => 'invalid sound code content',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidSoundCodeDuration',
+ 'errorMessage' => 'invalid sound code duration',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.SensitiveContent',
+ 'errorMessage' => 'sensitive content',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidName',
+ 'errorMessage' => 'invalid sound code name',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.AlreadyExistsName',
+ 'errorMessage' => 'already exists sound code name',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'iot.soundcodeservice.NotSigned',
+ 'errorMessage' => 'sound code service has not been signed',
+ ],
+ ],
+ 429 => [
+ [
+ 'errorCode' => 'iot.soundcode.EncodeLimit',
+ 'errorMessage' => 'sound code encode limit exceeded',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"Data\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateSoundCodeResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Data>Md3ZiTL888K9llXDy7890***********</Data>\\n<Success>true</Success>\\n</CreateSoundCodeResponse>","errorExample":""}]',
+ 'title' => 'CreateSoundCode',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteSoundCode' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SoundCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'sound code service has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.soundcode.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid iot instance id',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidSoundCode',
+ 'errorMessage' => 'invalid sound code',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidParam',
+ 'errorMessage' => 'invalid param',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.NotExists',
+ 'errorMessage' => 'sound code not exists',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteSoundCodeResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Success>true</Success>\\n</DeleteSoundCodeResponse>","errorExample":""}]',
+ 'title' => 'DeleteSoundCode',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QuerySoundCodeList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '50',
+ 'minimum' => '1',
+ 'example' => '20',
+ 'default' => '20',
+ ],
+ ],
+ [
+ 'name' => 'PageId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '10000',
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'sound code service has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'PageSize' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'PageId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Items' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'OpenType' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'OPEN',
+ ],
+ 'GmtCreate' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1620634297000',
+ ],
+ 'Duration' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'SoundCodeContent' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'www.taobao.com',
+ ],
+ 'Name' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test1',
+ ],
+ 'SoundCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.soundcode.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid iot instance id',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidParam',
+ 'errorMessage' => 'invalid param',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'iot.soundcodeservice.NotSigned',
+ 'errorMessage' => 'sound code service has not been signed',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"Total\\": 100,\\n \\"PageId\\": 1,\\n \\"List\\": {\\n \\"Items\\": [\\n {\\n \\"OpenType\\": \\"OPEN\\",\\n \\"GmtCreate\\": 1620634297000,\\n \\"Duration\\": 2,\\n \\"SoundCodeContent\\": \\"www.taobao.com\\",\\n \\"Name\\": \\"test1\\",\\n \\"SoundCode\\": \\"Md3ZiTL888K9llXDy7890***********\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"</QuerySoundCodeListResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Data>\\n <PageId>1</PageId>\\n <PageSize>20</PageSize>\\n <Total>100</Total>\\n <List>\\n <Items>\\n <GmtCreate>1620634297000</GmtCreate>\\n <Duration>2</Duration>\\n <SoundCodeContent>www.taobao.com</SoundCodeContent>\\n <SoundCode>Md3ZiTL888K9llXDy7890***********</SoundCode>\\n </Items>\\n </List>\\n</Data>\\n<Success>true</Success>\\n</QuerySoundCodeListResponse>","errorExample":""}]',
+ 'title' => 'QuerySoundCodeList ',
+ 'summary' => 'Invoke this API to query the list of voice codes.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetSoundCodeAudio' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'SoundCodeList',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ 'maxItems' => 50,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'speech solution has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Items' => [
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '["http://speech-solution.oss-cn-shanghai.aliyuncs.com/sound_code_model_audio/Md3ZiTL888K9llXDy7890***********/iot_instc_pu****_c*-v64********/Md3ZiTL888K9llXDy7890***********.wav?Expires=1641436550&OSSAccessKeyId=LTAIN4oIyl*****&Signature=dZQWqHxjJVd0SCZZ2wR***********"]',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.soundcode.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid iot instance id',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidParam',
+ 'errorMessage' => 'invalid param',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'iot.soundcodeservice.NotSigned',
+ 'errorMessage' => 'sound code service has not been signed',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Items\\": [\\n \\"[\\\\\\"http://speech-solution.oss-cn-shanghai.aliyuncs.com/sound_code_model_audio/Md3ZiTL888K9llXDy7890***********/iot_instc_pu****_c*-v64********/Md3ZiTL888K9llXDy7890***********.wav?Expires=1641436550&OSSAccessKeyId=LTAIN4oIyl*****&Signature=dZQWqHxjJVd0SCZZ2wR***********\\\\\\"]\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetSoundCodeAudioResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Data>\\n <Items>[\\"http://speech-solution.oss-cn-shanghai.aliyuncs.com/sound_code_model_audio/Md3ZiTL888K9llXDy7890***********/iot_instc_pu****_c*-v64********/Md3ZiTL888K9llXDy7890***********.wav?Expires=1641436550&amp;OSSAccessKeyId=LTAIN4oIyl*****&amp;Signature=dZQWqHxjJVd0SCZZ2wR***********\\"]</Items>\\n</Data>\\n<Success>true</Success>\\n</GetSoundCodeAudioResponse>","errorExample":""}]',
+ 'title' => 'GetSoundCodeAudio',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateSoundCodeSchedule' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'StartDate',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '2022-03-31',
+ ],
+ ],
+ [
+ 'name' => 'EndDate',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '2022-03-31',
+ ],
+ ],
+ [
+ 'name' => 'OpenType',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'INNER',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'sound code service has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.soundcodeschedule.InvalidDesc',
+ 'errorMessage' => 'invalid schedule description',
+ ],
+ [
+ 'errorCode' => 'iot.soundcodeschedule.InvalidName',
+ 'errorMessage' => 'invalid schedule name',
+ ],
+ [
+ 'errorCode' => 'iot.soundcodeschedule.AlreadyExistsName',
+ 'errorMessage' => 'already exists schedule name',
+ ],
+ [
+ 'errorCode' => 'iot.soundcodeschedule.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid schedule IotInstanceId',
+ ],
+ [
+ 'errorCode' => 'iot.soundcodeschedule.LimitExceeded',
+ 'errorMessage' => 'sound code schedule limit exceeded',
+ ],
+ [
+ 'errorCode' => 'iot.soundcodeschedule.InvalidDate',
+ 'errorMessage' => 'invalid sound code schedule date',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'iot.soundcodeservice.NotSigned',
+ 'errorMessage' => 'sound code service has not been signed',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"Data\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateSoundCodeScheduleResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Data>Md3ZiTL888K9llXDy7890***********</Data>\\n<Success>true</Success>\\n</CreateSoundCodeScheduleResponse>","errorExample":""}]',
+ 'title' => 'CreateSoundCodeSchedule',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateSoundCodeSchedule' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'ScheduleCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'WORKING',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '00:00',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '23:59',
+ ],
+ ],
+ [
+ 'name' => 'StartDate',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2022-03-31',
+ ],
+ ],
+ [
+ 'name' => 'EndDate',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2022-03-31',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'sound code service has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.soundcodeschedule.InvalidDesc',
+ 'errorMessage' => 'invalid schedule description',
+ ],
+ [
+ 'errorCode' => 'iot.soundcodeschedule.InvalidName',
+ 'errorMessage' => 'invalid schedule name',
+ ],
+ [
+ 'errorCode' => 'iot.soundcodeschedule.AlreadyExistsName',
+ 'errorMessage' => 'already exists schedule name',
+ ],
+ [
+ 'errorCode' => 'iot.soundcodeschedule.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid schedule IotInstanceId',
+ ],
+ [
+ 'errorCode' => 'iot.soundcodeschedule.NotExists',
+ 'errorMessage' => 'schedule not exists',
+ ],
+ [
+ 'errorCode' => 'iot.soundcodeschedule.InvalidStatus',
+ 'errorMessage' => 'invalid schedule status',
+ ],
+ [
+ 'errorCode' => 'iot.soundcodeschedule.InvalidTime',
+ 'errorMessage' => 'invalid schedule time',
+ ],
+ [
+ 'errorCode' => 'iot.scheduleperiod.ConflictTime',
+ 'errorMessage' => 'conflict with:%s',
+ ],
+ [
+ 'errorCode' => 'iot.soundcodeschedule.InvalidDate',
+ 'errorMessage' => 'invalid sound code schedule date',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'iot.soundcodeservice.NotSigned',
+ 'errorMessage' => 'sound code service has not been signed',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateSoundCodeScheduleResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Success>true</Success>\\n</UpdateSoundCodeScheduleResponse>\\n","errorExample":""}]',
+ 'title' => 'UpdateSoundCodeSchedule',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteSoundCodeSchedule' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'ScheduleCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'sound code service has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.soundcodeschedule.NotExists',
+ 'errorMessage' => 'schedule not exists',
+ ],
+ [
+ 'errorCode' => 'iot.soundcodeschedule.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid schedule IotInstanceId',
+ ],
+ [
+ 'errorCode' => 'iot.scheduleperiod.AlreadyExists',
+ 'errorMessage' => 'schedule period already exists',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.AlreadyExistsLabel',
+ 'errorMessage' => 'already exists sound code label',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'iot.soundcodeservice.NotSigned',
+ 'errorMessage' => 'sound code service has not been signed',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteSoundCodeScheduleResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Success>true</Success>\\n</DeleteSoundCodeScheduleResponse>","errorExample":""}]',
+ 'title' => 'DeleteSoundCodeSchedule',
+ ],
+ 'QuerySoundCodeScheduleList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '50',
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '20',
+ ],
+ ],
+ [
+ 'name' => 'PageId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '10000',
+ 'minimum' => '1',
+ 'example' => '20',
+ 'default' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'sound code service has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'PageSize' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'PageId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Items' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'OpenType' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'INNER',
+ ],
+ 'EndTime' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '23:59',
+ ],
+ 'Status' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'WORKING',
+ ],
+ 'StartTime' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '00:00',
+ ],
+ 'EndDate' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2022-03-28',
+ ],
+ 'Description' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'ScheduleCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ 'GmtCreate' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1620634297000',
+ ],
+ 'StartDate' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2022-03-28',
+ ],
+ 'Name' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.soundcodeschedule.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid schedule IotInstanceId',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidParam',
+ 'errorMessage' => 'invalid param',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'iot.soundcodeservice.NotSigned',
+ 'errorMessage' => 'sound code service has not been signed',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"Total\\": 100,\\n \\"PageId\\": 1,\\n \\"List\\": {\\n \\"Items\\": [\\n {\\n \\"OpenType\\": \\"INNER\\",\\n \\"EndTime\\": \\"23:59\\",\\n \\"Status\\": \\"WORKING\\",\\n \\"StartTime\\": \\"00:00\\",\\n \\"EndDate\\": \\"2022-03-28\\",\\n \\"Description\\": \\"test\\",\\n \\"ScheduleCode\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"GmtCreate\\": 1620634297000,\\n \\"StartDate\\": \\"2022-03-28\\",\\n \\"Name\\": \\"test\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QuerySoundCodeScheduleListResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Data>\\n <PageId>1</PageId>\\n <PageSize>20</PageSize>\\n <Total>100</Total>\\n <List>\\n <Items>\\n <StartDate>2022-03-28</StartDate>\\n <Status>WORKING</Status>\\n <GmtCreate>1620634297000</GmtCreate>\\n <Description>test</Description>\\n <EndTime>23:59</EndTime>\\n <StartTime>00:00</StartTime>\\n <ScheduleCode>Md3ZiTL888K9llXDy7890***********</ScheduleCode>\\n <EndDate>2022-03-28</EndDate>\\n <Name>test</Name>\\n <OPenType>INNER</OpenType>\\n </Items>\\n </List>\\n</Data>\\n<Success>true</Success>\\n</QuerySoundCodeScheduleListResponse>","errorExample":""}]',
+ 'title' => 'QuerySoundCodeScheduleList',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetSoundCodeSchedule' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'ScheduleCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'OpenType' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'INNER',
+ ],
+ 'EndTime' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '23:59',
+ ],
+ 'Status' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'WORKING',
+ ],
+ 'StartTime' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '00:00',
+ ],
+ 'EndDate' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2022-03-28',
+ ],
+ 'Description' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'ScheduleCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ 'GmtCreate' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1620634297000',
+ ],
+ 'StartDate' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2022-03-28',
+ ],
+ 'Name' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.soundcodeschedule.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid schedule IotInstanceId',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidParam',
+ 'errorMessage' => 'invalid param',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'iot.soundcodeservice.NotSigned',
+ 'errorMessage' => 'sound code service has not been signed',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"OpenType\\": \\"INNER\\",\\n \\"EndTime\\": \\"23:59\\",\\n \\"Status\\": \\"WORKING\\",\\n \\"StartTime\\": \\"00:00\\",\\n \\"EndDate\\": \\"2022-03-28\\",\\n \\"Description\\": \\"test\\",\\n \\"ScheduleCode\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"GmtCreate\\": 1620634297000,\\n \\"StartDate\\": \\"2022-03-28\\",\\n \\"Name\\": \\"test\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<QuerySoundCodeScheduleListResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Data>\\n <StartDate>2022-03-28</StartDate>\\n <Status>WORKING</Status>\\n <GmtCreate>1620634297000</GmtCreate>\\n <Description>test</Description>\\n <EndTime>23:59</EndTime>\\n <StartTime>00:00</StartTime>\\n <ScheduleCode>Md3ZiTL888K9llXDy7890***********</ScheduleCode>\\n <EndDate>2022-03-28</EndDate>\\n <Name>test</Name>\\n <OpenType>INNER</OpenType>\\n</Data>\\n<Success>true</Success>\\n</QuerySoundCodeScheduleListResponse>","errorExample":""}]',
+ 'title' => 'GetSoundCodeSchedule',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateSchedulePeriod' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SoundCodeContent',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'www.taobao.com',
+ ],
+ ],
+ [
+ 'name' => 'PeriodCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '00:00',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '01:00',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'sound code service has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.scheduleperiod.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid IotInstanceId',
+ ],
+ [
+ 'errorCode' => 'iot.scheduleperiod.InvalidTime',
+ 'errorMessage' => 'invalid period time',
+ ],
+ [
+ 'errorCode' => 'iot.scheduleperiod.InvalidDesc',
+ 'errorMessage' => 'Invalid period description',
+ ],
+ [
+ 'errorCode' => 'iot.scheduleperiod.NotExists',
+ 'errorMessage' => 'schedule period not exists',
+ ],
+ [
+ 'errorCode' => 'iot.scheduleperiod.ConflictWithScheduleTime',
+ 'errorMessage' => 'conflict with schedule time',
+ ],
+ [
+ 'errorCode' => 'iot.scheduleperiod.ConflictTime',
+ 'errorMessage' => 'conflict with:%s',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.SensitiveContent',
+ 'errorMessage' => 'sensitive content',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'iot.soundcodeservice.NotSigned',
+ 'errorMessage' => 'sound code service has not been signed',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateSchedulePeriodResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Success>true</Success>\\n</UpdateSchedulePeriodResponse>","errorExample":""}]',
+ 'title' => 'UpdateSchedulePeriod',
+ ],
+ 'CreateSchedulePeriod' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SoundCodeContent',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'www.taobao.com',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ScheduleCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '00:00',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '01:00',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'sound code service has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.scheduleperiod.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid IotInstanceId',
+ ],
+ [
+ 'errorCode' => 'iot.scheduleperiod.InvalidTime',
+ 'errorMessage' => 'invalid period time',
+ ],
+ [
+ 'errorCode' => 'iot.scheduleperiod.InvalidDesc',
+ 'errorMessage' => 'Invalid period description',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidSoundCodeContent',
+ 'errorMessage' => 'invalid sound code content',
+ ],
+ [
+ 'errorCode' => 'iot.soundcodeschedule.NotExists',
+ 'errorMessage' => 'schedule not exists',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.SensitiveContent',
+ 'errorMessage' => 'sensitive content',
+ ],
+ [
+ 'errorCode' => 'iot.scheduleperiod.ConflictTime',
+ 'errorMessage' => 'conflict with:%s',
+ ],
+ [
+ 'errorCode' => 'iot.scheduleperiod.ConflictWithScheduleTime',
+ 'errorMessage' => 'conflict with schedule time',
+ ],
+ [
+ 'errorCode' => 'iot.scheduleperiod.LimitExceeded',
+ 'errorMessage' => 'schedule period limit exceeded',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'iot.soundcodeservice.NotSigned',
+ 'errorMessage' => 'sound code service has not been signed',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"Data\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateSchedulePeriodResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Data>Md3ZiTL888K9llXDy7890***********</Data>\\n<Success>true</Success>\\n</CreateSchedulePeriodResponse>","errorExample":""}]',
+ 'title' => 'CreateSchedulePeriod',
+ ],
+ 'DeleteSchedulePeriod' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'PeriodCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'sound code service has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.scheduleperiod.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid IotInstanceId',
+ ],
+ [
+ 'errorCode' => 'iot.scheduleperiod.NotExists',
+ 'errorMessage' => 'schedule period not exists',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'iot.soundcodeservice.NotSigned',
+ 'errorMessage' => 'sound code service has not been signed',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteSchedulePeriodResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Success>true</Success>\\n</DeleteSchedulePeriodResponse>","errorExample":""}]',
+ 'title' => 'DeleteSchedulePeriod',
+ ],
+ 'QuerySchedulePeriodList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ScheduleCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '50',
+ 'minimum' => '1',
+ 'example' => '20',
+ 'default' => '20',
+ ],
+ ],
+ [
+ 'name' => 'PageId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '10000',
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'sound code service has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'PageSize' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'PageId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Items' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'EndTime' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '00:10',
+ ],
+ 'StartTime' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '00:00',
+ ],
+ 'SoundCodeContent' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'www.taobao.com',
+ ],
+ 'Description' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'PeriodCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.soundcode.InvalidParam',
+ 'errorMessage' => 'invalid param',
+ ],
+ [
+ 'errorCode' => 'iot.scheduleperiod.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid IotInstanceId',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'iot.soundcodeservice.NotSigned',
+ 'errorMessage' => 'sound code service has not been signed',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"Total\\": 200,\\n \\"PageId\\": 1,\\n \\"List\\": {\\n \\"Items\\": [\\n {\\n \\"EndTime\\": \\"00:10\\",\\n \\"StartTime\\": \\"00:00\\",\\n \\"SoundCodeContent\\": \\"www.taobao.com\\",\\n \\"Description\\": \\"test\\",\\n \\"PeriodCode\\": \\"Md3ZiTL888K9llXDy7890***********\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QuerySchedulePeriodListResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Data>\\n <PageId>1</PageId>\\n <PageSize>20</PageSize>\\n <Total>200</Total>\\n <List>\\n <Items>\\n <Description>test</Description>\\n <EndTime>00:10</EndTime>\\n <StartTime>00:00</StartTime>\\n <SoundCodeContent>www.taobao.com</SoundCodeContent>\\n <PeriodCode>Md3ZiTL888K9llXDy7890***********</PeriodCode>\\n </Items>\\n </List>\\n</Data>\\n<Success>true</Success>\\n</QuerySchedulePeriodListResponse>","errorExample":""}]',
+ 'title' => 'QuerySchedulePeriodList',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateSoundCodeLabel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ScheduleCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ [
+ 'name' => 'Label',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'sound code service has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.soundcode.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid iot instance id',
+ ],
+ [
+ 'errorCode' => 'iot.soundcodeschedule.NotExists',
+ 'errorMessage' => 'schedule not exists',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.AlreadyExistsLabel',
+ 'errorMessage' => 'already exists sound code label',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidLabel',
+ 'errorMessage' => 'invalid sound code label',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'iot.soundcodeservice.NotSigned',
+ 'errorMessage' => 'sound code service has not been signed',
+ ],
+ ],
+ 429 => [
+ [
+ 'errorCode' => 'iot.soundcode.EncodeLimit',
+ 'errorMessage' => 'sound code encode limit exceeded',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"Data\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateSoundCodeLabelResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Data>Md3ZiTL888K9llXDy7890***********</Data>\\n<Success>true</Success>\\n</CreateSoundCodeLabelResponse>","errorExample":""}]',
+ 'title' => 'CreateSoundCodeLabel',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateSoundCodeLabel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SoundCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'Label',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'sound code service has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.soundcode.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid iot instance id',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidSoundCode',
+ 'errorMessage' => 'invalid sound code',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidLabel',
+ 'errorMessage' => 'invalid sound code label',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.LabelNotExists',
+ 'errorMessage' => 'sound code label not exists',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.AlreadyExistsLabel',
+ 'errorMessage' => 'already exists sound code label',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'iot.soundcodeservice.NotSigned',
+ 'errorMessage' => 'sound code service has not been signed',
+ ],
+ ],
+ 429 => [
+ [
+ 'errorCode' => 'iot.soundcode.EncodeLimit',
+ 'errorMessage' => 'sound code encode limit exceeded',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateSoundCodeLabelResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Success>true</Success>\\n</UpdateSoundCodeLabelResponse>","errorExample":""}]',
+ 'title' => 'UpdateSoundCodeLabel',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteSoundCodeLabel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SoundCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'sound code service has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.soundcode.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid iot instance id',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidSoundCode',
+ 'errorMessage' => 'invalid sound code',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.LabelNotExists',
+ 'errorMessage' => 'sound code label not exists',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'iot.soundcodeservice.NotSigned',
+ 'errorMessage' => 'sound code service has not been signed',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteSoundCodeLabelResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Success>true</Success>\\n<DeleteSoundCodeLabelResponse>","errorExample":""}]',
+ 'title' => 'DeleteSoundCodeLabel',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QuerySoundCodeLabelList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ScheduleCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '50',
+ 'minimum' => '1',
+ 'example' => '20',
+ 'default' => '20',
+ ],
+ ],
+ [
+ 'name' => 'PageId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '10000',
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'sound code service has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'PageSize' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'PageId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Items' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Label' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'SoundCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.soundcode.InvalidParam',
+ 'errorMessage' => 'invalid param',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid iot instance id',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'iot.soundcodeservice.NotSigned',
+ 'errorMessage' => 'sound code service has not been signed',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"Total\\": 200,\\n \\"PageId\\": 1,\\n \\"List\\": {\\n \\"Items\\": [\\n {\\n \\"Label\\": \\"test\\",\\n \\"SoundCode\\": \\"Md3ZiTL888K9llXDy7890***********\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QuerySoundCodeLabelListResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Data>\\n <PageId>1</PageId>\\n <PageSize>20</PageSize>\\n <Total>200</Total>\\n <List>\\n <Items>\\n <Label>test</Label>\\n <SoundCode>Md3ZiTL888K9llXDy7890***********</SoundCode>\\n </Items>\\n </List>\\n</Data>\\n<Success>true</Success>\\n</QuerySoundCodeLabelListResponse>","errorExample":""}]',
+ 'title' => 'QuerySoundCodeLabelList',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchCreateSoundCodeLabel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'Total',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '200',
+ 'minimum' => '1',
+ 'example' => '20',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ScheduleCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'sound code service has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.soundcodeschedule.NotExists',
+ 'errorMessage' => 'schedule not exists',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidLabelBatchDescription',
+ 'errorMessage' => 'invalid sound code label batch description',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid iot instance id',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'iot.soundcodeservice.NotSigned',
+ 'errorMessage' => 'sound code service has not been signed',
+ ],
+ ],
+ 429 => [
+ [
+ 'errorCode' => 'iot.soundcode.EncodeLimit',
+ 'errorMessage' => 'sound code encode limit exceeded',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"Data\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BatchCreateSoundCodeLabelResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Data>Md3ZiTL888K9llXDy7890***********</Data>\\n<Success>true</Success>\\n</BatchCreateSoundCodeLabelResponse>","errorExample":""}]',
+ 'title' => 'BatchCreateSoundCodeLabel',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchCreateSoundCodeLabelWithLabels' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ScheduleCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'Labels',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ 'required' => true,
+ 'example' => 'test',
+ 'maxItems' => 200,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'sound code service has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.soundcodeschedule.NotExists',
+ 'errorMessage' => 'schedule not exists',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidLabel',
+ 'errorMessage' => 'invalid sound code label',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidLabelBatchDescription',
+ 'errorMessage' => 'invalid sound code label batch description',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid iot instance id',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'iot.soundcodeservice.NotSigned',
+ 'errorMessage' => 'sound code service has not been signed',
+ ],
+ ],
+ 429 => [
+ [
+ 'errorCode' => 'iot.soundcode.EncodeLimit',
+ 'errorMessage' => 'sound code encode limit exceeded',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"Data\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BatchCreateSoundCodeLabelWithLabelsResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Data>Md3ZiTL888K9llXDy7890***********</Data>\\n<Success>true</Success>\\n</BatchCreateSoundCodeLabelWithLabelsResponse>","errorExample":""}]',
+ 'title' => 'BatchCreateSoundCodeLabelWithLabels',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QuerySoundCodeLabelBatchList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ScheduleCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '50',
+ 'minimum' => '1',
+ 'example' => '20',
+ 'default' => '20',
+ ],
+ ],
+ [
+ 'name' => 'PageId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '10000',
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'sound code service has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'PageSize' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'PageId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Items' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'RUNNING',
+ ],
+ 'Description' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'BatchCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ 'GmtCreate' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1620634297000',
+ ],
+ 'SuccessNum' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.soundcode.InvalidParam',
+ 'errorMessage' => 'invalid param',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid iot instance id',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'iot.soundcodeservice.NotSigned',
+ 'errorMessage' => 'sound code service has not been signed',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"Total\\": 200,\\n \\"PageId\\": 1,\\n \\"List\\": {\\n \\"Items\\": [\\n {\\n \\"Status\\": \\"RUNNING\\",\\n \\"Description\\": \\"test\\",\\n \\"BatchCode\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"GmtCreate\\": 1620634297000,\\n \\"SuccessNum\\": 1,\\n \\"Total\\": 20\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QuerySoundCodeLabelBatchListResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Data>\\n <PageId>1</PageId>\\n <PageSize>20</PageSize>\\n <Total>200</Total>\\n <List>\\n <Items>\\n <Status>RUNNING</Status>\\n <GmtCreate>1620634297000</GmtCreate>\\n <Description>test</Description>\\n <SuccessNum>1</SuccessNum>\\n <BatchCode>Md3ZiTL888K9llXDy7890***********</BatchCode>\\n <Total>20</Total>\\n </Items>\\n </List>\\n</Data>\\n<Success>true</Success>\\n</QuerySoundCodeLabelBatchListResponse>","errorExample":""}]',
+ 'title' => 'QuerySoundCodeLabelBatchList',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QuerySoundCodeLabelBatchFailedResult' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'BatchCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'sound code service has not been signed',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Items' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'properties' => [
+ 'ResultCode' => [
+ 'description' => '',
+ 'example' => '7541',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'sound code label exist',
+ 'type' => 'string',
+ ],
+ 'Label' => [
+ 'description' => '',
+ 'example' => 'test',
+ 'type' => 'string',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.soundcode.InvalidParam',
+ 'errorMessage' => 'invalid param',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid iot instance id',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'iot.soundcodeservice.NotSigned',
+ 'errorMessage' => 'sound code service has not been signed',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Items\\": [\\n {\\n \\"ResultCode\\": \\"7541\\",\\n \\"ErrorMessage\\": \\"sound code label exist\\",\\n \\"Label\\": \\"test\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QuerySoundCodeLabelBatchFailedResultResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Data>\\n <Items>\\n <Label>test</Label>\\n <ErrorMessage>sound code label exist</ErrorMessage>\\n <ResultCode>7541</ResultCode>\\n </Items>\\n</Data>\\n<Success>true</Success>\\n</QuerySoundCodeLabelBatchFailedResultResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'QuerySoundCodeLabelBatchFailedResult',
+ ],
+ 'PackageSoundCodeLabelBatchAudio' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'BatchCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ 'type' => 'string',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'example' => 'http://****.oss-cn-shanghai.aliyuncs.com/speech_test_audio/CPjUL8qUtOMoQmC******.wav?Expires=1620380723',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'sound code service has not been signed',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.soundcode.LabelBatchNotExists',
+ 'errorMessage' => 'sound code label batch not exists',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.NoSuccessLabel',
+ 'errorMessage' => 'no success label',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid iot instance id',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'iot.soundcodeservice.NotSigned',
+ 'errorMessage' => 'sound code service has not been signed',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"Data\\": \\"http://****.oss-cn-shanghai.aliyuncs.com/speech_test_audio/CPjUL8qUtOMoQmC******.wav?Expires=1620380723\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<PackageSoundCodeLabelBatchAudioResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Data>http://****.oss-cn-shanghai.aliyuncs.com/speech_test_audio/CPjUL8qUtOMoQmC******.wav?Expires=1620380723</Data>\\n<Success>true</Success>\\n</PackageSoundCodeLabelBatchAudioResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'PackageSoundCodeLabelBatchAudio',
+ ],
+ 'RetrySoundCodeLabelBatch' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'BatchCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'sound code service has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.soundcode.InvalidParam',
+ 'errorMessage' => 'invalid param',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.LabelBatchNotExists',
+ 'errorMessage' => 'sound code label batch not exists',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.LabelBatchCanNotBeRetried',
+ 'errorMessage' => 'label batch can not be retried',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid iot instance id',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'iot.soundcodeservice.NotSigned',
+ 'errorMessage' => 'sound code service has not been signed',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<RetrySoundCodeLabelBatchResponse>\\n<RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n<Success>true</Success>\\n</RetrySoundCodeLabelBatchResponse>","errorExample":""}]',
+ 'title' => 'RetrySoundCodeLabelBatch',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateSoundCode' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'Duration',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '2',
+ ],
+ ],
+ [
+ 'name' => 'SoundCodeContent',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'www.taobao.com',
+ ],
+ ],
+ [
+ 'name' => 'SoundCode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Md3ZiTL888K9llXDy7890***********',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.soundcodeservice.NotSigned',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'sound code service has not been signed',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '66FF51D3-***-49F1-B1A2-***',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.soundcode.InvalidIotInstanceId',
+ 'errorMessage' => 'invalid iot instance id',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidSoundCode',
+ 'errorMessage' => 'invalid sound code',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidSoundCodeContent',
+ 'errorMessage' => 'invalid sound code content',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidSoundCodeDuration',
+ 'errorMessage' => 'invalid sound code duration',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.InvalidName',
+ 'errorMessage' => 'invalid sound code name',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.SensitiveContent',
+ 'errorMessage' => 'sensitive content',
+ ],
+ [
+ 'errorCode' => 'iot.soundcode.AlreadyExistsName',
+ 'errorMessage' => 'already exists sound code name',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'iot.soundcodeservice.NotSigned',
+ 'errorMessage' => 'sound code service has not been signed',
+ ],
+ ],
+ 429 => [
+ [
+ 'errorCode' => 'iot.soundcode.EncodeLimit',
+ 'errorMessage' => 'sound code encode limit exceeded',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateSoundCodeResponse>\\n <RequestId>66FF51D3-***-49F1-B1A2-***</RequestId>\\n <Success>true</Success>\\n</UpdateSoundCodeResponse>","errorExample":""}]',
+ 'title' => 'UpdateSoundCode',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateSceneRule' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'RuleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'test',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'RuleContent',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'RuleDescription',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'Success',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'request parameter error',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => 'C9D9C91B-1B3B-4D84-BE58-68E7B2A989EA',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ 'RuleId' => [
+ 'description' => '',
+ 'example' => 'f041397879ad4d89822811d741******',
+ 'type' => 'string',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"C9D9C91B-1B3B-4D84-BE58-68E7B2A989EA\\",\\n \\"Success\\": true,\\n \\"RuleId\\": \\"f041397879ad4d89822811d741******\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateSceneRuleResponse>\\r\\n <RequestId>C9D9C91B-1B3B-4D84-BE58-68E7B2A989EA</RequestId>\\r\\n <RuleId>f041397879ad4d89822811d741******</RuleId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</CreateSceneRuleResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'CreateSceneRule',
+ ],
+ 'DeleteSceneRule' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'RuleId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'f041397879ad4d89822811d741******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'C9D9C91B-1B3B-4D84-BE58-68E7B2A989EA',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"RequestId\\": \\"C9D9C91B-1B3B-4D84-BE58-68E7B2A989EA\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteSceneRuleResponse>\\r\\n <RequestId>C9D9C91B-1B3B-4D84-BE58-68E7B2A989EA</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</DeleteSceneRuleResponse>","errorExample":""}]',
+ 'title' => 'DeleteSceneRule',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateSceneRule' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'RuleId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'f041397879ad4d89822811d741******',
+ ],
+ ],
+ [
+ 'name' => 'RuleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'RuleContent',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'RuleDescription',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'C9D9C91B-1B3B-4D84-BE58-68E7B2A989EA',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"C9D9C91B-1B3B-4D84-BE58-68E7B2A989EA\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateSceneRuleResponse>\\r\\n <RequestId>C9D9C91B-1B3B-4D84-BE58-68E7B2A989EA</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</UpdateSceneRuleResponse>","errorExample":""}]',
+ 'title' => 'UpdateSceneRule',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetSceneRule' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'RuleId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'f041397879ad4d89822811d741******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '1B6D50A7-F160-4D47-863C-EDEE25E26495',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RuleStatus' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'RuleContent' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{\\"action\\":[{\\"params\\":{\\"productKey\\":\\"a19luLB****\\",\\"propertyItems\\":{\\"LightAdjustLevel\\":10},\\"deviceName\\":\\"test01\\"},\\"uri\\":\\"action/device/setProperty\\"}],\\"trigger\\":{\\"params\\":{\\"cron\\":\\"22 13 20 1 *\\",\\"cronType\\":\\"linux\\"},\\"uri\\":\\"trigger/timer\\"},\\"type\\":\\"IFTTT\\",\\"sid\\":\\"9df954b33c854d469a507ef8d6******\\"}',
+ ],
+ 'GmtCreate' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1584085921000',
+ ],
+ 'GmtModified' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1579493552000',
+ ],
+ 'RuleDescription' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RuleName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"RequestId\\": \\"1B6D50A7-F160-4D47-863C-EDEE25E26495\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"RuleStatus\\": 0,\\n \\"RuleContent\\": \\"{\\\\\\\\\\\\\\"action\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"params\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"productKey\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"a19luLB****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"propertyItems\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"LightAdjustLevel\\\\\\\\\\\\\\":10},\\\\\\\\\\\\\\"deviceName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"test01\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"uri\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"action/device/setProperty\\\\\\\\\\\\\\"}],\\\\\\\\\\\\\\"trigger\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"params\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cron\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"22 13 20 1 *\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"cronType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"linux\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"uri\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"trigger/timer\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"IFTTT\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"9df954b33c854d469a507ef8d6******\\\\\\\\\\\\\\"}\\",\\n \\"GmtCreate\\": 1584085921000,\\n \\"GmtModified\\": 1579493552000,\\n \\"RuleDescription\\": \\"测试\\",\\n \\"RuleName\\": \\"test\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetSceneRuleResponse>\\r\\n <RequestId>1B6D50A7-F160-4D47-863C-EDEE25E26495</RequestId>\\r\\n <Data>\\r\\n <GmtCreate>1584085921000</GmtCreate>\\r\\n <GmtModified>1579493552000</GmtModified>\\r\\n <RuleContent>{\\"action\\":[{\\"params\\":{\\"productKey\\":\\"a19luLB****\\",\\"propertyItems\\":{\\"LightAdjustLevel\\":10},\\"deviceName\\":\\"test01\\"},\\"uri\\":\\"action/device/setProperty\\"}],\\"trigger\\":{\\"params\\":{\\"cron\\":\\"22 13 20 1 *\\",\\"cronType\\":\\"linux\\"},\\"uri\\":\\"trigger/timer\\"},\\"type\\":\\"IFTTT\\",\\"sid\\":\\"9df954b33c854d469a507ef8d6******\\"}</RuleContent>\\r\\n <RuleStatus>0</RuleStatus>\\r\\n <RuleName>test</RuleName>\\r\\n </Data>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</GetSceneRuleResponse>","errorExample":""}]',
+ 'title' => 'GetSceneRule',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QuerySceneRule' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'RuleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'test',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '10',
+ 'format' => 'int32',
+ 'required' => true,
+ 'type' => 'integer',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '1',
+ 'format' => 'int32',
+ 'required' => true,
+ 'type' => 'integer',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'Success',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'request parameter error',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => 'D4C3331B-0FA8-4A05-AFE2-54F698EDEAF7',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'properties' => [
+ 'CurrentPage' => [
+ 'description' => '',
+ 'example' => '1',
+ 'format' => 'int32',
+ 'type' => 'integer',
+ ],
+ 'PageSize' => [
+ 'description' => '',
+ 'example' => '10',
+ 'format' => 'int32',
+ 'type' => 'integer',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'example' => '1',
+ 'format' => 'int32',
+ 'type' => 'integer',
+ ],
+ 'RuleList' => [
+ 'description' => '',
+ 'items' => [
+ 'properties' => [
+ 'RuleStatus' => [
+ 'description' => '',
+ 'example' => '1',
+ 'format' => 'int32',
+ 'type' => 'integer',
+ ],
+ 'GmtCreate' => [
+ 'description' => '',
+ 'example' => '1582004185000',
+ 'format' => 'int64',
+ 'type' => 'integer',
+ ],
+ 'GmtModified' => [
+ 'description' => '',
+ 'example' => '1582098176000',
+ 'format' => 'int64',
+ 'type' => 'integer',
+ ],
+ 'RuleDescription' => [
+ 'description' => '',
+ 'example' => '',
+ 'type' => 'string',
+ ],
+ 'RuleId' => [
+ 'description' => '',
+ 'example' => 'f041397879ad4d89822811d741******',
+ 'type' => 'string',
+ ],
+ 'RuleName' => [
+ 'description' => '',
+ 'example' => 'test',
+ 'type' => 'string',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ 'type' => 'array',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"D4C3331B-0FA8-4A05-AFE2-54F698EDEAF7\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"Total\\": 1,\\n \\"RuleList\\": [\\n {\\n \\"RuleStatus\\": 1,\\n \\"GmtCreate\\": 1582004185000,\\n \\"GmtModified\\": 1582098176000,\\n \\"RuleDescription\\": \\"测试\\",\\n \\"RuleId\\": \\"f041397879ad4d89822811d741******\\",\\n \\"RuleName\\": \\"test\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QuerySceneRuleResponse>\\r\\n <RequestId>D4C3331B-0FA8-4A05-AFE2-54F698EDEAF7</RequestId>\\r\\n <Data>\\r\\n <RuleList>\\r\\n <Rule>\\r\\n <GmtCreate>1582004185000</GmtCreate>\\r\\n <RuleId>f041397879ad4d89822811d741******</RuleId>\\r\\n <GmtModified>1582098176000</GmtModified>\\r\\n <RuleStatus>1</RuleStatus>\\r\\n <RuleName>test</RuleName>\\r\\n </Rule>\\r\\n </RuleList>\\r\\n <PageSize>10</PageSize>\\r\\n <CurrentPage>1</CurrentPage>\\r\\n <Total>1</Total>\\r\\n </Data>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</QuerySceneRuleResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'QuerySceneRule',
+ ],
+ 'EnableSceneRule' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'RuleId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'f041397879ad4d89822811d741******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'C9D9C91B-1B3B-4D84-BE58-68E7B2A989EK',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"RequestId\\": \\"C9D9C91B-1B3B-4D84-BE58-68E7B2A989EK\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<EnableSceneRuleResponse>\\r\\n <RequestId>C9D9C91B-1B3B-4D84-BE58-68E7B2A989EK</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</EnableSceneRuleResponse>","errorExample":""}]',
+ 'title' => 'EnableSceneRule',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DisableSceneRule' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'RuleId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'fec565038d7544978d9aed5c1a******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'C9D9C91B-1B3B-4D84-BE58-68E7BAA989EK',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"RequestId\\": \\"C9D9C91B-1B3B-4D84-BE58-68E7BAA989EK\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DisableSceneRuleResponse>\\r\\n <RequestId>C9D9C91B-1B3B-4D84-BE58-68E7BAA989EK</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</DisableSceneRuleResponse>","errorExample":""}]',
+ 'title' => 'DisableSceneRule',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'TriggerSceneRule' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'RuleId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'f041397879ad4d89822811d741******',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'F3APY0tPLhmgGtx0****',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'Success',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => 'C9D9C91B-1B3B-4D84-AE58-68E7BAA989EK',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'request parameter error',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"RequestId\\": \\"C9D9C91B-1B3B-4D84-AE58-68E7BAA989EK\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<TriggerSceneRuleResponse>\\r\\n <RequestId>C9D9C91B-1B3B-4D84-AE58-68E7BAA989EK</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</TriggerSceneRuleResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'TriggerSceneRule',
+ ],
+ 'QuerySummarySceneRuleLog' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'RuleId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'fec565038d7544978d9aed5c1a******',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1582372973',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1582373873',
+ ],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '2',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2279A994-3E7D-4EC6-BD17-FA0D0EC2EC77',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'CurrentPage' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'LogList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'LogInfo' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'LogTime' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1582373706',
+ ],
+ 'Result' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'true',
+ ],
+ 'TraceId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'a6a5b5df1582373508176121******',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"RequestId\\": \\"2279A994-3E7D-4EC6-BD17-FA0D0EC2EC77\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"Total\\": 3,\\n \\"LogList\\": {\\n \\"LogInfo\\": [\\n {\\n \\"LogTime\\": 1582373706,\\n \\"Result\\": \\"true\\",\\n \\"TraceId\\": \\"a6a5b5df1582373508176121******\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QuerySummarySceneRuleLogResponse>\\r\\n <RequestId>2279A994-3E7D-4EC6-BD17-FA0D0EC2EC77</RequestId>\\r\\n <Data>\\r\\n <LogList>\\r\\n <LogInfo>\\r\\n <LogTime>1582373706</LogTime>\\r\\n <TraceId>a6a5b5df1582373508176121******</TraceId>\\r\\n <Result>true</Result>\\r\\n </LogInfo>\\r\\n <LogInfo>\\r\\n <LogTime>1582373411</LogTime>\\r\\n <TraceId>90c8f97a1582373433359109******</TraceId>\\r\\n <Result>true</Result>\\r\\n </LogInfo>\\r\\n <LogInfo>\\r\\n <LogTime>1582373408</LogTime>\\r\\n <TraceId>90c8f97a1582373411302109******</TraceId>\\r\\n <Result>true</Result>\\r\\n </LogInfo>\\r\\n </LogList>\\r\\n <PageSize>10</PageSize>\\r\\n <CurrentPage>1</CurrentPage>\\r\\n <Total>3</Total>\\r\\n </Data>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</QuerySummarySceneRuleLogResponse>","errorExample":""}]',
+ 'title' => 'QuerySummarySceneRuleLog',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryDetailSceneRuleLog' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'RuleId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'e5dd1c7aa3994ecdbc88235979******',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1581917582',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1581918482',
+ ],
+ ],
+ [
+ 'name' => 'TraceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'b662a9671581918480168107******',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '15',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'ED2DF141-B09A-4C8A-BAA5-30CCEE63036C',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'CurrentPage' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '15',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'LogList' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '9201',
+ ],
+ 'Message' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'device offline, productKey: a1c3t****, deviceName: my_device1',
+ ],
+ 'PkDn' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'a1c3t****/my_device1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"RequestId\\": \\"ED2DF141-B09A-4C8A-BAA5-30CCEE63036C\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 15,\\n \\"Total\\": 1,\\n \\"LogList\\": [\\n {\\n \\"Code\\": \\"9201\\",\\n \\"Message\\": \\"device offline, productKey: a1c3t****, deviceName: my_device1\\",\\n \\"PkDn\\": \\"a1c3t****/my_device1\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDetailSceneRuleLogResponse>\\r\\n <RequestId>ED2DF141-B09A-4C8A-BAA5-30CCEE63036C</RequestId>\\r\\n <Data>\\r\\n <LogList>\\r\\n <LogInfo>\\r\\n <PkDn>a1c3t****/my_device1</PkDn>\\r\\n <Message>device offline, productKey: a1c3****, deviceName: my_device1</Message>\\r\\n <Code>9201</Code>\\r\\n </LogInfo>\\r\\n </LogList>\\r\\n <PageSize>15</PageSize>\\r\\n <CurrentPage>1</CurrentPage>\\r\\n <Total>1</Total>\\r\\n </Data>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</QueryDetailSceneRuleLogResponse>","errorExample":""}]',
+ 'title' => 'QueryDetailSceneRuleLog',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateEdgeInstance' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for public instances. However, this parameter is required for the instances that you have purchased.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the edge instance.'."\n"
+ ."\n"
+ .'An instance name cannot exceed 20 characters in length and can contain uppercase letters, lowercase letters, digits, underscores (\\_), and hyphens (-).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'LinkIoTEdge_Node',
+ ],
+ ],
+ [
+ 'name' => 'Tags',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The tags of the edge instance. Syntax of a tag: `key:value`. Multiple tags are separated with commas (,), for example, `k1:v1,k2:v2`.'."\n"
+ ."\n"
+ .'* Note the following limits on tag keys:'."\n"
+ ."\n"
+ .' * Tag values cannot be left empty.'."\n"
+ .' * Tag keys must be unique in the edge instance.'."\n"
+ .' * Tag keys only support letters.'."\n"
+ .' * Each tag key cannot exceed 20 characters in length.'."\n"
+ ."\n"
+ .'* Note the following limits on tag values:'."\n"
+ ."\n"
+ .' * Tag values cannot be left empty.'."\n"
+ .' * A tag value can contain uppercase letters, lowercase letters, digits, underscores (\\_), and hyphens (-).'."\n"
+ .' * Each tag value cannot exceed 20 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'k1:v1,k2:v2',
+ ],
+ ],
+ [
+ 'name' => 'Spec',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The specification of the edge instance.'."\n"
+ ."\n"
+ .'* 10: Lite Edition.'."\n"
+ .'* 20: Standard Edition.'."\n"
+ .'* 30: Pro Edition.'."\n"
+ ."\n"
+ .'Default value: 20.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '20',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code. Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the edge instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'F3APY0tPLhmgGtx0****',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '28D159F4-980F-423D-95F0-F705E9DFC016',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. true: indicates that the call was successful. false: indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"InstanceId\\": \\"F3APY0tPLhmgGtx0****\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"28D159F4-980F-423D-95F0-F705E9DFC016\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateEdgeInstanceResponse>\\r\\n <RequestId>28D159F4-980F-423D-95F0-F705E9DFC016</RequestId>\\r\\n <InstanceId>F3APY0tPLhmgGtx0****</InstanceId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</CreateEdgeInstanceResponse>","errorExample":""}]',
+ 'title' => 'CreateEdgeInstance',
+ 'summary' => 'Creates an edge instance.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'A single Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users share the quota of the Alibaba Cloud account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding exclusive request parameters, you must specify common request parameters when calling this API operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteEdgeInstance' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance that you want to delete and obtain the instance ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'F3APY0tPLhmgGtx0****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'F29C33E5-BF22-48FE-9FEF-8A24146E3388',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"F29C33E5-BF22-48FE-9FEF-8A24146E3388\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteEdgeInstanceResponse>\\r\\n <RequestId>F29C33E5-BF22-48FE-9FEF-8A24146E3388</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</DeleteEdgeInstanceResponse>","errorExample":""}]',
+ 'title' => 'DeleteEdgeInstance',
+ 'summary' => 'Deletes an edge instance.',
+ 'description' => 'Each Alibaba Cloud account can run a maximum of five queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateEdgeInstance' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance that you want to update and obtain the instance ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'F3APY0tPLhmgGtx0****',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the edge instance.'."\n"
+ ."\n"
+ .'The name can be up to 20 characters in length and can contain letters, digits, underscores (\\_), and hyphens (-).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'LinkIoTEdge_Node',
+ ],
+ ],
+ [
+ 'name' => 'Tags',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The tags of the edge instance. Each tag is a key-value pair. Multiple tags are separated with commas (,). Example: `k1:v1,k2:v2`.'."\n"
+ ."\n"
+ .'* Take note of the following limits on tag keys:'."\n"
+ ."\n"
+ .' * Tag keys cannot be left empty.'."\n"
+ .' * Tag keys must be unique in the edge instance.'."\n"
+ .' * Tag keys support only letters.'."\n"
+ .' * Each tag key can be up to 20 characters in length.'."\n"
+ ."\n"
+ .'* Take note of the following limits on tag values:'."\n"
+ ."\n"
+ .' * Tag values cannot be left empty.'."\n"
+ .' * A tag value can contain letters, digits, underscores (\\_), and hyphens (-).'."\n"
+ .' * Each tag value can be up to 20 characters in length.'."\n"
+ ."\n"
+ .'If you do not set this parameter, this parameter is not updated.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'k1:v1,k2:v2',
+ ],
+ ],
+ [
+ 'name' => 'Spec',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The specifications of the edge instance. Valid values:'."\n"
+ ."\n"
+ .'* 10: Lite Edition'."\n"
+ .'* 20: Standard Edition'."\n"
+ .'* 30: Pro Edition'."\n"
+ ."\n"
+ .'If you do not set this parameter, this parameter is not updated.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'BizEnable',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to enable the edge instance. Valid values:'."\n"
+ ."\n"
+ .'* true: enables the edge instance.'."\n"
+ .'* false: disables the edge instance.'."\n"
+ ."\n"
+ .'If you do not set this parameter, this parameter is not updated.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation.'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '10CA6DAD-EBAF-4D3E-9309-9DB5B0FF48F2',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"10CA6DAD-EBAF-4D3E-9309-9DB5B0FF48F2\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateEdgeInstanceResponse>\\r\\n <RequestId>10CA6DAD-EBAF-4D3E-9309-9DB5B0FF48F2</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</UpdateEdgeInstanceResponse>","errorExample":""}]',
+ 'title' => 'UpdateEdgeInstance',
+ 'summary' => 'Updates an edge instance.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of five queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~135196~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetEdgeInstance' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance whose detailed information you want to query and obtain the instance ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'F3APY0tPLhmgGtx0****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '16645053-546B-4D7C-832E-E519B0E23CF1',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data that is returned if the call was successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'GmtCreateTimestamp' => [
+ 'description' => 'The UNIX timestamp when the edge instance was created.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'Type' => [
+ 'description' => 'Indicates whether you own the edge instance or you are authorized to use the edge instance. Valid values:'."\n"
+ ."\n"
+ .'* 0: You own the edge instance.'."\n"
+ .'* 1: You are authorized to use the edge instance.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ 'RoleArn' => [
+ 'description' => 'The Alibaba Cloud Resource Name (ARN) of the RAM role.'."\n",
+ 'type' => 'string',
+ 'example' => 'acs:ram::1473922805******:role/aliyuniotaccessingfcrole',
+ ],
+ 'Spec' => [
+ 'description' => 'The specifications of the edge instance. Valid values:'."\n"
+ ."\n"
+ .'* 10: Lite Edition'."\n"
+ .'* 20: Standard Edition'."\n"
+ .'* 30: Pro Edition'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '30',
+ ],
+ 'RoleAttachTime' => [
+ 'description' => 'The time when the RAM role was attached to IoT Platform.'."\n",
+ 'type' => 'string',
+ 'example' => '2020-02-19 11:25:48',
+ ],
+ 'GmtModifiedTimestamp' => [
+ 'description' => 'The last UNIX timestamp when the edge instance was updated.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'Tags' => [
+ 'description' => 'The tags of the edge instance. Each tag is a `key-value` pair. Multiple tags are separated with commas(,). Example: `k1:v1,k2:v2`.'."\n",
+ 'type' => 'string',
+ 'example' => 'k1:v1,k2:v2',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the edge instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'F3APY0tPLhmgGtx0****',
+ ],
+ 'RoleName' => [
+ 'description' => 'The name of the RAM role.'."\n",
+ 'type' => 'string',
+ 'example' => 'AliyunIOTAccessingFCRole',
+ ],
+ 'RoleAttachTimestamp' => [
+ 'description' => 'The UNIX timestamp when the RAM role was attached to IoT Platform.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'GmtModified' => [
+ 'description' => 'The last time when the edge instance was updated.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-06-26 12:33:25',
+ ],
+ 'LatestDeploymentType' => [
+ 'description' => 'The type of the latest deployment task. Valid values:'."\n"
+ ."\n"
+ .'* deploy: deploys the edge instance.'."\n"
+ .'* reset: resets the edge instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'deploy',
+ ],
+ 'LatestDeploymentStatus' => [
+ 'description' => 'The status of the latest deployment task. Valid values:'."\n"
+ ."\n"
+ .'* 0: The task was not started.'."\n"
+ .'* 1: The task was being processed.'."\n"
+ .'* 2: The task was successful.'."\n"
+ .'* 3: The task failed.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'BizEnable' => [
+ 'description' => 'Indicates whether the edge instance was enabled. Valid values:'."\n"
+ ."\n"
+ .'* true: enabled'."\n"
+ .'* false: disabled'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The time when the edge instance was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-06-26 12:33:25',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the edge instance.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"16645053-546B-4D7C-832E-E519B0E23CF1\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"GmtCreateTimestamp\\": 1581912859713,\\n \\"Type\\": \\"0\\",\\n \\"RoleArn\\": \\"acs:ram::1473922805******:role/aliyuniotaccessingfcrole\\",\\n \\"Spec\\": 30,\\n \\"RoleAttachTime\\": \\"2020-02-19 11:25:48\\",\\n \\"GmtModifiedTimestamp\\": 1581912859713,\\n \\"Tags\\": \\"k1:v1,k2:v2\\",\\n \\"InstanceId\\": \\"F3APY0tPLhmgGtx0****\\",\\n \\"RoleName\\": \\"AliyunIOTAccessingFCRole\\",\\n \\"RoleAttachTimestamp\\": 1581912859713,\\n \\"GmtModified\\": \\"2019-06-26 12:33:25\\",\\n \\"LatestDeploymentType\\": \\"deploy\\",\\n \\"LatestDeploymentStatus\\": 2,\\n \\"BizEnable\\": true,\\n \\"GmtCreate\\": \\"2019-06-26 12:33:25\\",\\n \\"Name\\": \\"测试实例new\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetEdgeInstanceResponse>\\r\\n <RequestId>16645053-546B-4D7C-832E-E519B0E23CF1</RequestId>\\r\\n <Data>\\r\\n <GmtCreate>2019-06-26 12:33:25</GmtCreate>\\r\\n <BizEnable>true</BizEnable>\\r\\n <InstanceId>F3APY0tPLhmgGtx0****</InstanceId>\\r\\n <LatestDeploymentType>deploy</LatestDeploymentType>\\r\\n <GmtModified>2019-06-26 16:16:22</GmtModified>\\r\\n <Spec>30</Spec>\\r\\n <Tags>k1:v1,k2:v2</Tags>\\r\\n <Name>测试实例new</Name>\\r\\n <LatestDeploymentStatus>2</LatestDeploymentStatus>\\r\\n </Data>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</GetEdgeInstanceResponse>","errorExample":""}]',
+ 'title' => 'GetEdgeInstance',
+ 'summary' => 'Queries detailed information about an edge instance.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryEdgeInstance' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Maximum value: 30. Default value: 10. If you specify a value smaller than 1, the system uses 10.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page from which the results are displayed. The minimum value is 1. If you specify a value smaller than 1, the system uses 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '15',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the edge instance.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The error code. Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'Indicates whether the call was successful. true: indicates that the call was successful. false: indicates that the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => '199BBC5D-FC99-46CB-88E2-FB98E92446FA',
+ ],
+ 'Success' => [
+ 'description' => 'The data returned if the call was successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'CurrentPage' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of edge instances.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'Total' => [
+ 'description' => 'A list of edge instances.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '201',
+ ],
+ 'InstanceList' => [
+ 'description' => 'Indicates whether you own the edge instance or you are authorized to use the edge instance.'."\n"
+ ."\n"
+ .'* 0: You own the edge instance.'."\n"
+ .'* 1: You are authorized to use the edge instance.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'GmtCreateTimestamp' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'Type' => [
+ 'description' => 'The Alibaba Cloud Resource Name (ARN) of the RAM role.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'RoleArn' => [
+ 'description' => 'The time when the RAM role was attached to IoT Platform.'."\n",
+ 'type' => 'string',
+ 'example' => 'acs:ram::1473922805******:role/aliyuniotaccessingfcrole',
+ ],
+ 'RoleAttachTime' => [
+ 'description' => 'The specification of the edge instance.'."\n"
+ ."\n"
+ .'* 10: Lite Edition.'."\n"
+ .'* 20: Standard Edition.'."\n"
+ .'* 30: Pro Edition.'."\n",
+ 'type' => 'string',
+ 'example' => '2020-02-19 11:25:48',
+ ],
+ 'Spec' => [
+ 'description' => 'The tags of the edge instance.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '30',
+ ],
+ 'GmtModifiedTimestamp' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'Tags' => [
+ 'description' => 'The ID of the edge instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'k1:v1,k2:v2',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The name of the RAM role.'."\n",
+ 'type' => 'string',
+ 'example' => '9iqyQAKDb2aYGVKa****',
+ ],
+ 'RoleName' => [
+ 'description' => 'The time when the edge instance was last updated.'."\n",
+ 'type' => 'string',
+ 'example' => 'AliyunIOTAccessingFCRole',
+ ],
+ 'RoleAttachTimestamp' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'GmtModified' => [
+ 'description' => 'The type of the latest deployment task.'."\n"
+ ."\n"
+ .'* deploy: deploys the edge instance.'."\n"
+ .'* Reset: resets the edge instance.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-07-17 14:51:38',
+ ],
+ 'LatestDeploymentType' => [
+ 'description' => 'The status of the latest deployment task.'."\n"
+ ."\n"
+ .'* 0: The task has not started.'."\n"
+ .'* 1: The task is being processed.'."\n"
+ .'* 2: The task was successful.'."\n"
+ .'* 3: The task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'deploy',
+ ],
+ 'LatestDeploymentStatus' => [
+ 'description' => 'Indicates whether the edge instance was enabled.'."\n"
+ ."\n"
+ .'* true: enabled'."\n"
+ .'* false: disabled'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'BizEnable' => [
+ 'description' => 'The time when the edge instance was created.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The name of the edge instance.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-07-17 14:34:28',
+ ],
+ 'Name' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test_le1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"199BBC5D-FC99-46CB-88E2-FB98E92446FA\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 2,\\n \\"Total\\": 201,\\n \\"InstanceList\\": [\\n {\\n \\"GmtCreateTimestamp\\": 1581912859713,\\n \\"Type\\": 0,\\n \\"RoleArn\\": \\"acs:ram::1473922805******:role/aliyuniotaccessingfcrole\\",\\n \\"RoleAttachTime\\": \\"2020-02-19 11:25:48\\",\\n \\"Spec\\": 30,\\n \\"GmtModifiedTimestamp\\": 1581912859713,\\n \\"Tags\\": \\"k1:v1,k2:v2\\",\\n \\"InstanceId\\": \\"9iqyQAKDb2aYGVKa****\\",\\n \\"RoleName\\": \\"AliyunIOTAccessingFCRole\\",\\n \\"RoleAttachTimestamp\\": 1581912859713,\\n \\"GmtModified\\": \\"2019-07-17 14:51:38\\",\\n \\"LatestDeploymentType\\": \\"deploy\\",\\n \\"LatestDeploymentStatus\\": 1,\\n \\"BizEnable\\": true,\\n \\"GmtCreate\\": \\"2019-07-17 14:34:28\\",\\n \\"Name\\": \\"test_le1\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryEdgeInstanceResponse>\\r\\n <RequestId>199BBC5D-FC99-46CB-88E2-FB98E92446FA</RequestId>\\r\\n <Data>\\r\\n <PageSize>2</PageSize>\\r\\n <CurrentPage>1</CurrentPage>\\r\\n <Total>201</Total>\\r\\n <InstanceList>\\r\\n <Instance>\\r\\n <GmtCreate>2019-07-17 14:34:28</GmtCreate>\\r\\n <BizEnable>true</BizEnable>\\r\\n <InstanceId>9iqyQAKDb2aYGVKa****</InstanceId>\\r\\n <GmtModified>2019-07-17 14:51:38</GmtModified>\\r\\n <Spec>20</Spec>\\r\\n <Name>test_le1</Name>\\r\\n </Instance>\\r\\n <Instance>\\r\\n <GmtCreate>2018-10-22 20:09:29</GmtCreate>\\r\\n <BizEnable>true</BizEnable>\\r\\n <InstanceId>ZpbCxkQpbb2kpmm0****</InstanceId>\\r\\n <LatestDeploymentType>reset</LatestDeploymentType>\\r\\n <GmtModified>2019-07-16 16:50:50</GmtModified>\\r\\n <Spec>30</Spec>\\r\\n <Name>test_le1</Name>\\r\\n <LatestDeploymentStatus>1</LatestDeploymentStatus>\\r\\n </Instance>\\r\\n </InstanceList>\\r\\n </Data>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</QueryEdgeInstanceResponse>","errorExample":""}]',
+ 'title' => 'QueryEdgeInstance',
+ 'summary' => 'Queries all edge instances that belong to a specified Alibaba Cloud account.',
+ 'description' => 'In addition to the preceding exclusive request parameters, you must specify common request parameters when calling this API operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'requestParamsDescription' => 'The operation that you want to perform. Set the value to QueryEdgeInstance.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BindGatewayToEdgeInstance' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance to which you want to bind a gateway and obtain the instance ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'F3APY0tPLhmgGtx0****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The key that uniquely identifies the product to which the gateway belongs.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1mAdeG****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the gateway.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'device1',
+ ],
+ ],
+ [
+ 'name' => 'IotId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the gateway in IoT Platform. This parameter corresponds to the combination of the **ProductKey** and **DeviceName** parameters.'."\n"
+ ."\n"
+ .'> If you specify this parameter, you do not need to specify the **ProductKey** or **DeviceName** parameter. If you use the **IotId** parameter and the combination of the **ProductKey** and **DeviceName** parameters, only the **IotId** parameter takes effect.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '4z819VQHk6VSLmmBJfrf0010******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '28D159F4-980F-423D-95F0-F705E9DFC016',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"28D159F4-980F-423D-95F0-F705E9DFC016\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BindGatewayToEdgeInstanceResponse>\\r\\n <RequestId>E3817065-2A17-4814-82FA-66FAB2CC01DF</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</BindGatewayToEdgeInstanceResponse>","errorExample":""}]',
+ 'title' => 'BindGatewayToEdgeInstance',
+ 'summary' => 'Binds a gateway to an edge instance.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryEdgeInstanceGateway' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance that you want to query and obtain the instance ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'F3APY0tPLhmgGtx0****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '28D159F4-980F-423D-95F0-F705E9DFC016',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'GatewayList' => [
+ 'description' => 'The data that is returned if the call was successful.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => 'The key that uniquely identifies the product to which the gateway belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1mAdeG****',
+ ],
+ 'EdgeVersion' => [
+ 'description' => 'The version number of Link IoT Edge.'."\n",
+ 'type' => 'string',
+ 'example' => 'v1.0.0',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The name of the gateway.'."\n",
+ 'type' => 'string',
+ 'example' => 'gateway_01',
+ ],
+ 'IotId' => [
+ 'description' => 'The ID of the gateway in IoT Platform.'."\n",
+ 'type' => 'string',
+ 'example' => 'LuD9x5hiRUdVemWU****000101',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"28D159F4-980F-423D-95F0-F705E9DFC016\\",\\n \\"Success\\": true,\\n \\"GatewayList\\": [\\n {\\n \\"ProductKey\\": \\"a1mAdeG****\\",\\n \\"EdgeVersion\\": \\"v1.0.0\\",\\n \\"DeviceName\\": \\"gateway_01\\",\\n \\"IotId\\": \\"LuD9x5hiRUdVemWU****000101\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<QueryEdgeInstanceGatewayResponse>\\r\\n <GatewayList>\\r\\n <Gateway>\\r\\n <IotId>LuD9x5hiRUdVemWU****000101</IotId>\\r\\n <ProductKey>a1mAdeG****</ProductKey>\\r\\n <DeviceName>gateway_01</DeviceName>\\r\\n <EdgeVersion>v1.0.0</EdgeVersion>\\r\\n </Gateway>\\r\\n </GatewayList>\\r\\n <RequestId>547A62E5-0D6D-4DB5-9CCC-58C706891976</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</QueryEdgeInstanceGatewayResponse>","errorExample":""}]',
+ 'title' => 'QueryEdgeInstanceGateway',
+ 'summary' => 'Queries the gateways that are bound to an edge instance.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BindDriverToEdgeInstance' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance to which you want to bind a driver and obtain the instance ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'F3APY0tPLhmgGtx0****',
+ ],
+ ],
+ [
+ 'name' => 'DriverId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the driver. To obtain the driver ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Drivers** page, move the pointer over the name of the driver that you want to bind and obtain the driver ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeDriver](~~155776~~) operation to query the driver ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '9c1ae7bd59f1469abbdccc959228****',
+ ],
+ ],
+ [
+ 'name' => 'DriverVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The version number of the driver. By default, if you do not specify this parameter, the latest version of the driver is used.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2.0.0',
+ ],
+ ],
+ [
+ 'name' => 'OrderId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the order.'."\n"
+ ."\n"
+ .'> This parameter is required if you use a third-party driver that is purchased from the IoT marketplace. If an official or self-developed driver is used, you do not need to specify this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '11123458765****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '28D159F4-980F-423D-95F0-F705E9DFC016',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"28D159F4-980F-423D-95F0-F705E9DFC016\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BindDriverToEdgeInstanceResponse>\\r\\n <RequestId>FEA6A369-2E16-4DB3-A0A6-6D14FD244170</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</BindDriverToEdgeInstanceResponse>","errorExample":""}]',
+ 'title' => 'BindDriverToEdgeInstance',
+ 'summary' => 'Binds a driver to an edge instance.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of five queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UnbindDriverFromEdgeInstance' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance from which you want to unbind a driver and obtain the instance ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'F3APY0tPLhmgGtx0****',
+ ],
+ ],
+ [
+ 'name' => 'DriverId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the driver that you want to unbind. To obtain the driver ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Drivers** page, move the pointer over the name of the driver that you want to unbind and obtain the driver ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeDriver](~~155776~~) operation to query the driver ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '9c1ae7bd59f1469abbdccc959228****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '28D159F4-980F-423D-95F0-F705E9DFC016',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"28D159F4-980F-423D-95F0-F705E9DFC016\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UnbindDriverFromEdgeInstanceResponse>\\r\\n <RequestId>B15AF459-6A65-44DB-8047-1BDF3E68BE3D</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</UnbindDriverFromEdgeInstanceResponse>","errorExample":""}]',
+ 'title' => 'UnbindDriverFromEdgeInstance',
+ 'summary' => 'Unbinds a driver from an edge instance.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of five queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryEdgeInstanceDriver' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance that you want to query and obtain the instance ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'F3APY0tPLhmgGtx0****',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Pages start from Page 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: 1 to 30. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '77F540BC-A0EF-46A4-ABDE-18644C69AAF5',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data that is returned if the call was successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'CurrentPage' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '30',
+ ],
+ 'Total' => [
+ 'description' => 'The number of drivers.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'DriverList' => [
+ 'description' => 'The list of drivers.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'GmtCreate' => [
+ 'description' => 'The time when the driver was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-06-26 17:22:25',
+ ],
+ 'GmtModified' => [
+ 'description' => 'The last time when the driver was updated.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-06-26 17:22:25',
+ ],
+ 'DriverId' => [
+ 'description' => 'The ID of the driver.'."\n",
+ 'type' => 'string',
+ 'example' => '9c1ae7bd59f1469abbdccc959228****',
+ ],
+ 'OrderId' => [
+ 'description' => 'The ID of the order.'."\n",
+ 'type' => 'string',
+ 'example' => '11123458765423',
+ ],
+ 'DriverVersion' => [
+ 'description' => 'The version number of the driver.'."\n",
+ 'type' => 'string',
+ 'example' => '1.0.0',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"77F540BC-A0EF-46A4-ABDE-18644C69AAF5\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 30,\\n \\"Total\\": 1,\\n \\"DriverList\\": [\\n {\\n \\"GmtCreate\\": \\"2019-06-26 17:22:25\\",\\n \\"GmtModified\\": \\"2019-06-26 17:22:25\\",\\n \\"DriverId\\": \\"9c1ae7bd59f1469abbdccc959228****\\",\\n \\"OrderId\\": \\"11123458765423\\",\\n \\"DriverVersion\\": \\"1.0.0\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryEdgeInstanceDriverResponse>\\r\\n <RequestId>77F540BC-A0EF-46A4-ABDE-18644C69AAF5</RequestId>\\r\\n <Data>\\r\\n <PageSize>30</PageSize>\\r\\n <CurrentPage>1</CurrentPage>\\r\\n <Total>1</Total>\\r\\n <DriverList>\\r\\n <Driver>\\r\\n <GmtCreate>2019-06-26 17:22:25</GmtCreate>\\r\\n <DriverId>9c1ae7bd59f1469abbdccc959228****</DriverId>\\r\\n <GmtModified>2019-06-26 17:22:25</GmtModified>\\r\\n </Driver>\\r\\n </DriverList>\\r\\n </Data>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</QueryEdgeInstanceDriverResponse>","errorExample":""}]',
+ 'title' => 'QueryEdgeInstanceDriver',
+ 'summary' => 'Queries the drivers that are bound to an edge instance.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'SetEdgeInstanceDriverConfigs' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'F3APY0tPLhmgGtx0****',
+ ],
+ ],
+ [
+ 'name' => 'DriverId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '021d154d2a2f4dd7a489773d9e04****',
+ ],
+ ],
+ [
+ 'name' => 'Configs',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'key1',
+ ],
+ 'Format' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'JSON',
+ ],
+ 'Content' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '{"test":123}',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'maxItems' => 21,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '252C7754-F6A2-454B-9DE2-382A97FC0C3F',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"252C7754-F6A2-454B-9DE2-382A97FC0C3F\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<SetEdgeInstanceDriverConfigsResponse>\\r\\n <RequestId>252C7754-F6A2-454B-9DE2-382A97FC0C3F</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</SetEdgeInstanceDriverConfigsResponse>","errorExample":""}]',
+ 'title' => 'SetEdgeInstanceDriverConfigs',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ClearEdgeInstanceDriverConfigs' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'This parameter is not required for the public instance but required for your purchased instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance that uses the driver and obtain the instance ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'F3APY0tPLhmgGtx0****',
+ ],
+ ],
+ [
+ 'name' => 'DriverId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the driver. To obtain the driver ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Drivers** page, move the pointer over the name of the driver whose configurations you want to delete and obtain the driver ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeDriver](~~155776~~) operation to query the driver ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '021d154d2a2f4dd7a489773d9e04****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'DF6B728B-ADD7-4C41-88C3-D21B4CA82CF1',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"DF6B728B-ADD7-4C41-88C3-D21B4CA82CF1\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ClearEdgeInstanceDriverConfigsResponse>\\r\\n <RequestId>DF6B728B-ADD7-4C41-88C3-D21B4CA82CF1</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</ClearEdgeInstanceDriverConfigsResponse>","errorExample":""}]',
+ 'title' => 'ClearEdgeInstanceDriverConfigs',
+ 'summary' => 'Deletes the configurations of a driver that is bound to an edge instance.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchGetEdgeInstanceDriverConfigs' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance that uses the drivers and obtain the instance ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'F3APY0tPLhmgGtx0****',
+ ],
+ ],
+ [
+ 'name' => 'DriverIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The IDs of the drivers that you want to query. To obtain the driver IDs, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Drivers** page, move the pointer over the name of each driver whose configurations you want to query and obtain the driver ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeDriver](~~155776~~) operation to query the driver IDs.'."\n"
+ ."\n"
+ .'> You can specify a maximum of 20 driver IDs. This means that you can obtain the configuration information of a maximum of 20 drivers at a time.'."\n",
+ ],
+ 'required' => true,
+ 'example' => '021d154d2a2f4dd7a489773d9e04****',
+ 'maxItems' => 21,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'D6113390-F507-458B-8544-7B01F945630B',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DriverConfigList' => [
+ 'description' => 'The data that is returned if the call was successful.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DriverId' => [
+ 'description' => 'The ID of the driver.'."\n",
+ 'type' => 'string',
+ 'example' => '021d154d2a2f4dd7a489773d9e04****',
+ ],
+ 'ConfigList' => [
+ 'description' => 'The configuration information of the driver.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The key of the configuration. If multiple configurations are available, keywords can be used to identify the configurations.'."\n",
+ 'type' => 'string',
+ 'example' => 'key1',
+ ],
+ 'ConfigId' => [
+ 'description' => 'The ID of the configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'dac71722ceac4a299dbf3e8dc3c8****',
+ ],
+ 'Format' => [
+ 'description' => 'The format of the configuration. Valid values: KV (key-value pair), JSON (JSON string), and FILE (configuration file).'."\n",
+ 'type' => 'string',
+ 'example' => 'JSON',
+ ],
+ 'Content' => [
+ 'description' => 'The configuration content or the Object Storage Service (OSS) path of the configuration file.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"test\\":123}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"D6113390-F507-458B-8544-7B01F945630B\\",\\n \\"Success\\": true,\\n \\"DriverConfigList\\": [\\n {\\n \\"DriverId\\": \\"021d154d2a2f4dd7a489773d9e04****\\",\\n \\"ConfigList\\": [\\n {\\n \\"Key\\": \\"key1\\",\\n \\"ConfigId\\": \\"dac71722ceac4a299dbf3e8dc3c8****\\",\\n \\"Format\\": \\"JSON\\",\\n \\"Content\\": \\"{\\\\\\\\\\\\\\"test\\\\\\\\\\\\\\":123}\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<BatchGetEdgeInstanceDriverConfigsResponse>\\r\\n <DriverConfigList>\\r\\n <DriverConfig>\\r\\n <DriverId>021d154d2a2f4dd7a489773d9e0****c</DriverId>\\r\\n <ConfigList>\\r\\n <Config>\\r\\n <Format>JSON</Format>\\r\\n <Content>{\\"test\\":123}</Content>\\r\\n <ConfigId>dac71722ceac4a299dbf3e8dc3c8****</ConfigId>\\r\\n </Config>\\r\\n </ConfigList>\\r\\n </DriverConfig>\\r\\n </DriverConfigList>\\r\\n <RequestId>D6113390-F507-458B-8544-7B01F945630B</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</BatchGetEdgeInstanceDriverConfigsResponse>","errorExample":""}]',
+ 'title' => 'BatchGetEdgeInstanceDriverConfigs',
+ 'summary' => 'Queries the configuration information of one or more drivers that are bound to an edge instance.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchBindDeviceToEdgeInstanceWithDriver' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance to which you want to bind multiple devices and obtain the instance ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the driver. To obtain the driver ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Drivers** page, move the pointer over the name of the driver that you want to configure and obtain the driver ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeDriver](~~155776~~) operation to query the driver ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'F3APY0tPLhmgGtx0****',
+ ],
+ ],
+ [
+ 'name' => 'DriverId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IDs of the devices.'."\n"
+ ."\n"
+ .'You can call the [QueryDevice](~~69905~~) operation to query detailed information about all devices that belong to the current Alibaba Cloud account and obtain the required device IDs.'."\n"
+ ."\n"
+ .'> You can specify a maximum of 20 device IDs when you call the BatchBindDeviceToEdgeInstanceWithDriver operation.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '021d154d2a2f4dd7a489773d9e04****',
+ ],
+ ],
+ [
+ 'name' => 'IotIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ ],
+ 'required' => true,
+ 'example' => 'BXPV9Ks3bxwM9fD****0000101',
+ 'maxItems' => 21,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'BFFA9519-6AF1-4D15-AFAF-FD412714C1BE',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"BFFA9519-6AF1-4D15-AFAF-FD412714C1BE\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BatchBindDeviceToEdgeInstanceWithDriverResponse>\\r\\n <RequestId>BFFA9519-6AF1-4D15-AFAF-FD412714C1BE</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</BatchBindDeviceToEdgeInstanceWithDriverResponse>","errorExample":""}]',
+ 'title' => 'BatchBindDeviceToEdgeInstanceWithDriver',
+ 'summary' => 'Binds multiple devices to an edge instance and configures a driver for the devices.',
+ 'description' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'requestParamsDescription' => 'The operation that you want to perform. Set the value to BatchBindDeviceToEdgeInstanceWithDriver.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchUnbindDeviceFromEdgeInstance' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance from which you want to unbind multiple devices and obtain the instance ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'F3APY0tPLhmgGtx0****',
+ ],
+ ],
+ [
+ 'name' => 'IotIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The IDs of the devices. You can call the [QueryDevice](~~69905~~) operation to query detailed information about all devices that belong to the current Alibaba Cloud account and obtain the required device IDs.'."\n"
+ ."\n"
+ .'> You can specify a maximum of 20 device IDs when you call the BatchUnbindDeviceFromEdgeInstance operation.'."\n",
+ ],
+ 'required' => true,
+ 'example' => 'BXPV9Ks3bxwM9fD****0000101',
+ 'maxItems' => 21,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '34755DC3-2809-4AE2-BAD8-7B81ED69D570',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"34755DC3-2809-4AE2-BAD8-7B81ED69D570\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BatchUnbindDeviceFromEdgeInstanceResponse>\\r\\n <RequestId>34755DC3-2809-4AE2-BAD8-7B81ED69D570</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</BatchUnbindDeviceFromEdgeInstanceResponse>","errorExample":""}]',
+ 'title' => 'BatchUnbindDeviceFromEdgeInstance',
+ 'summary' => 'Unbinds multiple devices from an edge instance.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of five queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryEdgeInstanceDevice' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance that you want to query and obtain the instance ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'tG7sKuOQ7ylb7qS4****',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Pages start from Page 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: 1 to 30. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '15',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'AC76932E-E0C9-41EE-843D-B1CA3279B053',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data that is returned if the call was successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'CurrentPage' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '15',
+ ],
+ 'Total' => [
+ 'description' => 'The number of devices.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '4',
+ ],
+ 'DeviceList' => [
+ 'description' => 'The list of device information.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => 'The key that uniquely identifies the product to which the device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'a1p5QfE****',
+ ],
+ 'DriverId' => [
+ 'description' => 'The ID of the driver.'."\n",
+ 'type' => 'string',
+ 'example' => '44c090ba7b104641a4b9bcf10241****',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The name of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'test_tmp_zdy',
+ ],
+ 'IotId' => [
+ 'description' => 'The ID of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'XSpPdtxzE6ebtCkx****000101',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"AC76932E-E0C9-41EE-843D-B1CA3279B053\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 15,\\n \\"Total\\": 4,\\n \\"DeviceList\\": [\\n {\\n \\"ProductKey\\": \\"a1p5QfE****\\",\\n \\"DriverId\\": \\"44c090ba7b104641a4b9bcf10241****\\",\\n \\"DeviceName\\": \\"test_tmp_zdy\\",\\n \\"IotId\\": \\"XSpPdtxzE6ebtCkx****000101\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryEdgeInstanceDeviceResponse>\\r\\n <RequestId>AC76932E-E0C9-41EE-843D-B1CA3279B053</RequestId>\\r\\n <Data>\\r\\n <PageSize>15</PageSize>\\r\\n <CurrentPage>1</CurrentPage>\\r\\n <Total>4</Total>\\r\\n <DeviceList>\\r\\n <Device>\\r\\n <IotId>XSpPdtxzE6ebtCkx****000101</IotId>\\r\\n <DriverId>44c090ba7b104641a4b9bcf10241****</DriverId>\\r\\n <ProductKey>a1p5QfE****</ProductKey>\\r\\n <DeviceName>test_tmp_zdy</DeviceName>\\r\\n </Device>\\r\\n <Device>\\r\\n <IotId>ixX7TRWtewDxZnus****000101</IotId>\\r\\n <DriverId>021d154d2a2f4dd7a489773d9e04****</DriverId>\\r\\n <ProductKey>a1p5QfE****</ProductKey>\\r\\n <DeviceName>test_name19</DeviceName>\\r\\n </Device>\\r\\n <Device>\\r\\n <IotId>MkzMNGVF3wOk62J6****000101</IotId>\\r\\n <DriverId>021d154d2a2f4dd7a489773d9e04****</DriverId>\\r\\n <ProductKey>a11jTlJ****</ProductKey>\\r\\n <DeviceName>testsss</DeviceName>\\r\\n </Device>\\r\\n <Device>\\r\\n <IotId>6nFJ9ewglx7aBWPb****000101</IotId>\\r\\n <DriverId>021d154d2a2f4dd7a489773d9e04****</DriverId>\\r\\n <ProductKey>a1PcD3R****</ProductKey>\\r\\n <DeviceName>device01</DeviceName>\\r\\n </Device>\\r\\n </DeviceList>\\r\\n </Data>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</QueryEdgeInstanceDeviceResponse>","errorExample":""}]',
+ 'title' => 'QueryEdgeInstanceDevice',
+ 'summary' => 'Queries the devices that are bound to an edge instance.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchSetEdgeInstanceDeviceConfig' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'F3APY0tPLhmgGtx0****',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'DeviceConfigs',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'items' => [
+ 'properties' => [
+ 'Content' => [
+ 'description' => '',
+ 'example' => '{"test": "device_config_demo"}',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ 'IotId' => [
+ 'description' => '',
+ 'example' => 'sjI0Sd124XFYyjBY****000101',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ 'required' => false,
+ 'type' => 'object',
+ ],
+ 'maxItems' => 21,
+ 'required' => true,
+ 'type' => 'array',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'Success',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'request parameter error',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => '748659E2-EDC9-4E3E-BF9D-06F16995CF66',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"748659E2-EDC9-4E3E-BF9D-06F16995CF66\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BatchSetEdgeInstanceDeviceConfigResponse>\\r\\n <RequestId>748659E2-EDC9-4E3E-BF9D-06F16995CF66</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</BatchSetEdgeInstanceDeviceConfigResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'BatchSetEdgeInstanceDeviceConfig',
+ ],
+ 'BatchClearEdgeInstanceDeviceConfig' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance that you want to manage and obtain the instance ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'F3APY0tPLhmgGtx0****',
+ ],
+ ],
+ [
+ 'name' => 'IotIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The IDs of the devices. You can call the [QueryEdgeInstanceDevice](~~135261~~) operation to query the IDs of the devices that are bound to an edge instance.'."\n"
+ ."\n"
+ .'> You can specify a maximum of 20 device IDs when you call the BatchClearEdgeInstanceDeviceConfig operation.'."\n",
+ ],
+ 'required' => true,
+ 'example' => 'BXPV9Ks3bxwM9fD****0000101',
+ 'maxItems' => 21,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '0BC2AA1C-E4D0-4E78-A70F-08C9A90686B0',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"0BC2AA1C-E4D0-4E78-A70F-08C9A90686B0\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BatchClearEdgeInstanceDeviceConfigResponse>\\r\\n <RequestId>0BC2AA1C-E4D0-4E78-A70F-08C9A90686B0</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</BatchClearEdgeInstanceDeviceConfigResponse>","errorExample":""}]',
+ 'title' => 'BatchClearEdgeInstanceDeviceConfig',
+ 'summary' => 'Deletes the configurations of one or more devices that are bound to an edge instance.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of five queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchGetEdgeInstanceDeviceConfig' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance that you want to query and obtain the instance ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'F3APY0tPLhmgGtx0****',
+ ],
+ ],
+ [
+ 'name' => 'IotIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The IDs of the devices. You can call the [QueryEdgeInstanceDevice](~~135261~~) operation to query the IDs of the devices that are bound to an edge instance.'."\n"
+ ."\n"
+ .'> You can specify a maximum of 20 device IDs when you call the BatchGetEdgeInstanceDeviceConfig operation.'."\n",
+ ],
+ 'required' => true,
+ 'example' => 'BXPV9Ks3bxwM9fDl****000101',
+ 'maxItems' => 21,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'D4A102C2-36A5-4964-9694-0F8EFF95CCA8',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DeviceConfigList' => [
+ 'description' => 'The device configuration information that is returned if the call was successful.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'IotId' => [
+ 'description' => 'The ID of the device.'."\n",
+ 'type' => 'string',
+ 'example' => 'sjI0Sd124XFYyjBY****000101',
+ ],
+ 'Config' => [
+ 'description' => 'The configuration information of the device.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Content' => [
+ 'description' => 'The configuration content or the Object Storage Service (OSS) path of the configuration file.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"test\\": \\"device_config_demo\\"}',
+ ],
+ 'Format' => [
+ 'description' => 'The format of the configuration. Valid values: KV (key-value pair), JSON (JSON string), and FILE (configuration file).'."\n",
+ 'type' => 'string',
+ 'example' => 'JSON',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"D4A102C2-36A5-4964-9694-0F8EFF95CCA8\\",\\n \\"Success\\": true,\\n \\"DeviceConfigList\\": [\\n {\\n \\"IotId\\": \\"sjI0Sd124XFYyjBY****000101\\",\\n \\"Config\\": {\\n \\"Content\\": \\"{\\\\\\\\\\\\\\"test\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"device_config_demo\\\\\\\\\\\\\\"}\\",\\n \\"Format\\": \\"JSON\\"\\n }\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<BatchGetEdgeInstanceDeviceConfigResponse>\\r\\n <DeviceConfigList>\\r\\n <DeviceConfig>\\r\\n <IotId>sjI0Sd124XFYyjBY****000101</IotId>\\r\\n <Config>\\r\\n <Format>JSON</Format>\\r\\n <Content>{\\"test\\": \\"device_config_demo\\"}</Content>\\r\\n </Config>\\r\\n </DeviceConfig>\\r\\n <DeviceConfig>\\r\\n <IotId>BXPV9Ks3bxwM9fD****0000101</IotId>\\r\\n <Config>\\r\\n <Format>JSON</Format>\\r\\n <Content>{\\"test\\": \\"device_config_demo\\"}</Content>\\r\\n </Config>\\r\\n </DeviceConfig>\\r\\n </DeviceConfigList>\\r\\n <RequestId>D4A102C2-36A5-4964-9694-0F8EFF95CCA8</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</BatchGetEdgeInstanceDeviceConfigResponse>","errorExample":""}]',
+ 'title' => 'BatchGetEdgeInstanceDeviceConfig',
+ 'summary' => 'Queries the configuration information of one or more devices that are bound to an edge instance.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of five queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateEdgeInstanceDeployment' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance for which you want to create a deployment task and obtain the instance ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'PgEfYupSn6Pvhfkx****',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the deployment task.'."\n"
+ ."\n"
+ .'* deploy: deploys the edge instance.'."\n"
+ .'* reset: resets the edge instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'deploy',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'DeploymentId' => [
+ 'description' => 'The deployment task ID that is returned if the call was successful.'."\n",
+ 'type' => 'string',
+ 'example' => '38d544b1222d45b4b425240167bf****',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'C8293A57-6BBC-42FB-B093-BF304D5BF09C',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"DeploymentId\\": \\"38d544b1222d45b4b425240167bf****\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"C8293A57-6BBC-42FB-B093-BF304D5BF09C\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateEdgeInstanceDeploymentResponse>\\r\\n <RequestId>C8293A57-6BBC-42FB-B093-BF304D5BF09C</RequestId>\\r\\n <DeploymentId>38d544b1222d45b4b425240167bf****</Data>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</CreateEdgeInstanceDeploymentResponse>","errorExample":""}]',
+ 'title' => 'CreateEdgeInstanceDeployment',
+ 'summary' => 'Creates a deployment task for an edge instance.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of five queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CloseEdgeInstanceDeployment' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance for which you want to stop deployment tasks and obtain the instance ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'PgEfYupSn6Pvhfkx****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '3C969586-3DD1-41A7-9B8E-E8B134CA6600',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"3C969586-3DD1-41A7-9B8E-E8B134CA6600\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CloseEdgeInstanceDeploymentResponse>\\r\\n <RequestId>3C969586-3DD1-41A7-9B8E-E8B134CA6600</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</CloseEdgeInstanceDeploymentResponse>","errorExample":""}]',
+ 'title' => 'CloseEdgeInstanceDeployment',
+ 'summary' => 'Stops the deployment tasks of an edge instance.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of five queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetEdgeInstanceDeployment' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance for which you want to query detailed information about a deployment task and obtain the instance ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'PgEfYupSn6Pvhfkx****',
+ ],
+ ],
+ [
+ 'name' => 'DeploymentId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the deployment task. You can call the [QueryEdgeInstanceHistoricDeployment](~~135275~~) operation to query the ID of a deployment task.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '9261e308a9504fde9b4cf8462b0b****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '6B72291A-9492-445E-81D9-335D2D3E44C0',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data that is returned if the call was successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'GmtCreateTimestamp' => [
+ 'description' => 'The UNIX timestamp when the deployment task was created.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'Type' => [
+ 'description' => 'The type of the deployment task.'."\n"
+ ."\n"
+ .'* deploy: deploys the edge instance.'."\n"
+ .'* reset: resets the edge instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'deploy',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the deployment task.'."\n"
+ ."\n"
+ .'* 0: The task was not started.'."\n"
+ .'* 1: The task was being processed.'."\n"
+ .'* 2: The task was successful.'."\n"
+ .'* 3: The task failed.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'DeploymentId' => [
+ 'description' => 'The ID of the deployment task.'."\n",
+ 'type' => 'string',
+ 'example' => '9261e308a9504fde9b4cf8462b0b****',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the deployment task.'."\n",
+ 'type' => 'string',
+ 'example' => 'deploy_1561543948874',
+ ],
+ 'GmtModifiedTimestamp' => [
+ 'description' => 'The last UNIX timestamp when the deployment task was modified.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'GmtCompleted' => [
+ 'description' => 'The time when the deployment task was complete.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-06-26 18:12:35',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The time when the deployment task was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-06-26 18:12:29',
+ ],
+ 'GmtCompletedTimestamp' => [
+ 'description' => 'The UNIX timestamp when the deployment task was complete.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'GmtModified' => [
+ 'description' => 'The last time when the deployment task was modified.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-06-26 18:12:35',
+ ],
+ 'TaskList' => [
+ 'description' => 'The list of deployment subtasks.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'GmtCreateTimestamp' => [
+ 'description' => 'The UNIX timestamp when the deployment subtask was created.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the deployment subtask.'."\n"
+ ."\n"
+ .'* 0: The subtask was in the initial state.'."\n"
+ .'* 1: The subtask was being processed.'."\n"
+ .'* 2: The subtask was successful.'."\n"
+ .'* 3: The subtask failed.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'Stage' => [
+ 'description' => 'The stage of the deployment subtask.'."\n"
+ ."\n"
+ .'* 0: The subtask was not started.'."\n"
+ .'* 8: The subtask was being assembled.'."\n"
+ .'* 16: The subtask was being packaged.'."\n"
+ .'* 24: The subtask was being dispatched.'."\n"
+ .'* 32: The subtask was complete.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '32',
+ ],
+ 'GatewayId' => [
+ 'description' => 'The ID of the gateway.'."\n",
+ 'type' => 'string',
+ 'example' => 'jQWf3MVgQjMzcwsY****000101',
+ ],
+ 'GmtModifiedTimestamp' => [
+ 'description' => 'The last UNIX timestamp when the deployment subtask was modified.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'GmtCompleted' => [
+ 'description' => 'The time when the deployment subtask was complete.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-06-26 18:12:35',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The time when the deployment subtask was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-06-26 18:12:29',
+ ],
+ 'GmtCompletedTimestamp' => [
+ 'description' => 'The UNIX timestamp when the deployment subtask was complete.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'GmtModified' => [
+ 'description' => 'The last time when the deployment subtask was modified.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-06-26 18:12:35',
+ ],
+ 'TaskId' => [
+ 'description' => 'The ID of the deployment subtask.'."\n",
+ 'type' => 'string',
+ 'example' => '49ea651529014bf8b5645d5f9062****',
+ ],
+ 'ResourceSnapshotList' => [
+ 'description' => 'The list of deployment task snapshots.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the snapshot task.'."\n"
+ ."\n"
+ .'* 0: The snapshot task was not started.'."\n"
+ .'* 1: The snapshot task was being processed.'."\n"
+ .'* 2: The snapshot task was successful.'."\n"
+ .'* 3: The snapshot task failed.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'GmtCreateTimestamp' => [
+ 'description' => 'The UNIX timestamp when the deployment task snapshot was created.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'Stage' => [
+ 'description' => 'The stage of the snapshot task.'."\n"
+ ."\n"
+ .'* 0: The snapshot task was in the initial state.'."\n"
+ .'* 8: The snapshot task was being assembled.'."\n"
+ .'* 16: The snapshot task was being packaged.'."\n"
+ .'* 24: The snapshot task was being dispatched.'."\n"
+ .'* 32: The snapshot task was complete.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '32',
+ ],
+ 'GmtModifiedTimestamp' => [
+ 'description' => 'The last UNIX timestamp when the deployment task snapshot was modified.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'GmtModified' => [
+ 'description' => 'The last time when the deployment task snapshot was modified.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-06-26 18:12:34',
+ ],
+ 'Log' => [
+ 'description' => 'The logs of resource deployment.'."\n",
+ 'type' => 'string',
+ 'example' => '[{\\"resourceId\\":\\"device_config\\",\\"code\\":\\"0\\",\\"stage\\":0,\\"level\\":\\"INFO\\",\\"message\\":\\"init success\\",\\"resourceType\\":\\"DEVICE_CONFIG\\",\\"timestamp\\":1561543949858},{\\"resourceId\\":\\"device_config\\",\\"code\\":\\"0\\",\\"stage\\":8,\\"level\\":\\"INFO\\",\\"message\\":\\"assembly success\\",\\"resourceType\\":\\"DEVICE_CONFIG\\",\\"timestamp\\":1561543951419},{\\"resourceId\\":\\"device_config\\",\\"code\\":\\"0\\",\\"stage\\":16,\\"level\\":\\"INFO\\",\\"message\\":\\"package success\\",\\"resourceType\\":\\"DEVICE_CONFIG\\",\\"timestamp\\":1561543952591},{\\"resourceId\\":\\"device_config\\",\\"code\\":\\"0\\",\\"stage\\":32,\\"level\\":\\"INFO\\",\\"message\\":\\"download success\\",\\"resourceType\\":\\"DEVICE_CONFIG\\",\\"timestamp\\":1561543954149}]',
+ ],
+ 'OperateType' => [
+ 'description' => 'The type of the operation.'."\n"
+ ."\n"
+ .'* 0: deploys resources.'."\n"
+ .'* 1: deletes resources.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'ResourceType' => [
+ 'description' => 'The type of the resource.'."\n",
+ 'type' => 'string',
+ 'example' => 'device_config',
+ ],
+ 'SnapshotId' => [
+ 'description' => 'The ID of the deployment task snapshot.'."\n",
+ 'type' => 'string',
+ 'example' => 'ab576e84a43043d7840cbcebf4a5****',
+ ],
+ 'GmtCompleted' => [
+ 'description' => 'The time when the deployment task snapshot was complete.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-06-26 18:12:34',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The time when the deployment task snapshot was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-06-26 18:12:29',
+ ],
+ 'GmtCompletedTimestamp' => [
+ 'description' => 'The UNIX timestamp when the deployment task snapshot was complete.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'ResourceId' => [
+ 'description' => 'The ID of the resource.'."\n",
+ 'type' => 'string',
+ 'example' => 'device_config',
+ ],
+ 'ResourceName' => [
+ 'description' => 'The name of the resource.'."\n",
+ 'type' => 'string',
+ 'example' => 'device_config',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"6B72291A-9492-445E-81D9-335D2D3E44C0\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"GmtCreateTimestamp\\": 1581912859713,\\n \\"Type\\": \\"deploy\\",\\n \\"Status\\": 2,\\n \\"DeploymentId\\": \\"9261e308a9504fde9b4cf8462b0b****\\",\\n \\"Description\\": \\"deploy_1561543948874\\",\\n \\"GmtModifiedTimestamp\\": 1581912859713,\\n \\"GmtCompleted\\": \\"2019-06-26 18:12:35\\",\\n \\"GmtCreate\\": \\"2019-06-26 18:12:29\\",\\n \\"GmtCompletedTimestamp\\": 1581912859713,\\n \\"GmtModified\\": \\"2019-06-26 18:12:35\\",\\n \\"TaskList\\": [\\n {\\n \\"GmtCreateTimestamp\\": 1581912859713,\\n \\"Status\\": 2,\\n \\"Stage\\": 32,\\n \\"GatewayId\\": \\"jQWf3MVgQjMzcwsY****000101\\",\\n \\"GmtModifiedTimestamp\\": 1581912859713,\\n \\"GmtCompleted\\": \\"2019-06-26 18:12:35\\",\\n \\"GmtCreate\\": \\"2019-06-26 18:12:29\\",\\n \\"GmtCompletedTimestamp\\": 1581912859713,\\n \\"GmtModified\\": \\"2019-06-26 18:12:35\\",\\n \\"TaskId\\": \\"49ea651529014bf8b5645d5f9062****\\",\\n \\"ResourceSnapshotList\\": [\\n {\\n \\"Status\\": 2,\\n \\"GmtCreateTimestamp\\": 1581912859713,\\n \\"Stage\\": 32,\\n \\"GmtModifiedTimestamp\\": 1581912859713,\\n \\"GmtModified\\": \\"2019-06-26 18:12:34\\",\\n \\"Log\\": \\"[{\\\\\\\\\\\\\\"resourceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"device_config\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"code\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"stage\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"level\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"INFO\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"message\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"init success\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"resourceType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"DEVICE_CONFIG\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"timestamp\\\\\\\\\\\\\\":1561543949858},{\\\\\\\\\\\\\\"resourceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"device_config\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"code\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"stage\\\\\\\\\\\\\\":8,\\\\\\\\\\\\\\"level\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"INFO\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"message\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"assembly success\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"resourceType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"DEVICE_CONFIG\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"timestamp\\\\\\\\\\\\\\":1561543951419},{\\\\\\\\\\\\\\"resourceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"device_config\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"code\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"stage\\\\\\\\\\\\\\":16,\\\\\\\\\\\\\\"level\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"INFO\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"message\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"package success\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"resourceType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"DEVICE_CONFIG\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"timestamp\\\\\\\\\\\\\\":1561543952591},{\\\\\\\\\\\\\\"resourceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"device_config\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"code\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"stage\\\\\\\\\\\\\\":32,\\\\\\\\\\\\\\"level\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"INFO\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"message\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"download success\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"resourceType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"DEVICE_CONFIG\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"timestamp\\\\\\\\\\\\\\":1561543954149}]\\",\\n \\"OperateType\\": 0,\\n \\"ResourceType\\": \\"device_config\\",\\n \\"SnapshotId\\": \\"ab576e84a43043d7840cbcebf4a5****\\",\\n \\"GmtCompleted\\": \\"2019-06-26 18:12:34\\",\\n \\"GmtCreate\\": \\"2019-06-26 18:12:29\\",\\n \\"GmtCompletedTimestamp\\": 1581912859713,\\n \\"ResourceId\\": \\"device_config\\",\\n \\"ResourceName\\": \\"device_config\\"\\n }\\n ]\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetEdgeInstanceDeploymentResponse>\\r\\n <RequestId>6B72291A-9492-445E-81D9-335D2D3E44C0</RequestId>\\r\\n <Data>\\r\\n <Status>2</Status>\\r\\n <DeploymentId>9261e308a9504fde9b4cf8462b0b****</DeploymentId>\\r\\n <GmtCompleted>2019-06-26 18:12:35</GmtCompleted>\\r\\n <Type>deploy</Type>\\r\\n <GmtCreate>2019-06-26 18:12:29</GmtCreate>\\r\\n <Description>deploy_1561543948874</Description>\\r\\n <TaskList>\\r\\n <Task>\\r\\n <Status>2</Status>\\r\\n <GmtCompleted>2019-06-26 18:12:35</GmtCompleted>\\r\\n <GmtCreate>2019-06-26 18:12:29</GmtCreate>\\r\\n <TaskId>49ea651529014bf8b5645d5f9062****</TaskId>\\r\\n <ResourceSnapshotList>\\r\\n <ResourceSnapshot>\\r\\n <Status>2</Status>\\r\\n <SnapshotId>ab576e84a43043d7840cbcebf4a5****</SnapshotId>\\r\\n <GmtCompleted>2019-06-26 18:12:34</GmtCompleted>\\r\\n <GmtCreate>2019-06-26 18:12:29</GmtCreate>\\r\\n <Log>[{\\"resourceId\\":\\"device_config\\",\\"code\\":\\"0\\",\\"stage\\":0,\\"level\\":\\"INFO\\",\\"message\\":\\"init success\\",\\"resourceType\\":\\"DEVICE_CONFIG\\",\\"timestamp\\":1561543949858},{\\"resourceId\\":\\"device_config\\",\\"code\\":\\"0\\",\\"stage\\":8,\\"level\\":\\"INFO\\",\\"message\\":\\"assembly success\\",\\"resourceType\\":\\"DEVICE_CONFIG\\",\\"timestamp\\":1561543951419},{\\"resourceId\\":\\"device_config\\",\\"code\\":\\"0\\",\\"stage\\":16,\\"level\\":\\"INFO\\",\\"message\\":\\"package success\\",\\"resourceType\\":\\"DEVICE_CONFIG\\",\\"timestamp\\":1561543952591},{\\"resourceId\\":\\"device_config\\",\\"code\\":\\"0\\",\\"stage\\":32,\\"level\\":\\"INFO\\",\\"message\\":\\"download success\\",\\"resourceType\\":\\"DEVICE_CONFIG\\",\\"timestamp\\":1561543954149}]</Log>\\r\\n <ResourceId>device_config</ResourceId>\\r\\n <ResourceName>device_config</ResourceName>\\r\\n <GmtModified>2019-06-26 18:12:34</GmtModified>\\r\\n <Stage>32</Stage>\\r\\n <ResourceType>device_config</ResourceType>\\r\\n <OperateType>0</OperateType>\\r\\n </ResourceSnapshot>\\r\\n </ResourceSnapshotList>\\r\\n <GmtModified>2019-06-26 18:12:35</GmtModified>\\r\\n <Stage>32</Stage>\\r\\n <GatewayId>jQWf3MVgQjMzcwsY****000101</GatewayId>\\r\\n </Task>\\r\\n </TaskList>\\r\\n <GmtModified>2019-06-26 18:12:35</GmtModified>\\r\\n </Data>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</GetEdgeInstanceDeploymentResponse>","errorExample":""}]',
+ 'title' => 'GetEdgeInstanceDeployment',
+ 'summary' => 'Queries detailed information about a deployment task of an edge instance.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of five queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryEdgeInstanceHistoricDeployment' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance that you want to manage and obtain the instance ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'PgEfYupSn6Pvhfkx****',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Pages start from Page 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: 1 to 30. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '15',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The beginning of the time range to query. If you do not specify the start time and end time, all the deployment task records of the edge instance are queried.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1558951998639',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The end of the time range to query. If you do not specify the start time and end time, all the deployment task records of the edge instance are queried.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1561543998639',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'C9D9C91B-1B3B-4D84-BE58-68E7B2A989E4',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data that is returned if the call was successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'CurrentPage' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of deployment tasks.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '6',
+ ],
+ 'DeploymentList' => [
+ 'description' => 'The list of deployment tasks.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'GmtCreateTimestamp' => [
+ 'description' => 'The UNIX timestamp when the deployment task was created.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'Type' => [
+ 'description' => 'The type of the deployment task.'."\n"
+ ."\n"
+ .'* deploy: deploys the edge instance.'."\n"
+ .'* reset: resets the edge instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'deploy',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the deployment task.'."\n"
+ ."\n"
+ .'* 0: The task was not started.'."\n"
+ .'* 1: The task was being processed.'."\n"
+ .'* 2: The task was successful.'."\n"
+ .'* 3: The task failed.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'DeploymentId' => [
+ 'description' => 'The ID of the deployment task.'."\n",
+ 'type' => 'string',
+ 'example' => 'e4803e566b424fa68e7f4b1c747c****',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the deployment task.'."\n",
+ 'type' => 'string',
+ 'example' => 'deploy_1561694817061',
+ ],
+ 'GmtModifiedTimestamp' => [
+ 'description' => 'The last UNIX timestamp when the deployment task was modified.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'GmtCompleted' => [
+ 'description' => 'The time when the deployment task was complete.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-06-28 12:07:16',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The time when the deployment task was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-06-26 18:12:29',
+ ],
+ 'GmtCompletedTimestamp' => [
+ 'description' => 'The UNIX timestamp when the deployment task was complete.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'GmtModified' => [
+ 'description' => 'The last time when the deployment task was modified.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-06-28 12:07:16',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"C9D9C91B-1B3B-4D84-BE58-68E7B2A989E4\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 2,\\n \\"Total\\": 6,\\n \\"DeploymentList\\": [\\n {\\n \\"GmtCreateTimestamp\\": 1581912859713,\\n \\"Type\\": \\"deploy\\",\\n \\"Status\\": 2,\\n \\"DeploymentId\\": \\"e4803e566b424fa68e7f4b1c747c****\\",\\n \\"Description\\": \\"deploy_1561694817061\\",\\n \\"GmtModifiedTimestamp\\": 1581912859713,\\n \\"GmtCompleted\\": \\"2019-06-28 12:07:16\\",\\n \\"GmtCreate\\": \\"2019-06-26 18:12:29\\",\\n \\"GmtCompletedTimestamp\\": 1581912859713,\\n \\"GmtModified\\": \\"2019-06-28 12:07:16\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryEdgeInstanceHistoricDeploymentResponse>\\r\\n <RequestId>C9D9C91B-1B3B-4D84-BE58-68E7B2A989E4</RequestId>\\r\\n <Data>\\r\\n <DeploymentList>\\r\\n <Deployment>\\r\\n <Status>2</Status>\\r\\n <DeploymentId>e4803e566b424fa68e7f4b1c747c****</DeploymentId>\\r\\n <GmtCompleted>2019-06-28 12:07:16</GmtCompleted>\\r\\n <Type>deploy</Type>\\r\\n <GmtCreate>2019-06-28 12:06:57</GmtCreate>\\r\\n <Description>deploy_1561694817061</Description>\\r\\n <GmtModified>2019-06-28 12:07:16</GmtModified>\\r\\n </Deployment>\\r\\n <Deployment>\\r\\n <Status>2</Status>\\r\\n <DeploymentId>9261e308a9504fde9b4cf8462b0b****</DeploymentId>\\r\\n <GmtCompleted>2019-06-26 18:12:35</GmtCompleted>\\r\\n <Type>deploy</Type>\\r\\n <GmtCreate>2019-06-26 18:12:29</GmtCreate>\\r\\n <Description>deploy_1561543948874</Description>\\r\\n <GmtModified>2019-06-26 18:12:35</GmtModified>\\r\\n </Deployment>\\r\\n </DeploymentList>\\r\\n <PageSize>2</PageSize>\\r\\n <CurrentPage>1</CurrentPage>\\r\\n <Total>6</Total>\\r\\n </Data>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</QueryEdgeInstanceHistoricDeploymentResponse>","errorExample":""}]',
+ 'title' => 'QueryEdgeInstanceHistoricDeployment',
+ 'summary' => 'Queries the deployment task records of an edge instance.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateEdgeDriver' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for public instances. However, this parameter is required for the instances that you have purchased.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'DriverName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the driver to create. The name cannot exceed 20 characters in length and can contain only uppercase letters, lowercase letters, digits, and underscores (\\_). It must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'MyLedDriver',
+ ],
+ ],
+ [
+ 'name' => 'DriverProtocol',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The communications protocol that the driver uses. Valid values:'."\n"
+ ."\n"
+ .'* modbus: Modbus protocol'."\n"
+ .'* opc-ua: OPC UA protocol'."\n"
+ .'* customize: custom protocol'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'customize',
+ ],
+ ],
+ [
+ 'name' => 'Runtime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The language in which the driver is programmed. Valid values:'."\n"
+ ."\n"
+ .'* nodejs8: Node.js v8'."\n"
+ .'* python3: Python v3.5'."\n"
+ .'* c: C'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'c',
+ ],
+ ],
+ [
+ 'name' => 'CpuArch',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The CPU architecture that the driver supports. Valid values:'."\n"
+ ."\n"
+ .'* ARMv7'."\n"
+ .'* ARMv7-HF'."\n"
+ .'* AArch64'."\n"
+ .'* x86-64'."\n"
+ .'* x86'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'x86-64',
+ ],
+ ],
+ [
+ 'name' => 'IsBuiltIn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether the driver is a built-in driver.'."\n"
+ ."\n"
+ .'* true: indicates that the driver is a built-in driver, that is, the driver code is pre-configured on the gateway device.'."\n"
+ ."\n"
+ .'* false: indicates that the driver is not a built-in driver and you must upload the driver code. Default value: false.'."\n"
+ ."\n"
+ .'> If the driver is not a built-in driver, you must upload the driver code.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code. Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'BB179FE4-94AB-41B0-AE8A-66DDB7B8B13A',
+ ],
+ 'DriverId' => [
+ 'description' => 'The ID of the driver created.'."\n",
+ 'type' => 'string',
+ 'example' => 'fec565038d7544978d9aed5c1a******',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. true indicates that the call was successful. false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"BB179FE4-94AB-41B0-AE8A-66DDB7B8B13A\\",\\n \\"DriverId\\": \\"fec565038d7544978d9aed5c1a******\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateEdgeDriverResponse>\\r\\n <DriverId>fec565038d7544978d9aed5c1a******</DriverId>\\r\\n <RequestId>BB179FE4-94AB-41B0-AE8A-66DDB7B8B13A</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</CreateEdgeDriverResponse>","errorExample":""}]',
+ 'title' => 'CreateEdgeDriver',
+ 'summary' => 'Creates a driver.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'A single Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users share the quota of the Alibaba Cloud account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding exclusive request parameters, you must specify common request parameters when calling this API operation. For more information about common request parameters, see [Common parameters](~~135196~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteEdgeDriver' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'DriverId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the driver. To obtain the driver ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Drivers** page, move the pointer over the name of the driver that you want to delete and obtain the driver ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeDriver](~~155776~~) operation to query the driver ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'fec565038d7544978d9aed5c1a******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'F82E857F-B6B9-4CCC-96B8-E4BE97095F1A',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"F82E857F-B6B9-4CCC-96B8-E4BE97095F1A\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteEdgeDriverResponse>\\r\\n <RequestId>F82E857F-B6B9-4CCC-96B8-E4BE97095F1A</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</DeleteEdgeDriverResponse>","errorExample":""}]',
+ 'title' => 'DeleteEdgeDriver',
+ 'summary' => 'Deletes a driver.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* You are not allowed to delete a driver that has a published version.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of five queries per second (QPS).'."\n"
+ ."\n"
+ .'>RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~135196~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchGetEdgeDriver' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for public instances. However, this parameter is required for the instances that you have purchased.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'DriverIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The IDs of drivers whose information is to be queried. You can specify a maximum of 30 driver IDs in this parameter.'."\n",
+ ],
+ 'required' => true,
+ 'example' => 'fec565038d7544978d9aed5c1a******',
+ 'maxItems' => 31,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code. Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'A42CAB88-6E26-4DC7-9A35-584D17E82DE0',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. true indicates that the call was successful. false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DriverList' => [
+ 'description' => 'The information about each driver.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'GmtCreateTimestamp' => [
+ 'description' => 'The time when the driver was created. The time is displayed in UTC.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'Type' => [
+ 'description' => 'The type of the driver. Valid values:'."\n"
+ ."\n"
+ .'* 0: official driver'."\n"
+ .'* 1: custom driver'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'CpuArch' => [
+ 'description' => 'The CPU architecture that the driver supports. Valid values:'."\n"
+ ."\n"
+ .'* ARMv7'."\n"
+ .'* ARMv7-HF'."\n"
+ .'* AArch64'."\n"
+ .'* x86-64'."\n"
+ .'* x86'."\n",
+ 'type' => 'string',
+ 'example' => 'x86-64',
+ ],
+ 'DriverId' => [
+ 'description' => 'The ID of the driver.'."\n",
+ 'type' => 'string',
+ 'example' => 'fec565038d7544978d9aed5c1a******',
+ ],
+ 'IsBuiltIn' => [
+ 'description' => 'Indicates whether the driver is a built-in driver.'."\n"
+ ."\n"
+ .'* true: indicates that the driver is a built-in driver, that is, the driver code is pre-configured on the gateway device.'."\n"
+ .'* false: indicates that the driver is not a built-in driver.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'GmtModifiedTimestamp' => [
+ 'description' => 'The time when the driver was last modified. The time is displayed in UTC.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'Runtime' => [
+ 'description' => 'The language in which the driver is programmed. Valid values:'."\n"
+ ."\n"
+ .'* nodejs8: Node.js v8'."\n"
+ .'* python3: Python v3.5'."\n"
+ .'* c: C'."\n",
+ 'type' => 'string',
+ 'example' => 'c',
+ ],
+ 'DriverName' => [
+ 'description' => 'The name of the driver.'."\n",
+ 'type' => 'string',
+ 'example' => 'MyLedDriver',
+ ],
+ 'DriverProtocol' => [
+ 'description' => 'The communications protocol that the driver uses. Valid values:'."\n"
+ ."\n"
+ .'* modbus: Modbus protocol'."\n"
+ .'* opc-ua: OPC UA protocol'."\n"
+ .'* customize: custom protocol'."\n",
+ 'type' => 'string',
+ 'example' => 'customize',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"A42CAB88-6E26-4DC7-9A35-584D17E82DE0\\",\\n \\"Success\\": true,\\n \\"DriverList\\": [\\n {\\n \\"GmtCreateTimestamp\\": 1581912859713,\\n \\"Type\\": 1,\\n \\"CpuArch\\": \\"x86-64\\",\\n \\"DriverId\\": \\"fec565038d7544978d9aed5c1a******\\",\\n \\"IsBuiltIn\\": false,\\n \\"GmtModifiedTimestamp\\": 1581912859713,\\n \\"Runtime\\": \\"c\\",\\n \\"DriverName\\": \\"MyLedDriver\\",\\n \\"DriverProtocol\\": \\"customize\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<BatchGetEdgeDriverResponse>\\r\\n <RequestId>A42CAB88-6E26-4DC7-9A35-584D17E82DE0</RequestId>\\r\\n <DriverList>\\r\\n <Driver>\\r\\n <DriverProtocol>customize</DriverProtocol>\\r\\n <Type>1</Type>\\r\\n <Runtime>c</Runtime>\\r\\n <GmtCreate>2019-12-01 22:28:00</GmtCreate>\\r\\n <DriverId>fec565038d7544978d9aed5c1a******</DriverId>\\r\\n <DriverName>MyLedDriver</DriverName>\\r\\n <GmtModified>2019-12-01 22:28:00</GmtModified>\\r\\n <IsBuiltIn>false</IsBuiltIn>\\r\\n <CpuArch>x86-64</CpuArch>\\r\\n </Driver>\\r\\n </DriverList>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</BatchGetEdgeDriverResponse>","errorExample":""}]',
+ 'title' => 'BatchGetEdgeDriver',
+ 'summary' => 'Queries information about multiple drivers at a time.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'A single Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users share the quota of the Alibaba Cloud account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding exclusive request parameters, you must specify common request parameters when calling this API operation. For more information about common request parameters, see [Common parameters](~~135196~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryEdgeDriver' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for public instances. However, this parameter is required for the instances that you have purchased.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Maximum value: 30. Default value: 10. If you specify a value smaller than 1, a maximum of 10 entries are displayed on each page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '15',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the driver whose information is to be queried. Valid values:'."\n"
+ ."\n"
+ .'* 0: official driver'."\n"
+ .'* 1: custom driver'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'DriverName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the driver whose information is to be queried. If you want to query information about drivers with a specific name, set this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'MyledDriver',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: 1. If you specify a value smaller than 1, pages start from page 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code. Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E0BD540E-DCFE-4602-B6D1-D208E8594BF7',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. true indicates that the call was successful. false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data returned if the call was successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'CurrentPage' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '15',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of official or custom drivers found.'."\n"
+ ."\n"
+ .'* If the value of Type is 0, the value of this parameter is the total number of official drivers found.'."\n"
+ .'* If the value of Type is 1, the value of this parameter is the total number of custom drivers found.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'DriverList' => [
+ 'description' => 'The information about each driver.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'GmtCreateTimestamp' => [
+ 'description' => 'The time when the driver was created. The time is displayed in UTC.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'Type' => [
+ 'description' => 'The type of the driver. Valid values:'."\n"
+ ."\n"
+ .'* 0: official driver'."\n"
+ .'* 1: custom driver'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'CpuArch' => [
+ 'description' => 'The CPU architecture that the driver supports. Valid values:'."\n"
+ ."\n"
+ .'* ARMv7'."\n"
+ .'* ARMv7-HF'."\n"
+ .'* AArch64'."\n"
+ .'* x86-64'."\n"
+ .'* x86'."\n",
+ 'type' => 'string',
+ 'example' => 'x86-64',
+ ],
+ 'DriverId' => [
+ 'description' => 'The ID of the driver.'."\n",
+ 'type' => 'string',
+ 'example' => 'fec565038d7544978d9aed5c1a******',
+ ],
+ 'IsBuiltIn' => [
+ 'description' => 'Indicates whether the driver is a built-in driver.'."\n"
+ ."\n"
+ .'* true: indicates that the driver is a built-in driver, that is, the driver code is pre-configured on the gateway device.'."\n"
+ .'* false: indicates that the driver is not a built-in driver.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'GmtModifiedTimestamp' => [
+ 'description' => 'The time when the driver was last modified. The time is displayed in UTC.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'IsApply' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'Runtime' => [
+ 'description' => 'The language in which the driver is programmed. Valid values:'."\n"
+ ."\n"
+ .'* nodejs8: Node.js v8'."\n"
+ .'* python3: Python v3.5'."\n"
+ .'* c: C'."\n",
+ 'type' => 'string',
+ 'example' => 'c',
+ ],
+ 'DriverName' => [
+ 'description' => 'The name of the driver.'."\n",
+ 'type' => 'string',
+ 'example' => 'MyLedDriver',
+ ],
+ 'DriverProtocol' => [
+ 'description' => 'The communications protocol that the driver uses. Valid values:'."\n"
+ ."\n"
+ .'* modbus: Modbus protocol'."\n"
+ .'* opc-ua: OPC UA protocol'."\n"
+ .'* customize: custom protocol'."\n",
+ 'type' => 'string',
+ 'example' => 'customize',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"E0BD540E-DCFE-4602-B6D1-D208E8594BF7\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 15,\\n \\"Total\\": 1,\\n \\"DriverList\\": [\\n {\\n \\"GmtCreateTimestamp\\": 1581912859713,\\n \\"Type\\": 1,\\n \\"CpuArch\\": \\"x86-64\\",\\n \\"DriverId\\": \\"fec565038d7544978d9aed5c1a******\\",\\n \\"IsBuiltIn\\": false,\\n \\"GmtModifiedTimestamp\\": 1581912859713,\\n \\"IsApply\\": false,\\n \\"Runtime\\": \\"c\\",\\n \\"DriverName\\": \\"MyLedDriver\\",\\n \\"DriverProtocol\\": \\"customize\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryEdgeDriverResponse>\\r\\n <RequestId>E0BD540E-DCFE-4602-B6D1-D208E8594BF7</RequestId>\\r\\n <Data>\\r\\n <PageSize>15</PageSize>\\r\\n <CurrentPage>1</CurrentPage>\\r\\n <Total>1</Total>\\r\\n <DriverList>\\r\\n <Driver>\\r\\n <DriverProtocol>customize</DriverProtocol>\\r\\n <Type>1</Type>\\r\\n <Runtime>c</Runtime>\\r\\n <GmtCreateTimestamp>2019-12-01 22:28:00</GmtCreateTimestamp>\\r\\n <DriverId>fec565038d7544978d9aed5c1a******</DriverId>\\r\\n <DriverName>MyLedDriver</DriverName>\\r\\n <GmtModifiedTimestamp>2019-12-01 22:28:00</GmtModifiedTimestamp>\\r\\n <IsApply>false</IsApply>\\r\\n <IsBuiltIn>false</IsBuiltIn>\\r\\n <CpuArch>x86-64</CpuArch>\\r\\n </Driver>\\r\\n </DriverList>\\r\\n </Data>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</QueryEdgeDriverResponse>","errorExample":""}]',
+ 'title' => 'QueryEdgeDriver',
+ 'summary' => 'Queries information about drivers by page.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'A single Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users share the quota of the Alibaba Cloud account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding exclusive request parameters, you must specify common request parameters when calling this API operation. For more information about common request parameters, see [Common parameters](~~135196~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateEdgeDriverVersion' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'DriverId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the driver. To obtain the driver ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Drivers** page, move the pointer over the name of the driver for which you want to create a driver version and obtain the driver ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeDriver](~~155776~~) operation to query the driver ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'fec565038d7544978d9aed5c1a******',
+ ],
+ ],
+ [
+ 'name' => 'DriverVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The version number of the driver. The version number must be unique for the driver. The version number can be up to 64 characters in length and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '1.2.0',
+ ],
+ ],
+ [
+ 'name' => 'EdgeVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The earliest version of Link IoT Edge that is supported by the driver. The driver can run on gateways of only this version and later. For example, if you set this parameter to 2.4.0, the driver can run on gateways of only version 2.4.0 and later.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '2.0.0',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the driver. The description can be a maximum of 256 bytes in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'SourceConfig',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The source of the driver code. Set this parameter to a JSON string in the following format:'."\n"
+ ."\n"
+ .'`{"ossAddress":"http://***/driver_code.zip"}`'."\n"
+ ."\n"
+ .'In the JSON string, `ossAddress` specifies the URL of the driver code stored in Object Storage Service (OSS). If you want to upload the driver code and obtain the URL of the driver code stored in OSS by using API operations, call the [CreateOssPreSignedAddress](~~155858~~) operation first.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{"ossAddress":"http://nova-scene-daily.oss-cn-shanghai.aliyuncs.com/driver/a8d6e4acc6941ecea8f0cfb30c******/ck3n3koe200003h6zf******.zip"}',
+ ],
+ ],
+ [
+ 'name' => 'DriverConfig',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The configuration of the driver. Set this parameter to a JSON string in the following format:'."\n"
+ ."\n"
+ .'`{"format":"JSON","content":"{}"}`'."\n"
+ ."\n"
+ .'The JSON string contains the following parameters:'."\n"
+ ."\n"
+ .'* format: the format of the driver configuration. Valid values: KV (key-value pair), JSON (JSON string), and FILE (configuration file).'."\n"
+ ."\n"
+ .'* content: the content of the driver configuration. If you set the format parameter to KV or JSON, set this parameter to the configuration content of the driver. If you set the format parameter to FILE, set this parameter to the URL of the driver configuration file stored in OSS.'."\n"
+ ."\n"
+ .'> To obtain the URL of the driver configuration file stored in OSS, call the [CreateOssPreSignedAddress](~~155858~~) operation.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[{"format":"JSON","content":"{\\"defaultConfig\\":\\"this is default driver config demo\\"}"}]',
+ ],
+ ],
+ [
+ 'name' => 'ContainerConfig',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The configuration of the container where the driver runs. Set this parameter to a JSON string. For more information about parameters in the JSON string, see the following parameter description of **ContainerConfig**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{"privileged":1,"devMappings":[],"volumeMappings":[],"hostNetworkMode":0,"portMappings":[]}',
+ ],
+ ],
+ [
+ 'name' => 'ConfigCheckRule',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The rule for verifying configurations. Set this parameter to a JSON string in the following format:'."\n"
+ ."\n"
+ .'`{"deviceConfig":{"required":false},"driverConfig":{"required":false}`'."\n"
+ ."\n"
+ .'The JSON string contains the following parameters:'."\n"
+ ."\n"
+ .'* driverConfig: the rule for verifying the configuration of the driver when the driver is to be deployed in an edge instance.'."\n"
+ .'* deviceConfig: the rule for verifying the configurations of devices that use the driver when the driver is to be deployed in an edge instance.'."\n"
+ ."\n"
+ .'`required`: A value of true indicates that the corresponding parameter is required. A value of false indicates that the corresponding parameter is optional.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{"deviceConfig":{"required":false},"driverConfig":{"required":false}}',
+ ],
+ ],
+ [
+ 'name' => 'Argument',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The Java Virtual Machine (JVM) startup parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '-XX:+PrintGCDetails',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '001ADA35-8846-4B6F-93E7-E5C076F8BB56',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"001ADA35-8846-4B6F-93E7-E5C076F8BB56\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateEdgeDriverVersionResponse>\\r\\n <RequestId>001ADA35-8846-4B6F-93E7-E5C076F8BB56</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</CreateEdgeDriverVersionResponse>","errorExample":""}]',
+ 'title' => 'CreateEdgeDriverVersion',
+ 'summary' => 'Creates a driver version.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](/help/en/link-iot-edge/latest/common-parameters). '."\n"
+ ."\n"
+ .'**Parameter description of ContainerConfig**| Parameter | Type | Required | Description |'."\n"
+ .'| --------- | ---- | -------- | ----------- |'."\n"
+ .'| privileged | Integer | No | Specifies whether to enable the privilege mode for the container. Valid values:'."\n"
+ ."\n"
+ .'0: disables the mode.'."\n"
+ ."\n"
+ .'1: enables the mode. |'."\n"
+ .'| hostNetworkMode | Integer | No | Specifies whether to enable the host mode for the container. Valid values:'."\n"
+ ."\n"
+ .'0: disables the mode.'."\n"
+ ."\n"
+ .'1: enables the mode. |'."\n"
+ .'| portMappings | List | No | The mapping of network ports. This parameter is not required if the hostNetworkMode parameter is set to 1. You can specify a maximum of 10 mapping records in this parameter. For more information about specific parameters, see the following parameter description of portMappings. |'."\n"
+ .'| devMappings | List | No | The mapping of devices. This parameter is not required if the privileged parameter is set to 1. You can specify a maximum of 10 mapping records in this parameter. For more information about specific parameters, see the following parameter description of devMappings. |'."\n"
+ .'| volumeMappings | List | No | The mapping of volumes. You can specify a maximum of 10 mapping records in this parameter. For more information about specific parameters, see the following parameter description of volumeMappings. |'."\n"
+ .'**Parameter description of portMappings**| Parameter | Type | Required | Description |'."\n"
+ .'| --------- | ---- | -------- | ----------- |'."\n"
+ .'| hostPort | Integer | Yes | The port number of the host where the container resides. Valid values: 1 to 65535. |'."\n"
+ .'| containerPort | Integer | Yes | The port number of the container. Valid values: 1 to 65535. |'."\n"
+ .'| protocol | Integer | Yes | The type of the protocol that is used for communication between the mapping ports. Valid values: tcp and udp. |'."\n"
+ .'**Parameter description of devMappings**| Parameter | Type | Required | Description |'."\n"
+ .'| --------- | ---- | -------- | ----------- |'."\n"
+ .'| hostPath | String | Yes | The name of the device that the driver needs to access. The name must be 1 to 128 characters in length and start with **/dev/**. |'."\n"
+ .'| permission | String | Yes | The permissions that the driver has for the device. Valid values:'."\n"
+ ."\n"
+ .'ro: The driver has only the read permissions for the device.'."\n"
+ ."\n"
+ .'rw: The driver has both the read and write permissions for the device. |'."\n"
+ .'| comment | String | No | The remarks for the mapping. The remarks must be 1 to 128 characters in length. |'."\n"
+ .'**Parameter description of volumeMappings**| Parameter | Type | Required | Description |'."\n"
+ .'| --------- | ---- | -------- | ----------- |'."\n"
+ .'| hostPath | String | Yes | The host path of the volume that the driver needs to access. The path must be 1 to 128 characters in length and cannot contain spaces. |'."\n"
+ .'| containerPath | String | Yes | The path for accessing the volume in the container. The path must be an absolute path that starts with a forward slash (/). The path must be 2 to 128 characters in length and cannot contain spaces. Do not set this parameter to the root directory. |'."\n"
+ .'| permission | String | Yes | The permissions that the driver has for the volume. Valid values:'."\n"
+ ."\n"
+ .'ro: The driver has only the read permissions for the volume.'."\n"
+ ."\n"
+ .'rw: The driver has both the read and write permissions for the volume. |',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteEdgeDriverVersion' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'DriverId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the driver. To obtain the driver ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Drivers** page, move the pointer over the name of the driver for which you want to delete a driver version and obtain the driver ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeDriver](~~155776~~) operation to query the driver ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'fec565038d7544978d9aed5c1a******',
+ ],
+ ],
+ [
+ 'name' => 'DriverVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The version number of the driver.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '1.2.0',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'J82E857F-T6B9-4FDE-96B8-E4BE97095D1A',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"J82E857F-T6B9-4FDE-96B8-E4BE97095D1A\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteEdgeDriverVersionResponse>\\r\\n <RequestId>J82E857F-T6B9-4FDE-96B8-E4BE97095D1A</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</DeleteEdgeDriverVersionResponse>","errorExample":""}]',
+ 'title' => 'DeleteEdgeDriverVersion',
+ 'summary' => 'Deletes a driver version.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* You are not allowed to delete a published driver version.'."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~135196~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateEdgeDriverVersion' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'DriverId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the driver. To obtain the driver ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Drivers** page, move the pointer over the name of the driver for which you want to update a driver version and obtain the driver ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeDriver](~~155776~~) operation to query the driver ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'fec565038d7544978d9aed5c1a******',
+ ],
+ ],
+ [
+ 'name' => 'DriverVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The version number of the driver.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '1.2.0',
+ ],
+ ],
+ [
+ 'name' => 'EdgeVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The earliest version of Link IoT Edge that is supported by the driver. The driver can run on gateways of only this version and later. For example, if you set this parameter to 2.4.0, the driver can run on gateways of only version 2.4.0 and later.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '2.0.0',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the driver. The description can be a maximum of 256 bytes in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'SourceConfig',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The source of the driver code. Set this parameter to a JSON string in the following format:'."\n"
+ ."\n"
+ .'`{"ossAddress":"http://***/driver_code.zip"}`'."\n"
+ ."\n"
+ .'In the JSON string, `ossAddress` specifies the URL of the driver code stored in Object Storage Service (OSS). If you want to upload the driver code and obtain the URL of the driver code stored in OSS by using API operations, call the [CreateOssPreSignedAddress](~~155858~~) operation first.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{"ossAddress":"http://nova-scene-daily.oss-cn-shanghai.aliyuncs.com/driver/a8d6e4acc6941ecea8f0cfb30c******/ck3n3koe200003h6zf******.zip"}',
+ ],
+ ],
+ [
+ 'name' => 'DriverConfig',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The configuration of the driver. Set this parameter to a JSON string in the following format:'."\n"
+ ."\n"
+ .'`{"format":"JSON","content":"{}"}`'."\n"
+ ."\n"
+ .'The JSON string contains the following parameters:'."\n"
+ ."\n"
+ .'* format: the format of the driver configuration. Valid values: KV (key-value pair), JSON (JSON string), and FILE (configuration file).'."\n"
+ ."\n"
+ .'* content: the content of the driver configuration. If you set the format parameter to KV or JSON, set this parameter to the configuration content of the driver. If you set the format parameter to FILE, set this parameter to the URL of the driver configuration file stored in OSS.'."\n"
+ ."\n"
+ .'>To obtain the URL of the driver configuration file stored in OSS, call the [CreateOssPreSignedAddress](~~155858~~) operation.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[{"format":"JSON","content":"{\\"defaultConfig\\":\\"this is default driver config demo\\"}"}]',
+ ],
+ ],
+ [
+ 'name' => 'ContainerConfig',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The configuration of the container where the driver runs. Set this parameter to a JSON string. For more information about parameters in the JSON string, see the following parameter description of ContainerConfig.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{"privileged":1,"devMappings":[],"volumeMappings":[],"hostNetworkMode":0,"portMappings":[]}',
+ ],
+ ],
+ [
+ 'name' => 'ConfigCheckRule',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The rule for verifying configurations. Set this parameter to a JSON string in the following format:'."\n"
+ ."\n"
+ .'`{"deviceConfig":{"required":false},"driverConfig":{"required":false}`'."\n"
+ ."\n"
+ .'The JSON string contains the following parameters:'."\n"
+ ."\n"
+ .'* driverConfig: the rule for verifying the configuration of the driver when the driver is to be deployed in an edge instance.'."\n"
+ .'* deviceConfig: the rule for verifying the configurations of devices that use the driver when the driver is to be deployed in an edge instance.'."\n"
+ ."\n"
+ .'`required`: A value of true indicates that the corresponding parameter is required. A value of false indicates that the corresponding parameter is optional.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{"deviceConfig":{"required":false},"driverConfig":{"required":false}}',
+ ],
+ ],
+ [
+ 'name' => 'Argument',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The Java Virtual Machine (JVM) startup parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '-XX:+PrintGCDetails',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '7757A782-6C24-4325-A663-C62857F32E87',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"7757A782-6C24-4325-A663-C62857F32E87\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateEdgeDriverVersionResponse>\\r\\n <RequestId>7757A782-6C24-4325-A663-C62857F32E87</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</UpdateEdgeDriverVersionResponse>","errorExample":""}]',
+ 'title' => 'UpdateEdgeDriverVersion',
+ 'summary' => 'Updates a driver version.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'* If a request parameter is not specified, the original value of the parameter will be cleared for the driver version.'."\n"
+ ."\n"
+ .'* You are not allowed to update a published driver version.'."\n"
+ ."\n"
+ .'* Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'>RAM users of an Alibaba Cloud account share the quota of the account.',
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](/help/en/link-iot-edge/latest/common-parameters). '."\n"
+ ."\n"
+ .'**Parameter description of ContainerConfig**| Parameter | Type | Required | Description |'."\n"
+ .'| --------- | ---- | -------- | ----------- |'."\n"
+ .'| privileged | Integer | No | Specifies whether to enable the privilege mode for the container. Valid values:'."\n"
+ ."\n"
+ .'0: disables the mode.'."\n"
+ ."\n"
+ .'1: enables the mode. |'."\n"
+ .'| hostNetworkMode | Integer | No | Specifies whether to enable the host mode for the container. Valid values:'."\n"
+ ."\n"
+ .'0: disables the mode.'."\n"
+ ."\n"
+ .'1: enables the mode. |'."\n"
+ .'| portMappings | List | No | The mapping of network ports. This parameter is not required if the hostNetworkMode parameter is set to 1. You can specify a maximum of 10 mapping records in this parameter. For more information about specific parameters, see the following parameter description of portMappings. |'."\n"
+ .'| devMappings | List | No | The mapping of devices. This parameter is not required if the privileged parameter is set to 1. You can specify a maximum of 10 mapping records in this parameter. For more information about specific parameters, see the following parameter description of devMappings. |'."\n"
+ .'| volumeMappings | List | No | The mapping of volumes. You can specify a maximum of 10 mapping records in this parameter. For more information about specific parameters, see the following parameter description of volumeMappings. |'."\n"
+ .'**Parameter description of portMappings**| Parameter | Type | Required | Description |'."\n"
+ .'| --------- | ---- | -------- | ----------- |'."\n"
+ .'| hostPort | Integer | Yes | The port number of the host where the container resides. Valid values: 1 to 65535. |'."\n"
+ .'| containerPort | Integer | Yes | The port number of the container. Valid values: 1 to 65535. |'."\n"
+ .'| protocol | Integer | Yes | The type of the protocol that is used for communication between the mapping ports. Valid values: tcp and udp. |'."\n"
+ .'**Parameter description of devMappings**| Parameter | Type | Required | Description |'."\n"
+ .'| --------- | ---- | -------- | ----------- |'."\n"
+ .'| hostPath | String | Yes | The name of the device that the driver needs to access. The name must be 1 to 128 characters in length and start with **/dev/**. |'."\n"
+ .'| permission | String | Yes | The permissions that the driver has for the device. Valid values:'."\n"
+ ."\n"
+ .'ro: The driver has only the read permissions for the device.'."\n"
+ ."\n"
+ .'rw: The driver has both the read and write permissions for the device. |'."\n"
+ .'| comment | String | No | The remarks for the mapping. The remarks must be 1 to 128 characters in length. |'."\n"
+ .'**Parameter description of volumeMappings**| Parameter | Type | Required | Description |'."\n"
+ .'| --------- | ---- | -------- | ----------- |'."\n"
+ .'| hostPath | String | Yes | The host path of the volume that the driver needs to access. The path must be 1 to 128 characters in length and cannot contain spaces. |'."\n"
+ .'| containerPath | String | Yes | The path for accessing the volume in the container. The path must be an absolute path that starts with a forward slash (/). The path must be 2 to 128 characters in length and cannot contain spaces. Do not set this parameter to the root directory. |'."\n"
+ .'| permission | String | Yes | The permissions that the driver has for the volume. Valid values:'."\n"
+ ."\n"
+ .'ro: The driver has only the read permissions for the volume.'."\n"
+ ."\n"
+ .'rw: The driver has both the read and write permissions for the volume. |',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetEdgeDriverVersion' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'DriverId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the driver. To obtain the driver ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Drivers** page, move the pointer over the name of the driver whose version information you want to query and obtain the driver ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeDriver](~~155776~~) operation to query the driver ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'fec565038d7544978d9aed5c1a******',
+ ],
+ ],
+ [
+ 'name' => 'DriverVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The version number of the driver.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '1.2.0',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '6ECE664B-E670-47BA-A6AD-62B9F35E3A7B',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data that is returned if the call was successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'GmtCreateTimestamp' => [
+ 'description' => 'The UNIX timestamp when the driver was created.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'ConfigCheckRule' => [
+ 'description' => 'The rule for verifying configurations. The value is a JSON string in the following format:'."\n"
+ ."\n"
+ .'`{"deviceConfig":{"required":false},"driverConfig":{"required":false}`'."\n"
+ ."\n"
+ .'The JSON string contains the following parameters:'."\n"
+ ."\n"
+ .'* driverConfig: the rule for verifying the configuration of the driver when the driver is to be deployed in an edge instance.'."\n"
+ .'* deviceConfig: the rule for verifying the configurations of devices that use the driver when the driver is to be deployed in an edge instance.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"deviceConfig\\":{\\"required\\":false},\\"driverConfig\\":{\\"required\\":false}}',
+ ],
+ 'DriverId' => [
+ 'description' => 'The ID of the driver.'."\n",
+ 'type' => 'string',
+ 'example' => 'fec565038d7544978d9aed5c1a******',
+ ],
+ 'EdgeVersion' => [
+ 'description' => 'The earliest version of Link IoT Edge that is supported by the driver.'."\n",
+ 'type' => 'string',
+ 'example' => '2.0.0',
+ ],
+ 'GmtModifiedTimestamp' => [
+ 'description' => 'The last UNIX timestamp when the driver was updated.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'VersionState' => [
+ 'description' => 'The status of the driver version. Valid values:'."\n"
+ ."\n"
+ .'* 0: The driver version was not published.'."\n"
+ .'* 1: The driver version was published.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ 'ContainerConfig' => [
+ 'description' => 'The configuration of the container where the driver runs. The value is a JSON string. For more information about parameters in the JSON string, see the following parameter description of ContainerConfig.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"devMappings\\":[],\\"hostNetworkMode\\":0,\\"portMappings\\":[],\\"privileged\\":1,\\"volumeMappings\\":[]}',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the driver.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'DriverConfig' => [
+ 'description' => 'The configuration of the driver. The value is a JSON string in the following format:'."\n"
+ ."\n"
+ .'`{"format":"JSON","content":"{}"}`'."\n"
+ ."\n"
+ .'The JSON string contains the following parameters:'."\n"
+ ."\n"
+ .'* format: the format of the driver configuration. Valid values: KV (key-value pair), JSON (JSON string), and FILE (configuration file).'."\n"
+ .'* content: the content of the driver configuration. If the format parameter is set to KV or JSON, the value of this parameter is the configuration content. If the format parameter is set to FILE, the value of this parameter is the URL of the configuration file stored in Object Storage Service (OSS).'."\n",
+ 'type' => 'string',
+ 'example' => '[{\\"content\\":\\"{\\\\\\"defaultConfig\\\\\\":\\\\\\"this is default driver config demo\\\\\\"}\\",\\"format\\":\\"JSON\\"}]',
+ ],
+ 'DriverVersion' => [
+ 'description' => 'The version number of the driver.'."\n",
+ 'type' => 'string',
+ 'example' => '1.2.0',
+ ],
+ 'Argument' => [
+ 'description' => 'The Java Virtual Machine (JVM) startup parameter.'."\n",
+ 'type' => 'string',
+ 'example' => '-XX:+PrintGCDetails',
+ ],
+ 'SourceConfig' => [
+ 'description' => 'The source of the driver code. The value is a JSON string in the following format:'."\n"
+ ."\n"
+ .'`{"ossAddress":"http://***/driver_code.zip","temporaryOssAddress":"http://***/driver_code.zip?Expires***"}`'."\n"
+ ."\n"
+ .'In the JSON string, `ossAddress` indicates the URL of the driver code stored in OSS and `temporaryOssAddress` indicates the temporary link for downloading the driver code. The validity period of the temporary link is 5 minutes.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"ossAddress\\":\\"http://nova-scene-daily.oss-cn-shanghai.aliyuncs.com/driver/a8d6e4acc6941ecea8f0cfb30******/ck3n3koe200003h6zfg******.zip\\",\\"temporaryOssAddress\\":\\"http://nova-scene-daily.oss-cn-shanghai.aliyuncs.com/driver/a8d6e4acc6941ecea8f0cfb30******/ck3n3koe200003h6zf******.zip?Expires\\u003d1575******\\u0026OSSAccessKeyId\\u003daS4MT0IYrP******\\u0026Signature\\u003dm6cpmcaB8rm3YfbkhTYgb0******\\"}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"6ECE664B-E670-47BA-A6AD-62B9F35E3A7B\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"GmtCreateTimestamp\\": 1581912859713,\\n \\"ConfigCheckRule\\": \\"{\\\\\\\\\\\\\\"deviceConfig\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"required\\\\\\\\\\\\\\":false},\\\\\\\\\\\\\\"driverConfig\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"required\\\\\\\\\\\\\\":false}}\\",\\n \\"DriverId\\": \\"fec565038d7544978d9aed5c1a******\\",\\n \\"EdgeVersion\\": \\"2.0.0\\",\\n \\"GmtModifiedTimestamp\\": 1581912859713,\\n \\"VersionState\\": \\"0\\",\\n \\"ContainerConfig\\": \\"{\\\\\\\\\\\\\\"devMappings\\\\\\\\\\\\\\":[],\\\\\\\\\\\\\\"hostNetworkMode\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"portMappings\\\\\\\\\\\\\\":[],\\\\\\\\\\\\\\"privileged\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"volumeMappings\\\\\\\\\\\\\\":[]}\\",\\n \\"Description\\": \\"Led驱动\\",\\n \\"DriverConfig\\": \\"[{\\\\\\\\\\\\\\"content\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"defaultConfig\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"this is default driver config demo\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"}\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"format\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"JSON\\\\\\\\\\\\\\"}]\\",\\n \\"DriverVersion\\": \\"1.2.0\\",\\n \\"Argument\\": \\"-XX:+PrintGCDetails\\",\\n \\"SourceConfig\\": \\"{\\\\\\\\\\\\\\"ossAddress\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"http://nova-scene-daily.oss-cn-shanghai.aliyuncs.com/driver/a8d6e4acc6941ecea8f0cfb30******/ck3n3koe200003h6zfg******.zip\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"temporaryOssAddress\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"http://nova-scene-daily.oss-cn-shanghai.aliyuncs.com/driver/a8d6e4acc6941ecea8f0cfb30******/ck3n3koe200003h6zf******.zip?Expires\\\\\\\\u003d1575******\\\\\\\\u0026OSSAccessKeyId\\\\\\\\u003daS4MT0IYrP******\\\\\\\\u0026Signature\\\\\\\\u003dm6cpmcaB8rm3YfbkhTYgb0******\\\\\\\\\\\\\\"}\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetEdgeDriverVersionResponse>\\r\\n <RequestId>6ECE664B-E670-47BA-A6AD-62B9F35E3A7B</RequestId>\\r\\n <Data>\\r\\n <ContainerConfig>{\\"devMappings\\":[],\\"hostNetworkMode\\":0,\\"portMappings\\":[],\\"privileged\\":1,\\"volumeMappings\\":[]}</ContainerConfig>\\r\\n <GmtCreate>2019-12-01 22:28:01</GmtCreate>\\r\\n <DriverId>fec565038d7544978d9aed5c1a******</DriverId>\\r\\n <Description>Led驱动</Description>\\r\\n <DriverVersion>1.2.0</DriverVersion>\\r\\n <SourceConfig>{\\"ossAddress\\":\\"http://nova-scene-daily.oss-cn-shanghai.aliyuncs.com/driver/a8d6e4acc6941ecea8f0cfb30******/ck3n3koe200003h6zf******.zip\\",\\"temporaryOssAddress\\":\\"http://nova-scene-daily.oss-cn-shanghai.aliyuncs.com/driver/a8d6e4acc6941ecea8f0cfb30******/ck3n3koe200003h6zf******.zip?Expires=1575******&amp;OSSAccessKeyId=aS4MT0IYrPSPj6******;Signature=m6cpmcaB8rm3YfbkhTYgb0W******\\"}</SourceConfig>\\r\\n <GmtModified>2019-12-01 22:28:01</GmtModified>\\r\\n <DriverConfig>[{\\"content\\":\\"{\\\\\\"defaultConfig\\\\\\":\\\\\\"this is default driver config demo\\\\\\"}\\",\\"format\\":\\"JSON\\"}]</DriverConfig>\\r\\n <EdgeVersion>2.0.0</EdgeVersion>\\r\\n <ConfigCheckRule>{\\"deviceConfig\\":{\\"required\\":false},\\"driverConfig\\":{\\"required\\":false}}</ConfigCheckRule>\\r\\n <VersionState>0</VersionState>\\r\\n </Data>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</GetEdgeDriverVersionResponse>","errorExample":""}]',
+ 'title' => 'GetEdgeDriverVersion',
+ 'summary' => 'Queries information about a driver version.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~135196~~).'."\n",
+ 'extraInfo' => ' ',
+ ],
+ 'QueryEdgeDriverVersion' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: 1 to 30. Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '15',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Pages start from Page 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'DriverId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the driver. To obtain the driver ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Drivers** page, move the pointer over the name of the driver whose versions you want to query and obtain the driver ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeDriver](~~155776~~) operation to query the driver ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'fec565038d7544978d9aed5c1a******',
+ ],
+ ],
+ [
+ 'name' => 'DriverVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The version number of the driver. To query information about a specific driver version, set this parameter to the specific version number.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'VersionState',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The status of the driver version. Valid values:'."\n"
+ ."\n"
+ .'* 0: The driver version to be queried is not published.'."\n"
+ .'* 1: The driver version to be queried is published.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '0',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'ABA0CD1F-4270-42FE-84AD-D612240196F7',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data that is returned if the call was successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'CurrentPage' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '15',
+ ],
+ 'Total' => [
+ 'description' => 'The number of driver versions.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'DriverVersionList' => [
+ 'description' => 'The information about each version of the driver.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'GmtCreateTimestamp' => [
+ 'description' => 'The UNIX timestamp when the driver was created.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'ConfigCheckRule' => [
+ 'description' => 'The rule for verifying configurations. The value is a JSON string in the following format:'."\n"
+ ."\n"
+ .'`{"deviceConfig":{"required":false},"driverConfig":{"required":false}`'."\n"
+ ."\n"
+ .'The JSON string contains the following parameters:'."\n"
+ ."\n"
+ .'* driverConfig: the rule for verifying the configuration of the driver when the driver is to be deployed in an edge instance.'."\n"
+ .'* deviceConfig: the rule for verifying the configurations of devices that use the driver when the driver is to be deployed in an edge instance.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"deviceConfig\\":{\\"required\\":false},\\"driverConfig\\":{\\"required\\":false}}',
+ ],
+ 'DriverId' => [
+ 'description' => 'The ID of the driver.'."\n",
+ 'type' => 'string',
+ 'example' => 'fec565038d7544978d9aed5c1a******',
+ ],
+ 'EdgeVersion' => [
+ 'description' => 'The earliest version of Link IoT Edge that is supported by the driver.'."\n",
+ 'type' => 'string',
+ 'example' => '2.0.0',
+ ],
+ 'GmtModifiedTimestamp' => [
+ 'description' => 'The last UNIX timestamp when the driver was updated.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1581912859713',
+ ],
+ 'VersionState' => [
+ 'description' => 'The status of the driver version. Valid values:'."\n"
+ ."\n"
+ .'* 0: The driver version was not published.'."\n"
+ .'* 1: The driver version was published.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ 'ContainerConfig' => [
+ 'description' => 'The configuration of the container where the driver runs. The value is a JSON string. For more information about parameters in the JSON string, see the following parameter description of ContainerConfig.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"devMappings\\":[],\\"hostNetworkMode\\":0,\\"portMappings\\":[],\\"privileged\\":1,\\"volumeMappings\\":[]}',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the driver.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'DriverConfig' => [
+ 'description' => 'The configuration of the driver. The value is a JSON string in the following format:'."\n"
+ ."\n"
+ .'`{"format":"JSON","content":"{}"}`'."\n"
+ ."\n"
+ .'The JSON string contains the following parameters:'."\n"
+ ."\n"
+ .'* format: the format of the driver configuration. Valid values: KV (key-value pair), JSON (JSON string), and FILE (configuration file).'."\n"
+ .'* content: the content of the driver configuration. If the format parameter is set to KV or JSON, the value of this parameter is the configuration content. If the format parameter is set to FILE, the value of this parameter is the URL of the configuration file stored in Object Storage Service (OSS).'."\n",
+ 'type' => 'string',
+ 'example' => '[{\\"content\\":\\"{\\\\\\"defaultConfig\\\\\\":\\\\\\"this is default driver config demo\\\\\\"}\\",\\"format\\":\\"JSON\\"}]',
+ ],
+ 'DriverVersion' => [
+ 'description' => 'The version number of the driver.'."\n",
+ 'type' => 'string',
+ 'example' => '1.2.0',
+ ],
+ 'Argument' => [
+ 'description' => 'The Java Virtual Machine (JVM) startup parameter.'."\n",
+ 'type' => 'string',
+ 'example' => '-XX:+PrintGCDetails',
+ ],
+ 'SourceConfig' => [
+ 'description' => 'The source of the driver code. The value is a JSON string in the following format:'."\n"
+ ."\n"
+ .'`{"ossAddress":"http://***/driver_code.zip","temporaryOssAddress":"http://***/driver_code.zip?Expires***"}`'."\n"
+ ."\n"
+ .'In the JSON string, `ossAddress` indicates the URL of the driver code stored in OSS and `temporaryOssAddress` indicates the temporary link for downloading the driver code. The validity period of the temporary link is 5 minutes.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"ossAddress\\":\\"http://nova-scene-daily.oss-cn-shanghai.aliyuncs.com/driver/a8d6e4acc6941ecea8f0cfb3******/ck3n3koe200003h6zf******.zip\\",\\"temporaryOssAddress\\":\\"http://nova-scene-daily.oss-cn-shanghai.aliyuncs.com/driver/a8d6e4acc6941ecea8f0cfb3******/ck3n3koe200003h6zf******.zip?Expires\\u003d1575******\\u0026OSSAccessKeyId\\u003daS4MT0IYr******\\u0026Signature\\u003dm6cpmcaB8rm3YfbkhTYgb0W******\\"}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"ABA0CD1F-4270-42FE-84AD-D612240196F7\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 15,\\n \\"Total\\": 1,\\n \\"DriverVersionList\\": [\\n {\\n \\"GmtCreateTimestamp\\": 1581912859713,\\n \\"ConfigCheckRule\\": \\"{\\\\\\\\\\\\\\"deviceConfig\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"required\\\\\\\\\\\\\\":false},\\\\\\\\\\\\\\"driverConfig\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"required\\\\\\\\\\\\\\":false}}\\",\\n \\"DriverId\\": \\"fec565038d7544978d9aed5c1a******\\",\\n \\"EdgeVersion\\": \\"2.0.0\\",\\n \\"GmtModifiedTimestamp\\": 1581912859713,\\n \\"VersionState\\": \\"0\\",\\n \\"ContainerConfig\\": \\"{\\\\\\\\\\\\\\"devMappings\\\\\\\\\\\\\\":[],\\\\\\\\\\\\\\"hostNetworkMode\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"portMappings\\\\\\\\\\\\\\":[],\\\\\\\\\\\\\\"privileged\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"volumeMappings\\\\\\\\\\\\\\":[]}\\",\\n \\"Description\\": \\"Led驱动\\",\\n \\"DriverConfig\\": \\"[{\\\\\\\\\\\\\\"content\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"defaultConfig\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"this is default driver config demo\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"}\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"format\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"JSON\\\\\\\\\\\\\\"}]\\",\\n \\"DriverVersion\\": \\"1.2.0\\",\\n \\"Argument\\": \\"-XX:+PrintGCDetails\\",\\n \\"SourceConfig\\": \\"{\\\\\\\\\\\\\\"ossAddress\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"http://nova-scene-daily.oss-cn-shanghai.aliyuncs.com/driver/a8d6e4acc6941ecea8f0cfb3******/ck3n3koe200003h6zf******.zip\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"temporaryOssAddress\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"http://nova-scene-daily.oss-cn-shanghai.aliyuncs.com/driver/a8d6e4acc6941ecea8f0cfb3******/ck3n3koe200003h6zf******.zip?Expires\\\\\\\\u003d1575******\\\\\\\\u0026OSSAccessKeyId\\\\\\\\u003daS4MT0IYr******\\\\\\\\u0026Signature\\\\\\\\u003dm6cpmcaB8rm3YfbkhTYgb0W******\\\\\\\\\\\\\\"}\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryEdgeDriverVersionResponse>\\r\\n <RequestId>ABA0CD1F-4270-42FE-84AD-D612240196F7</RequestId>\\r\\n <Data>\\r\\n <PageSize>15</PageSize>\\r\\n <CurrentPage>1</CurrentPage>\\r\\n <Total>1</Total>\\r\\n <DriverVersionList>\\r\\n <DriverVersion>\\r\\n <ContainerConfig>{\\"devMappings\\":[],\\"hostNetworkMode\\":0,\\"portMappings\\":[],\\"privileged\\":1,\\"volumeMappings\\":[]}</ContainerConfig>\\r\\n <GmtCreate>2019-12-01 22:28:01</GmtCreate>\\r\\n <DriverId>fec565038d7544978d9aed5c1a******</DriverId>\\r\\n <Description>Led驱动</Description>\\r\\n <DriverVersion>1.2.0</DriverVersion>\\r\\n <SourceConfig>{\\"ossAddress\\":\\"http://nova-scene-daily.oss-cn-shanghai.aliyuncs.com/driver/a8d6e4acc6941ecea8f0cfb30******/ck3n3koe200003h6zf******.zip\\",\\"temporaryOssAddress\\":\\"http://nova-scene-daily.oss-cn-shanghai.aliyuncs.com/driver/a8d6e4acc6941ecea8f0cfb30******/ck3n3koe200003h6zf******.zip?Expires=1575******&amp;OSSAccessKeyId=aS4MT0IYrPS******&amp;Signature=m6cpmcaB8rm3YfbkhTYgb0WO******\\"}</SourceConfig>\\r\\n <GmtModified>2019-12-01 22:28:01</GmtModified>\\r\\n <DriverConfig>[{\\"content\\":\\"{\\\\\\"defaultConfig\\\\\\":\\\\\\"this is default driver config demo\\\\\\"}\\",\\"format\\":\\"JSON\\"}]</DriverConfig>\\r\\n <EdgeVersion>2.0.0</EdgeVersion>\\r\\n <ConfigCheckRule>{\\"deviceConfig\\":{\\"required\\":false},\\"driverConfig\\":{\\"required\\":false}}</ConfigCheckRule>\\r\\n <VersionState>0</VersionState>\\r\\n </DriverVersion>\\r\\n </DriverVersionList>\\r\\n </Data>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</QueryEdgeDriverVersionResponse>","errorExample":""}]',
+ 'title' => 'QueryEdgeDriverVersion',
+ 'summary' => 'Queries the versions of a driver by page.',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~135196~~).'."\n",
+ 'extraInfo' => ' ',
+ ],
+ 'CreateEdgeOssPreSignedAddress' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource for which the object URL is to be obtained. Only driver resources are supported. Set this parameter to the ID of the corresponding driver.'."\n"
+ ."\n"
+ .'To obtain the driver ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Drivers** page, move the pointer over the name of the driver for which the object URL you want to obtain and obtain the driver ID. You can also call the [QueryEdgeDriver](~~155776~~) operation to query the driver ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'df9b9f441*********4c90d0c21d14',
+ ],
+ ],
+ [
+ 'name' => 'FileName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the object whose URL is to be obtained. The format is `<File name>.<File name extension>`.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'testfile.zip',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The content type of the object. Valid values:'."\n"
+ ."\n"
+ .'* DRIVER_VERSION_CONTENT: the code of a specific driver version.'."\n"
+ .'* DRIVER_VERSION_DEFAULT_CONFIG: the default configuration of a specific driver version.'."\n"
+ .'* INSTANCE_DRIVER_VERSION_CONFIG: the configuration of a specific driver version that is used in an edge instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'DRIVER_VERSION_CONTENT',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance that uses the driver and obtain the instance ID.'."\n"
+ ."\n"
+ .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n"
+ ."\n"
+ .'> When the **Type** parameter is set to **INSTANCE_DRIVER_VERSION_CONFIG**, this parameter is required.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'F3APY0tPLhmgGtx0****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The version number of the resource. Only driver resources are supported. Set this parameter to the version number of the corresponding driver.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '2.0.0',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => 'The error message that is returned if the call failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '91E2BFA2-ECD7-4E11-B36B-66BCC4773922',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => 'The data that is returned if the call was successful.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'OssAddress' => [
+ 'description' => 'The URL of the OSS object.'."\n",
+ 'type' => 'string',
+ 'example' => 'http://xxxx.oss-cn-shanghai.aliyuncs.com/driver/a534d3b81*******8fe7da0/DRIVER_VERSION_CONTENT/df9b9f441*********4c90d0c21d14/2.0.0/1581586102750/driver_code.zip',
+ ],
+ 'OssPreSignedAddress' => [
+ 'description' => 'The pre-signed URL of the OSS object. For more information, see [OSS documentation](~~32016~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'http://xxxx.oss-cn-shanghai.aliyuncs.com/driver/a534d3b81*******8fe7da0/DRIVER_VERSION_CONTENT/df9b9f441*********4c90d0c21d14/2.0.0/1581586102750/driver_code.zip?Expires\\u003d1581586402\\u0026OSSAccessKeyId\\u003daS4MT0IYrP******\\u0026Signature\\u003dIUUjZ881H3rUoCOwjMXPmGbw******',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"91E2BFA2-ECD7-4E11-B36B-66BCC4773922\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"OssAddress\\": \\"http://xxxx.oss-cn-shanghai.aliyuncs.com/driver/a534d3b81*******8fe7da0/DRIVER_VERSION_CONTENT/df9b9f441*********4c90d0c21d14/2.0.0/1581586102750/driver_code.zip\\",\\n \\"OssPreSignedAddress\\": \\"http://xxxx.oss-cn-shanghai.aliyuncs.com/driver/a534d3b81*******8fe7da0/DRIVER_VERSION_CONTENT/df9b9f441*********4c90d0c21d14/2.0.0/1581586102750/driver_code.zip?Expires\\\\\\\\u003d1581586402\\\\\\\\u0026OSSAccessKeyId\\\\\\\\u003daS4MT0IYrP******\\\\\\\\u0026Signature\\\\\\\\u003dIUUjZ881H3rUoCOwjMXPmGbw******\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateEdgeOssPreSignedAddressResponse>\\r\\n <RequestId>91E2BFA2-ECD7-4E11-B36B-66BCC4773922</RequestId>\\r\\n <Data>\\r\\n <OssPreSignedAddress>http://xxxx.oss-cn-shanghai.aliyuncs.com/driver/a534d3b81*******8fe7da0/DRIVER_VERSION_CONTENT/df9b9f441*********4c90d0c21d14/2.0.0/1581586102750/driver_code.zip?Expires=1581586402&amp;OSSAccessKeyId=aS4MT0IYrP******&amp;Signature=IUUjZ881H3rUoCOwjMXPmGbw******</OssPreSignedAddress>\\r\\n <OssAddress>http://xxxx.oss-cn-shanghai.aliyuncs.com/driver/a534d3b81*******8fe7da0/DRIVER_VERSION_CONTENT/df9b9f441*********4c90d0c21d14/2.0.0/1581586102750/driver_code.zip</OssAddress>\\r\\n </Data>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</CreateEdgeOssPreSignedAddressResponse>","errorExample":""}]',
+ 'title' => 'CreateEdgeOssPreSignedAddress',
+ 'summary' => 'Creates a pre-signed URL for an object that is stored in Object Storage Service (OSS).',
+ 'description' => '## Limits'."\n"
+ ."\n"
+ .'Each Alibaba Cloud account can run a maximum of five queries per second (QPS).'."\n"
+ ."\n"
+ .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n",
+ 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~135196~~).'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BindApplicationToEdgeInstance' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'Tb4r9k3GWHJFWv******',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'ApplicationId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '361368ba5a094da9bf5625d092******',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'ApplicationVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '3.7',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'Success',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'request parameter error',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => '86B23D5F-BF86-4F29-82E2-686D7B4D9AAA',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"86B23D5F-BF86-4F29-82E2-686D7B4D9AAA\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BindApplicationToEdgeInstanceResponse>\\r\\n <RequestId>86B23D5F-BF86-4F29-82E2-686D7B4D9AAA</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</BindApplicationToEdgeInstanceResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'BindApplicationToEdgeInstance',
+ ],
+ 'UnbindApplicationFromEdgeInstance' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'Tb4r9k3GWHJFWv******',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'ApplicationId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '361368ba5a094da9bf5625d092******',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'Success',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'request parameter error',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => '5CA3B4EE-D865-47B0-91FD-BA7C2BC6BCC4',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"5CA3B4EE-D865-47B0-91FD-BA7C2BC6BCC4\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UnbindApplicationFromEdgeInstanceResponse>\\r\\n <RequestId>5CA3B4EE-D865-47B0-91FD-BA7C2BC6BCC4</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</UnbindApplicationFromEdgeInstanceResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'UnbindApplicationFromEdgeInstance',
+ ],
+ 'CreateEdgeInstanceChannel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '6GaTtvTj7vJhiS******',
+ ],
+ ],
+ [
+ 'name' => 'DriverId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '9c1ae7bd59f1469abbdccc9592******',
+ ],
+ ],
+ [
+ 'name' => 'ChannelName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'le_name0',
+ ],
+ ],
+ [
+ 'name' => 'Configs',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'key1',
+ ],
+ 'Format' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'JSON',
+ ],
+ 'Content' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '{"protocol":"TCP", "ip":"1.2.3.4", "port":1}',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'maxItems' => 21,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'BE0BD49EF5EF4D119D09CC1B25******',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'B34673EA-ECE7-44F5-BF01-40B5FAE633B6',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"Data\\": \\"BE0BD49EF5EF4D119D09CC1B25******\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"B34673EA-ECE7-44F5-BF01-40B5FAE633B6\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateEdgeInstanceChannelResponse>\\r\\n <RequestId>B34673EA-ECE7-44F5-BF01-40B5FAE633B6</RequestId>\\r\\n <Data>BE0BD49EF5EF4D119D09CC1B2******</Data>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</CreateEdgeInstanceChannelResponse>","errorExample":""}]',
+ 'title' => 'CreateEdgeInstanceChannel',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchDeleteEdgeInstanceChannel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '6GaTtvTj7vJhiS******',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'DriverId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '9c1ae7bd59f1469abbdccc9592******',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'ChannelIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'BE0BD49EF5EF4D119D09CC1B25******',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ 'maxItems' => 21,
+ 'required' => true,
+ 'type' => 'array',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'Success',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'request parameter error',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => 'C95D46F1-0B13-46C7-9FA7-FDBFCF2F9F6F',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"C95D46F1-0B13-46C7-9FA7-FDBFCF2F9F6F\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BatchDeleteEdgeInstanceChannelResponse>\\r\\n <RequestId>C95D46F1-0B13-46C7-9FA7-FDBFCF2F9F6F</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</BatchDeleteEdgeInstanceChannelResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'BatchDeleteEdgeInstanceChannel',
+ ],
+ 'UpdateEdgeInstanceChannel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '6GaTtvTj7vJhiS******',
+ ],
+ ],
+ [
+ 'name' => 'DriverId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '9c1ae7bd59f1469abbdccc9592******',
+ ],
+ ],
+ [
+ 'name' => 'ChannelId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'BE0BD49EF5EF4D119D09CC1B25******',
+ ],
+ ],
+ [
+ 'name' => 'ChannelName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'le_name_update',
+ ],
+ ],
+ [
+ 'name' => 'Configs',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'key1',
+ ],
+ 'Format' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'JSON',
+ ],
+ 'Content' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '{"protocol":"TCP", "ip":"1.2.3.4", "port":122}',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'maxItems' => 21,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '60D75DC6-00BC-47B5-AB1B-0619B7830D7D',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"60D75DC6-00BC-47B5-AB1B-0619B7830D7D\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateEdgeInstanceChannelResponse>\\r\\n <RequestId>60D75DC6-00BC-47B5-AB1B-0619B7830D7D</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</UpdateEdgeInstanceChannelResponse>","errorExample":""}]',
+ 'title' => 'UpdateEdgeInstanceChannel',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchGetEdgeInstanceChannel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '6GaTtvTj7vJhiS******',
+ ],
+ ],
+ [
+ 'name' => 'DriverId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '9c1ae7bd59f1469abbdccc9592******',
+ ],
+ ],
+ [
+ 'name' => 'ChannelIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ 'required' => true,
+ 'example' => 'BE0BD49EF5EF4D119D09CC1B25******',
+ 'maxItems' => 21,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '5B86570E-C1A7-4569-BF7B-F7F09EB35BEB',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Channel' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ChannelName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'le_name0',
+ ],
+ 'ChannelId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'BE0BD49EF5EF4D119D09CC1B25******',
+ ],
+ 'ConfigList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Config' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'key1',
+ ],
+ 'ConfigId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '5d6016035c1a451daf174b1051******',
+ ],
+ 'Format' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'JSON',
+ ],
+ 'Content' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '{\\"protocol\\":\\"TCP\\", \\"ip\\":\\"1.2.3.4\\", \\"port\\":1}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"5B86570E-C1A7-4569-BF7B-F7F09EB35BEB\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Channel\\": [\\n {\\n \\"ChannelName\\": \\"le_name0\\",\\n \\"ChannelId\\": \\"BE0BD49EF5EF4D119D09CC1B25******\\",\\n \\"ConfigList\\": {\\n \\"Config\\": [\\n {\\n \\"Key\\": \\"key1\\",\\n \\"ConfigId\\": \\"5d6016035c1a451daf174b1051******\\",\\n \\"Format\\": \\"JSON\\",\\n \\"Content\\": \\"{\\\\\\\\\\\\\\"protocol\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"TCP\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"ip\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1.2.3.4\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":1}\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<BatchGetEdgeInstanceChannelResponse>\\r\\n <RequestId>5B86570E-C1A7-4569-BF7B-F7F09EB35BEB</RequestId>\\r\\n <Data>\\r\\n <Channel>\\r\\n <ChannelName>le_name0</ChannelName>\\r\\n <ChannelId>BE0BD49EF5EF4D119D09CC1B25******</ChannelId>\\r\\n <ConfigList>\\r\\n <Config>\\r\\n <Format>JSON</Format>\\r\\n <Content>{\\"protocol\\":\\"TCP\\", \\"ip\\":\\"1.2.3.4\\", \\"port\\":1}</Content>\\r\\n <ConfigId>5d6016035c1a451daf174b1051******</ConfigId>\\r\\n </Config>\\r\\n </ConfigList>\\r\\n </Channel>\\r\\n </Data>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</BatchGetEdgeInstanceChannelResponse>","errorExample":""}]',
+ 'title' => 'BatchGetEdgeInstanceChannel',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryEdgeInstanceChannel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '6GaTtvTj7vJhiS******',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'DriverId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '9c1ae7bd59f1469abbdccc9592******',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'ChannelName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'le_name0',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '1',
+ 'format' => 'int32',
+ 'required' => true,
+ 'type' => 'integer',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '15',
+ 'format' => 'int32',
+ 'required' => true,
+ 'type' => 'integer',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'Success',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'request parameter error',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => 'AA1EF007-0455-43C7-8E03-39D0BA20F4F5',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'properties' => [
+ 'CurrentPage' => [
+ 'description' => '',
+ 'example' => '1',
+ 'format' => 'int32',
+ 'type' => 'integer',
+ ],
+ 'PageSize' => [
+ 'description' => '',
+ 'example' => '15',
+ 'format' => 'int32',
+ 'type' => 'integer',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'example' => '1',
+ 'format' => 'int32',
+ 'type' => 'integer',
+ ],
+ 'ChannelList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Channel' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'properties' => [
+ 'GmtCreateTimestamp' => [
+ 'description' => '',
+ 'example' => '1584371212000',
+ 'format' => 'int64',
+ 'type' => 'integer',
+ ],
+ 'ChannelName' => [
+ 'description' => '',
+ 'example' => 'le_name0',
+ 'type' => 'string',
+ ],
+ 'GmtModifiedTimestamp' => [
+ 'description' => '',
+ 'example' => '1584371212000',
+ 'format' => 'int64',
+ 'type' => 'integer',
+ ],
+ 'ChannelId' => [
+ 'description' => '',
+ 'example' => 'BE0BD49EF5EF4D119D09CC1B25******',
+ 'type' => 'string',
+ ],
+ 'GmtCreate' => [
+ 'description' => '',
+ 'example' => '2020-03-16 23:06:52',
+ 'type' => 'string',
+ ],
+ 'GmtModified' => [
+ 'description' => '',
+ 'example' => '2020-03-16 23:06:52',
+ 'type' => 'string',
+ ],
+ 'ConfigList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Config' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'properties' => [
+ 'Key' => [
+ 'description' => '',
+ 'example' => 'key1',
+ 'type' => 'string',
+ ],
+ 'ConfigId' => [
+ 'description' => '',
+ 'example' => '5d6016035c1a451daf174b1051******',
+ 'type' => 'string',
+ ],
+ 'Format' => [
+ 'description' => '',
+ 'example' => 'JSON',
+ 'type' => 'string',
+ ],
+ 'Content' => [
+ 'description' => '',
+ 'example' => '{\\"protocol\\":\\"TCP\\", \\"ip\\":\\"1.2.3.4\\", \\"port\\":1}',
+ 'type' => 'string',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"AA1EF007-0455-43C7-8E03-39D0BA20F4F5\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 15,\\n \\"Total\\": 1,\\n \\"ChannelList\\": {\\n \\"Channel\\": [\\n {\\n \\"GmtCreateTimestamp\\": 1584371212000,\\n \\"ChannelName\\": \\"le_name0\\",\\n \\"GmtModifiedTimestamp\\": 1584371212000,\\n \\"ChannelId\\": \\"BE0BD49EF5EF4D119D09CC1B25******\\",\\n \\"GmtCreate\\": \\"2020-03-16 23:06:52\\",\\n \\"GmtModified\\": \\"2020-03-16 23:06:52\\",\\n \\"ConfigList\\": {\\n \\"Config\\": [\\n {\\n \\"Key\\": \\"key1\\",\\n \\"ConfigId\\": \\"5d6016035c1a451daf174b1051******\\",\\n \\"Format\\": \\"JSON\\",\\n \\"Content\\": \\"{\\\\\\\\\\\\\\"protocol\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"TCP\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"ip\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1.2.3.4\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":1}\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryEdgeInstanceChannelResponse>\\r\\n <RequestId>AA1EF007-0455-43C7-8E03-39D0BA20F4F5</RequestId>\\r\\n <Data>\\r\\n <PageSize>15</PageSize>\\r\\n <CurrentPage>1</CurrentPage>\\r\\n <Total>1</Total>\\r\\n <ChannelList>\\r\\n <Channel>\\r\\n <GmtCreate>2020-03-16 23:06:52</GmtCreate>\\r\\n <ChannelName>le_name0</ChannelName>\\r\\n <GmtCreateTimestamp>1584371212000</GmtCreateTimestamp>\\r\\n <GmtModified>2020-03-16 23:06:52</GmtModified>\\r\\n <GmtModifiedTimestamp>1584371212000</GmtModifiedTimestamp>\\r\\n <ChannelId>BE0BD49EF5EF4D119D09CC1B25******</ChannelId>\\r\\n <ConfigList>\\r\\n <Config>\\r\\n <Format>JSON</Format>\\r\\n <Content>{\\"protocol\\":\\"TCP\\", \\"ip\\":\\"1.2.3.4\\", \\"port\\":1}</Content>\\r\\n <ConfigId>5d6016035c1a451daf174b1051******</ConfigId>\\r\\n </Config>\\r\\n </ConfigList>\\r\\n </Channel>\\r\\n </ChannelList>\\r\\n </Data>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</QueryEdgeInstanceChannelResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'QueryEdgeInstanceChannel',
+ ],
+ 'BatchSetEdgeInstanceDeviceChannel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '6GaTtvTj7vJhiS******',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'DriverId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '9c1ae7bd59f1469abbdccc9592******',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'ChannelId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'BE0BD49EF5EF4D119D09CC1B25******',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'IotIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'Hathoyxglj9jpYPyw3WN******',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ 'maxItems' => 21,
+ 'required' => true,
+ 'type' => 'array',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'Success',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'request parameter error',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => 'B0325EA9-671C-460B-B0F3-83F41CFF855B',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"B0325EA9-671C-460B-B0F3-83F41CFF855B\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BatchSetEdgeInstanceDeviceChannelResponse>\\r\\n <RequestId>B0325EA9-671C-460B-B0F3-83F41CFF855B</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</BatchSetEdgeInstanceDeviceChannelResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'BatchSetEdgeInstanceDeviceChannel',
+ ],
+ 'BatchGetEdgeInstanceDeviceChannel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '6GaTtvTj7vJhiS******',
+ ],
+ ],
+ [
+ 'name' => 'DriverId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '9c1ae7bd59f1469abbdccc9592******',
+ ],
+ ],
+ [
+ 'name' => 'IotIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ 'required' => true,
+ 'example' => 'Hathoyxglj9jpYPyw3WN******',
+ 'maxItems' => 21,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '029BC40B-8353-48B3-94C3-7ABF296F0AE5',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'DeviceChannelList' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ChannelId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'BE0BD49EF5EF4D119D09CC1B25******',
+ ],
+ 'ChannelName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'le_name_update',
+ ],
+ 'IotId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Hathoyxglj9jpYPyw3WN0******',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"029BC40B-8353-48B3-94C3-7ABF296F0AE5\\",\\n \\"Success\\": true,\\n \\"DeviceChannelList\\": [\\n {\\n \\"ChannelId\\": \\"BE0BD49EF5EF4D119D09CC1B25******\\",\\n \\"ChannelName\\": \\"le_name_update\\",\\n \\"IotId\\": \\"Hathoyxglj9jpYPyw3WN0******\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<BatchGetEdgeInstanceDeviceChannelResponse>\\r\\n <RequestId>029BC40B-8353-48B3-94C3-7ABF296F0AE5</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n <DeviceChannelList>\\r\\n <DeviceChannel>\\r\\n <IotId>Hathoyxglj9jpYPyw3WN0******</IotId>\\r\\n <ChannelName>le_name_update</ChannelName>\\r\\n <ChannelId>BE0BD49EF5EF4D119D09CC1B25******</ChannelId>\\r\\n </DeviceChannel>\\r\\n </DeviceChannelList>\\r\\n</BatchGetEdgeInstanceDeviceChannelResponse>","errorExample":""}]',
+ 'title' => 'BatchGetEdgeInstanceDeviceChannel',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryEdgeInstanceDeviceByDriver' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '15',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '6GaTtvTj7vJhiS******',
+ ],
+ ],
+ [
+ 'name' => 'ChannelId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'BE0BD49EF5EF4D119D09CC1B25******',
+ ],
+ ],
+ [
+ 'name' => 'DriverId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '9c1ae7bd59f1469abbdccc9592******',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'C2AEE142-A9ED-46C5-9EA4-BF0817F0D556',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'CurrentPage' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '15',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'DeviceList' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'IotId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Hathoyxglj9jpYPyw3WN******',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"C2AEE142-A9ED-46C5-9EA4-BF0817F0D556\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 15,\\n \\"Total\\": 1,\\n \\"DeviceList\\": [\\n {\\n \\"IotId\\": \\"Hathoyxglj9jpYPyw3WN******\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryEdgeInstanceDeviceByDriverResponse>\\r\\n <RequestId>C2AEE142-A9ED-46C5-9EA4-BF0817F0D556</RequestId>\\r\\n <Data>\\r\\n <PageSize>15</PageSize>\\r\\n <CurrentPage>1</CurrentPage>\\r\\n <Total>1</Total>\\r\\n <DeviceList>\\r\\n <Device>\\r\\n <IotId>Hathoyxglj9jpYPyw3WN******</IotId>\\r\\n </Device>\\r\\n </DeviceList>\\r\\n </Data>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</QueryEdgeInstanceDeviceByDriverResponse>","errorExample":""}]',
+ 'title' => 'QueryEdgeInstanceDeviceByDriver',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchGetEdgeInstanceDeviceDriver' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '6GaTtvTj7vJhiS******',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'IotIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'Hathoyxglj9jpYPyw3WN******',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ 'maxItems' => 21,
+ 'required' => true,
+ 'type' => 'array',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'Success',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'request parameter error',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => 'E8D82F7A-0F84-4BD3-AE8A-5444A5B42800',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ 'DeviceDriverList' => [
+ 'description' => '',
+ 'items' => [
+ 'properties' => [
+ 'DriverId' => [
+ 'description' => '',
+ 'example' => '9c1ae7bd59f1469abbdccc9592******',
+ 'type' => 'string',
+ ],
+ 'IotId' => [
+ 'description' => '',
+ 'example' => 'Hathoyxglj9jpYPyw3WN******',
+ 'type' => 'string',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ 'type' => 'array',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"E8D82F7A-0F84-4BD3-AE8A-5444A5B42800\\",\\n \\"Success\\": true,\\n \\"DeviceDriverList\\": [\\n {\\n \\"DriverId\\": \\"9c1ae7bd59f1469abbdccc9592******\\",\\n \\"IotId\\": \\"Hathoyxglj9jpYPyw3WN******\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<BatchGetEdgeInstanceDeviceDriverResponse>\\r\\n <RequestId>E8D82F7A-0F84-4BD3-AE8A-5444A5B42800</RequestId>\\r\\n <DeviceDriverList>\\r\\n <DeviceDriver>\\r\\n <IotId>Hathoyxglj9jpYPyw3WN******</IotId>\\r\\n <DriverId>9c1ae7bd59f1469abbdccc9592******</DriverId>\\r\\n </DeviceDriver>\\r\\n </DeviceDriverList>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</BatchGetEdgeInstanceDeviceDriverResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'BatchGetEdgeInstanceDeviceDriver',
+ ],
+ 'BatchGetDeviceBindStatus' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'IotIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'sjI0Sd124XFYyjBYMiYO******',
+ ],
+ 'required' => true,
+ 'example' => 'sjI0Sd124XFYyjBYMiYO******',
+ 'maxItems' => 21,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'B1DF865D-2474-4CD5-9B7E-59B06D204CBF',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'BindStatus' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'InstanceId' => [
+ 'description' => '实例ID。',
+ 'type' => 'string',
+ 'example' => 'iot-v64********',
+ ],
+ 'IotId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'sjI0Sd124XFYyjBYMiYO******',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"B1DF865D-2474-4CD5-9B7E-59B06D204CBF\\",\\n \\"Success\\": true,\\n \\"Data\\": [\\n {\\n \\"BindStatus\\": 1,\\n \\"InstanceId\\": \\"iot-v64********\\",\\n \\"IotId\\": \\"sjI0Sd124XFYyjBYMiYO******\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<BatchGetDeviceBindStatusResponse>\\r\\n <RequestId>B1DF865D-2474-4CD5-9B7E-59B06D204CBF</RequestId>\\r\\n <Data>\\r\\n <DeviceStatus>\\r\\n <IotId>sjI0Sd124XFYyjBYMiYO******</IotId>\\r\\n <BindStatus>0</BindStatus>\\r\\n </DeviceStatus>\\r\\n <DeviceStatus>\\r\\n <IotId>BXPV9Ks3bxwM9fDl9Ck0******</IotId>\\r\\n <BindStatus>1</BindStatus>\\r\\n </DeviceStatus>\\r\\n </Data>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</BatchGetDeviceBindStatusResponse>","errorExample":""}]',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ReplaceEdgeInstanceGateway' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'G4TGWGYwpo8zwr******',
+ ],
+ ],
+ [
+ 'name' => 'CurrentGatewayId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'oTCJomvT95WPyPPQ5sje******',
+ ],
+ ],
+ [
+ 'name' => 'NewGatewayId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '65SkFyhZcU5d3PO2Ri13******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '10E5C856-E0A1-4468-BE01-E540A8BA8819',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"10E5C856-E0A1-4468-BE01-E540A8BA8819\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ReplaceEdgeInstanceGatewayResponse>\\r\\n <RequestId>10E5C856-E0A1-4468-BE01-E540A8BA8819</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</ReplaceEdgeInstanceGatewayResponse>","errorExample":""}]',
+ 'title' => 'ReplaceEdgeInstanceGateway',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ReleaseEdgeDriverVersion' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'DriverId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'fec565038d7544978d9aed5c1a******',
+ ],
+ ],
+ [
+ 'name' => 'DriverVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '1.2.0',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '3E56BFDF-3F00-495F-89A1-F891930DDB51',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"3E56BFDF-3F00-495F-89A1-F891930DDB51\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ReleaseEdgeDriverVersionResponse>\\r\\n <RequestId>3E56BFDF-3F00-495F-89A1-F891930DDB51</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</ReleaseEdgeDriverVersionResponse>","errorExample":""}]',
+ 'title' => 'ReleaseEdgeDriverVersion',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BindRoleToEdgeInstance' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'F3APY0tPLhmgGtx0****',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'RoleArn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'acs:ram::176********:role/iotedgerole',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'RoleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'IoTEdgeRole',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'Success',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'request parameter error',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => '3DE428F8-22AF-4B37-8FEC-E64CFBE4A125',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"3DE428F8-22AF-4B37-8FEC-E64CFBE4A125\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BindRoleToEdgeInstanceResponse>\\r\\n <RequestId>3DE428F8-22AF-4B37-8FEC-E64CFBE4A125</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</BindRoleToEdgeInstanceResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'BindRoleToEdgeInstance',
+ ],
+ 'UnbindRoleFromEdgeInstance' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'BlYJyXZpLBtkmR******',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'Success',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'request parameter error',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => '270097AC-FFC3-4D2F-B48D-384BA1EA9962',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"270097AC-FFC3-4D2F-B48D-384BA1EA9962\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UnbindRoleFromEdgeInstanceResponse>\\n <RequestId>270097AC-FFC3-4D2F-B48D-384BA1EA9962</RequestId>\\n <Code>Success</Code>\\n <Success>true</Success>\\n</UnbindRoleFromEdgeInstanceResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'UnbindRoleFromEdgeInstance',
+ ],
+ 'BindSceneRuleToEdgeInstance' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'llL44UVXUqb9m5******',
+ ],
+ ],
+ [
+ 'name' => 'RuleId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'f041397879ad4d89822811d741******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'C9D9C91B-1B3B-4D84-AE58-68E7BAA909EK',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"RequestId\\": \\"C9D9C91B-1B3B-4D84-AE58-68E7BAA909EK\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BindSceneRuleToEdgeInstanceResponse>\\r\\n <RequestId>C9D9C91B-1B3B-4D84-AE58-68E7BAA909EK</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</BindSceneRuleToEdgeInstanceResponse>","errorExample":""}]',
+ 'title' => 'BindSceneRuleToEdgeInstance',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UnbindSceneRuleFromEdgeInstance' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'llL44UVXUqb9m5******',
+ ],
+ ],
+ [
+ 'name' => 'RuleId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'f041397879ad4d89822811d741******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'C9D9C91B-1B3B-4D84-AE58-68E7BAA909EK',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"C9D9C91B-1B3B-4D84-AE58-68E7BAA909EK\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UnbindSceneRuleFromEdgeInstanceResponse>\\r\\n <RequestId>C9D9C91B-1B3B-4D84-AE58-68E7BAA909EK</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</UnbindSceneRuleFromEdgeInstanceResponse>","errorExample":""}]',
+ 'title' => 'UnbindSceneRuleFromEdgeInstance',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryEdgeInstanceSceneRule' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'llL44UVXUqb9m5******',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'D4C3331B-0FA8-4A05-AFE2-54F698EDEAF7',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'CurrentPage' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'RuleList' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'GmtCreate' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1582004185000',
+ ],
+ 'IsExisted' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'RuleName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'RuleId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'f041397879ad4d89822811d741******',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"D4C3331B-0FA8-4A05-AFE2-54F698EDEAF7\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"Total\\": 1,\\n \\"RuleList\\": [\\n {\\n \\"Status\\": 1,\\n \\"GmtCreate\\": 1582004185000,\\n \\"IsExisted\\": 1,\\n \\"RuleName\\": \\"test\\",\\n \\"RuleId\\": \\"f041397879ad4d89822811d741******\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryEdgeInstanceSceneRuleResponse>\\r\\n <RequestId>D4C3331B-0FA8-4A05-AFE2-54F698EDEAF7</RequestId>\\r\\n <Data>\\r\\n <RuleList>\\r\\n <Rule>\\r\\n <GmtCreate>1582004185000</GmtCreate>\\r\\n <RuleId>f041397879ad4d89822811d741******</RuleId>\\r\\n <Status>1</Status>\\r\\n <RuleName>test</RuleName>\\r\\n </Rule>\\r\\n </RuleList>\\r\\n <PageSize>10</PageSize>\\r\\n <CurrentPage>1</CurrentPage>\\r\\n <Total>1</Total>\\r\\n </Data>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</QueryEdgeInstanceSceneRuleResponse>","errorExample":""}]',
+ 'title' => 'QueryEdgeInstanceSceneRule',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'EnableDeviceTunnel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1Wmy******',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'LEGatewayAuto_B3XM******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '577F07AF-7EFE-4B98-AEA2-634ED864BA01',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"577F07AF-7EFE-4B98-AEA2-634ED864BA01\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<EnableDeviceTunnelResponse>\\r\\n <RequestId>577F07AF-7EFE-4B98-AEA2-634ED864BA01</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</EnableDeviceTunnelResponse>","errorExample":""}]',
+ 'title' => 'EnableDeviceTunnel',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetDeviceTunnelStatus' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1kqtIX****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'LEGatewayAuto_B3XM******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'online',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '7CCFF08F-34D1-4FBD-ACA9-22D9364EA5A4',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"Data\\": \\"online\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"7CCFF08F-34D1-4FBD-ACA9-22D9364EA5A4\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<GetDeviceTunnelStatusResponse>\\r\\n <RequestId>7CCFF08F-34D1-4FBD-ACA9-22D9364EA5A4</RequestId>\\r\\n <Data>online</Data>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</GetDeviceTunnelStatusResponse>","errorExample":""}]',
+ 'title' => 'GetDeviceTunnelStatus',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DisableDeviceTunnel' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1Wmy******',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'LEGatewayAuto_B3XM******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '73671995-9588-406B-9C1E-FC38450A2AA1',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"73671995-9588-406B-9C1E-FC38450A2AA1\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DisableDeviceTunnelResponse>\\r\\n <RequestId>73671995-9588-406B-9C1E-FC38450A2AA1</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</DisableDeviceTunnelResponse>","errorExample":""}]',
+ 'title' => 'DisableDeviceTunnel',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetDeviceTunnelShareStatus' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'a1Wmy******',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'LEGatewayAuto_B3XM******',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'Success',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => 'ACC1D51C-1A58-440E-92A7-71AB61C6595A',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'request parameter error',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'properties' => [
+ 'ShareId' => [
+ 'description' => '',
+ 'example' => '18f72f95cad34ca3aeabeeefcb******',
+ 'type' => 'string',
+ ],
+ 'Password' => [
+ 'description' => '',
+ 'example' => '848bbfa0e9a31e579502869920b4d4c********',
+ 'type' => 'string',
+ ],
+ 'GmtOpened' => [
+ 'description' => '',
+ 'example' => '1617941371000',
+ 'format' => 'int64',
+ 'type' => 'integer',
+ ],
+ 'IsOpen' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"RequestId\\": \\"ACC1D51C-1A58-440E-92A7-71AB61C6595A\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ShareId\\": \\"18f72f95cad34ca3aeabeeefcb******\\",\\n \\"Password\\": \\"848bbfa0e9a31e579502869920b4d4c********\\",\\n \\"GmtOpened\\": 1617941371000,\\n \\"IsOpen\\": true\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetDeviceTunnelShareStatusResponse>\\r\\n <RequestId>ACC1D51C-1A58-440E-92A7-71AB61C6595A</RequestId>\\r\\n <Data>\\r\\n <GmtOpened>1617941371000</GmtOpened>\\r\\n <ShareId>18f72f95cad34ca3aeabeeefcb******</ShareId>\\r\\n <Password>848bbfa0e9a31e579502869920b4d4c********</Password>\\r\\n <IsOpen>true</IsOpen>\\r\\n </Data>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</GetDeviceTunnelShareStatusResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'GetDeviceTunnelShareStatus',
+ ],
+ 'EnableDeviceTunnelShare' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1Wmy******',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'LEGatewayAuto_B3XM******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '3DB31A1A-BD83-4155-AD2B-56AD041E372C',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"RequestId\\": \\"3DB31A1A-BD83-4155-AD2B-56AD041E372C\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<EnableDeviceTunnelShareResponse>\\r\\n <RequestId>3DB31A1A-BD83-4155-AD2B-56AD041E372C</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</EnableDeviceTunnelShareResponse>","errorExample":""}]',
+ 'title' => 'EnableDeviceTunnelShare',
+ ],
+ 'DisableDeviceTunnelShare' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1Wmy******',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'LEGatewayAuto_B3XM******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '35023CAB-CBED-4A2E-92DF-201C72850B50',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"RequestId\\": \\"35023CAB-CBED-4A2E-92DF-201C72850B50\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DisableDeviceTunnelShareResponse>\\r\\n <RequestId>35023CAB-CBED-4A2E-92DF-201C72850B50</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</DisableDeviceTunnelShareResponse>","errorExample":""}]',
+ 'title' => 'DisableDeviceTunnelShare',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'RefreshDeviceTunnelSharePassword' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'a1Wmy******',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'LEGatewayAuto_B3XM******',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'Success',
+ 'type' => 'string',
+ ],
+ 'Password' => [
+ 'description' => '',
+ 'example' => '5f5c96d7e792af75da33a81dc87982ea********',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'request parameter error',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => '46AF6619-EFF3-4B77-A90B-B9EAA0C6D1AF',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"Password\\": \\"5f5c96d7e792af75da33a81dc87982ea********\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"46AF6619-EFF3-4B77-A90B-B9EAA0C6D1AF\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<RefreshDeviceTunnelSharePasswordResponse>\\r\\n <RequestId>46AF6619-EFF3-4B77-A90B-B9EAA0C6D1AF</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n <Password>5f5c96d7e792af75da33a81dc87982ea********</Password>\\r\\n</RefreshDeviceTunnelSharePasswordResponse>","errorExample":""}]',
+ 'title' => 'RefreshDeviceTunnelSharePassword',
+ ],
+ 'CreateEdgeInstanceMessageRouting' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'nF9oXo7kLRWQ********',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'le_lite2',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'TopicFilter',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'all',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'device',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'SourceData',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '#',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'TargetType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'function',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'TargetData',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '58c46749ac934db3925fe5********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'TargetIotHubQos',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '0',
+ 'format' => 'int32',
+ 'required' => false,
+ 'type' => 'integer',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'Success',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'request parameter error',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => 'AC786033-00C5-4FD6-8435-F2807740D9FA',
+ 'type' => 'string',
+ ],
+ 'RouteId' => [
+ 'description' => '',
+ 'example' => '123456',
+ 'format' => 'int64',
+ 'type' => 'integer',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"AC786033-00C5-4FD6-8435-F2807740D9FA\\",\\n \\"RouteId\\": 123456,\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateEdgeInstanceMessageRoutingResponse>\\r\\n <RequestId>BBE0E0C7-913A-47B8-A255-F2C6038B5FD8</RequestId>\\r\\n <RouteId>123456</RouteId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</CreateEdgeInstanceMessageRoutingResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'CreateEdgeInstanceMessageRouting',
+ ],
+ 'DeleteEdgeInstanceMessageRouting' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '5zvK1COK1gtr********',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'RouteId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '123456',
+ 'format' => 'int64',
+ 'maximum' => '9223372036854775807',
+ 'minimum' => '0',
+ 'required' => true,
+ 'type' => 'integer',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'Success',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'request parameter error',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => 'E252BC84-EF9A-4F0F-8E73-ADCF9CA3B722',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"E252BC84-EF9A-4F0F-8E73-ADCF9CA3B722\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteEdgeInstanceMessageRoutingResponse>\\r\\n <code>Success</code>\\r\\n <requestId>E252BC84-EF9A-4F0F-8E73-ADCF9CA3B722</requestId>\\r\\n <success>true</success>\\r\\n</DeleteEdgeInstanceMessageRoutingResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'DeleteEdgeInstanceMessageRouting',
+ ],
+ 'UpdateEdgeInstanceMessageRouting' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'nF9oXo7kLRWQ********',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'RouteId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '123456',
+ 'format' => 'int64',
+ 'maximum' => '9223372036854775807',
+ 'minimum' => '0',
+ 'required' => true,
+ 'type' => 'integer',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'le_lite1',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'TopicFilter',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'all',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'device',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'SourceData',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '#',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'TargetType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'function',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'TargetData',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '58c46749ac934db3925fe5********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'TargetIotHubQos',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '1',
+ 'format' => 'int32',
+ 'required' => false,
+ 'type' => 'integer',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'Success',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => 'request parameter error',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => 'BBE0E0C7-913A-47B8-A255-F2C6038B5FD8',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"BBE0E0C7-913A-47B8-A255-F2C6038B5FD8\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateEdgeInstanceMessageRoutingResponse>\\r\\n <RequestId>BBE0E0C7-913A-47B8-A255-F2C6038B5FD8</RequestId>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</UpdateEdgeInstanceMessageRoutingResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'UpdateEdgeInstanceMessageRouting',
+ ],
+ 'GetEdgeInstanceMessageRouting' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '8jKxIuMVT9rX********',
+ ],
+ ],
+ [
+ 'name' => 'RouteId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '9223372036854775807',
+ 'minimum' => '0',
+ 'example' => '123456',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '8A248DEC-887C-4A37-8DE5-E128FFA3698D',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'GmtCreateTimestamp' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1590407699000',
+ ],
+ 'TopicFilter' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'all',
+ ],
+ 'GmtModifiedTimestamp' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1590407699000',
+ ],
+ 'TargetData' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '58c46749ac934db3925fe5********',
+ ],
+ 'GmtCreate' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2020-05-25 19:54:59',
+ ],
+ 'SourceType' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'device',
+ ],
+ 'GmtModified' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2020-05-25 19:54:59',
+ ],
+ 'Name' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'sample',
+ ],
+ 'SourceData' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '#',
+ ],
+ 'TargetType' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'IotHub',
+ ],
+ 'RouteContext' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'TargetApplicationName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'le_object_detector',
+ ],
+ 'SourceApplicationName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'le_object_detector',
+ ],
+ 'TargetFcFunctionName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'lightSensorDataFilter',
+ ],
+ 'SourceFcFunctionName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'object_detector_app',
+ ],
+ 'TargetFcServiceName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'EdgeFC',
+ ],
+ 'SourceFcServiceName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'EdgeFC',
+ ],
+ 'Qos' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"8A248DEC-887C-4A37-8DE5-E128FFA3698D\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"GmtCreateTimestamp\\": 1590407699000,\\n \\"TopicFilter\\": \\"all\\",\\n \\"GmtModifiedTimestamp\\": 1590407699000,\\n \\"TargetData\\": \\"58c46749ac934db3925fe5********\\",\\n \\"GmtCreate\\": \\"2020-05-25 19:54:59\\",\\n \\"SourceType\\": \\"device\\",\\n \\"GmtModified\\": \\"2020-05-25 19:54:59\\",\\n \\"Name\\": \\"sample\\",\\n \\"SourceData\\": \\"#\\",\\n \\"TargetType\\": \\"IotHub\\",\\n \\"RouteContext\\": {\\n \\"TargetApplicationName\\": \\"le_object_detector\\",\\n \\"SourceApplicationName\\": \\"le_object_detector\\",\\n \\"TargetFcFunctionName\\": \\"lightSensorDataFilter\\",\\n \\"SourceFcFunctionName\\": \\"object_detector_app\\",\\n \\"TargetFcServiceName\\": \\"EdgeFC\\",\\n \\"SourceFcServiceName\\": \\"EdgeFC\\",\\n \\"Qos\\": \\"1\\"\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetEdgeInstanceMessageRoutingResponse>\\r\\n <RequestId>8A248DEC-887C-4A37-8DE5-E128FFA3698D</RequestId>\\r\\n <Data>\\r\\n <TargetData/>\\r\\n <TopicFilter>all</TopicFilter>\\r\\n <GmtCreate>2020-05-25 19:54:59</GmtCreate>\\r\\n <GmtCreateTimestamp>1590407699000</GmtCreateTimestamp>\\r\\n <SourceType>device</SourceType>\\r\\n <TargetType>IotHub</TargetType>\\r\\n <GmtModified>2020-05-25 19:54:59</GmtModified>\\r\\n <RouteId>170101</RouteId>\\r\\n <GmtModifiedTimestamp>1590407699000</GmtModifiedTimestamp>\\r\\n <Name>sample</Name>\\r\\n <SourceData>#</SourceData>\\r\\n <RouteContext>\\r\\n <Qos>0</Qos>\\r\\n </RouteContext>\\r\\n </Data>\\r\\n <Code>Success</Code>\\r\\n <Success>true</Success>\\r\\n</GetEdgeInstanceMessageRoutingResponse>","errorExample":""}]',
+ 'title' => 'GetEdgeInstanceMessageRouting',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryEdgeInstanceMessageRouting' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '100000',
+ 'minimum' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'type' => 'boolean',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CurrentPage' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ 'PageSize' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ 'Total' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ 'MessageRouteList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'MessageRoute' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'GmtCreateTimestamp' => [
+ 'type' => 'integer',
+ 'format' => 'int64',
+ ],
+ 'TopicFilter' => [
+ 'type' => 'string',
+ ],
+ 'GmtModifiedTimestamp' => [
+ 'type' => 'integer',
+ 'format' => 'int64',
+ ],
+ 'TargetData' => [
+ 'type' => 'string',
+ ],
+ 'GmtCreate' => [
+ 'type' => 'string',
+ ],
+ 'SourceType' => [
+ 'type' => 'string',
+ ],
+ 'GmtModified' => [
+ 'type' => 'string',
+ ],
+ 'Name' => [
+ 'type' => 'string',
+ ],
+ 'RouteId' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ 'SourceData' => [
+ 'type' => 'string',
+ ],
+ 'TargetType' => [
+ 'type' => 'string',
+ ],
+ 'RouteContext' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TargetApplicationName' => [
+ 'type' => 'string',
+ ],
+ 'SourceApplicationName' => [
+ 'type' => 'string',
+ ],
+ 'TargetFcFunctionName' => [
+ 'type' => 'string',
+ ],
+ 'SourceFcFunctionName' => [
+ 'type' => 'string',
+ ],
+ 'TargetFcServiceName' => [
+ 'type' => 'string',
+ ],
+ 'SourceFcServiceName' => [
+ 'type' => 'string',
+ ],
+ 'Qos' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => null,
+ ],
+ 'BatchBindProductsIntoProject' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProjectId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a123********',
+ ],
+ ],
+ [
+ 'name' => 'ProductKeys',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 200 => [
+ [
+ 'errorCode' => 'IoT.Common.NullParameter',
+ 'errorMessage' => 'Parameter cannot be empty.',
+ ],
+ ],
+ 400 => [
+ [
+ 'errorCode' => 'Studio.Product.BindFailed',
+ 'errorMessage' => 'bind failed',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Data\\": true,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BatchBindProductsIntoProjectResponse>\\n\\t<RequestId>AF4C862A-233A-43CA-A4BD-AB43FFD25A87</RequestId>\\n\\t<Data>true</Data>\\n\\t<Success>true</Success>\\n </BatchBindProductsIntoProjectResponse>","errorExample":""}]',
+ 'title' => 'BatchBindProductsIntoProject',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchUnbindProjectProducts' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'ProjectId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'a123********',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'ProductKeys',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'a1BwAGV****',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ 'maxItems' => 10,
+ 'required' => true,
+ 'type' => 'array',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'iot.system.SystemException',
+ 'type' => 'string',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => '',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 200 => [
+ [
+ 'errorCode' => 'IoT.Common.NullParameter',
+ 'errorMessage' => 'Parameter cannot be empty.',
+ ],
+ ],
+ 400 => [
+ [
+ 'errorCode' => 'Studio.Product.UnbindFailed',
+ 'errorMessage' => 'unbind failed',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Data\\": true,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BatchUnbindProjectProductsResponse>\\r\\n\\t<RequestId>E0600442-A846-4D15-92B8-8B0B9FF7A801</RequestId>\\r\\n\\t<Data>true</Data>\\r\\n\\t<Success>true</Success>\\r\\n</BatchUnbindProjectProductsResponse>\\r\\n","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'BatchUnbindProjectProducts',
+ ],
+ 'BatchBindDevicesIntoProject' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProjectId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a12******',
+ ],
+ ],
+ [
+ 'name' => 'Devices',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ 'DeviceName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Ee2******',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 200 => [
+ [
+ 'errorCode' => 'IoT.Common.NullParameter',
+ 'errorMessage' => 'Parameter cannot be empty.',
+ ],
+ ],
+ 400 => [
+ [
+ 'errorCode' => 'Studio.Device.BatchAddDevicesToProjectFailed',
+ 'errorMessage' => 'batch add devices to project failed',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Data\\": true,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BatchBindDevicesIntoProjectResponse>\\r\\n\\t<RequestId>3737EE71-7FB9-418E-9B29-929F32CFF314</RequestId>\\r\\n\\t<Data>true</Data>\\r\\n\\t<Success>true</Success>\\r\\n</BatchBindDevicesIntoProjectResponse>\\t\\r\\n","errorExample":""}]',
+ 'title' => 'BatchBindDevicesIntoProject',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BatchUnbindProjectDevices' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'ProjectId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a12******',
+ ],
+ ],
+ [
+ 'name' => 'Devices',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProductKey' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ 'DeviceName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Ee2******',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 200 => [
+ [
+ 'errorCode' => 'IoT.Common.NullParameter',
+ 'errorMessage' => 'Parameter cannot be empty.',
+ ],
+ ],
+ 400 => [
+ [
+ 'errorCode' => 'Studio.Device.BatchRemoveDevicesFromProjectFailed',
+ 'errorMessage' => 'batch remove devices from project failed',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Data\\": true,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BatchUnbindProjectDevicesResponse>\\r\\n\\t<RequestId>D87124B4-8567-4E86-9F39-35F9C3668A3B</RequestId>\\r\\n\\t<Data>true</Data>\\r\\n\\t<Success>true</Success>\\r\\n</BatchUnbindProjectDevicesResponse>","errorExample":""}]',
+ 'title' => 'BatchUnbindProjectDevices',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryStudioProjectList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Name',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test1',
+ ],
+ ],
+ [
+ 'name' => 'PageNo',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '50',
+ 'minimum' => '1',
+ 'example' => '20',
+ 'default' => '20',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'PageNo' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'TotalPage' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'PageSize' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'ProjectInfo' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'GmtCreate' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1611819839000',
+ ],
+ 'Description' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'This is a test project.',
+ ],
+ 'Name' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test1',
+ ],
+ 'GmtModified' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1611819860000',
+ ],
+ 'ProjectId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'a123********',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 200 => [
+ [
+ 'errorCode' => 'IoT.Common.NullParameter',
+ 'errorMessage' => 'Parameter cannot be empty.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageNo\\": 1,\\n \\"TotalPage\\": 10,\\n \\"PageSize\\": 20,\\n \\"Total\\": 200,\\n \\"List\\": {\\n \\"ProjectInfo\\": [\\n {\\n \\"GmtCreate\\": 1611819839000,\\n \\"Description\\": \\"This is a test project.\\",\\n \\"Name\\": \\"test1\\",\\n \\"GmtModified\\": 1611819860000,\\n \\"ProjectId\\": \\"a123********\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryStudioProjectListResponse>\\n <RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n <Data>\\n <TotalPage>10</TotalPage>\\n <PageSize>20</PageSize>\\n <Total>200</Total>\\n <PageNo>1</PageNo>\\n <List>\\n <ProjectInfo>\\n <GmtCreate>1611819839000</GmtCreate>\\n <Description>This is a test project.</Description>\\n <ProjectId>a123********</ProjectId>\\n <GmtModified>1611819860000</GmtModified>\\n <Name>test1</Name>\\n </ProjectInfo>\\n </List>\\n </Data>\\n <Success>true</Success>\\n</QueryStudioProjectListResponse>","errorExample":""}]',
+ 'title' => 'QueryStudioProjectList',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'SetStudioProjectCooperation' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '1',
+ 'enum' => [
+ '1',
+ '0',
+ ],
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'request parameter error',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 200 => [
+ [
+ 'errorCode' => 'IoT.Common.NullParameter',
+ 'errorMessage' => 'Parameter cannot be empty.',
+ ],
+ [
+ 'errorCode' => 'Studio.Project.FeatureNotSupport',
+ 'errorMessage' => 'The feature is not supported by the current account.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Data\\": true,\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<SetStudioProjectCooperationResponse>\\n <RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n <Data>true</Data>\\n <Success>true</Success>\\n</SetStudioProjectCooperationResponse>","errorExample":""}]',
+ 'title' => 'SetStudioProjectCooperation',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryStudioAppList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ProjectId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a123********',
+ ],
+ ],
+ [
+ 'name' => 'PageNo',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '2',
+ 'default' => '15',
+ ],
+ ],
+ [
+ 'name' => 'FuzzyName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test1',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'Types',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'example' => '["webApp", "mobileApp"]',
+ 'maxItems' => 9,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'PageNo' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'TotalPage' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'PageSize' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'AppInfo' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'webApp',
+ ],
+ 'AppSecret' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'a605*******',
+ ],
+ 'AppKey' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '322******',
+ ],
+ 'Description' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'This is a test.',
+ ],
+ 'AppId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'a123********',
+ ],
+ 'ProjectId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'a123********',
+ ],
+ 'GmtCreate' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2020-12-25 16:20:53',
+ ],
+ 'GmtRelease' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2021-04-15 19:11:32',
+ ],
+ 'GmtModified' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2021-04-10 15:06:23',
+ ],
+ 'Name' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 200 => [
+ [
+ 'errorCode' => 'IoT.Common.NullParameter',
+ 'errorMessage' => 'Parameter cannot be empty.',
+ ],
+ [
+ 'errorCode' => 'IoT.Common.ParamterError',
+ 'errorMessage' => 'The request parameter is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageNo\\": 1,\\n \\"TotalPage\\": 10,\\n \\"PageSize\\": 20,\\n \\"Total\\": 200,\\n \\"List\\": {\\n \\"AppInfo\\": [\\n {\\n \\"Type\\": \\"webApp\\",\\n \\"AppSecret\\": \\"a605*******\\",\\n \\"AppKey\\": \\"322******\\",\\n \\"Description\\": \\"This is a test.\\",\\n \\"AppId\\": \\"a123********\\",\\n \\"ProjectId\\": \\"a123********\\",\\n \\"GmtCreate\\": \\"2020-12-25 16:20:53\\",\\n \\"GmtRelease\\": \\"2021-04-15 19:11:32\\",\\n \\"GmtModified\\": \\"2021-04-10 15:06:23\\",\\n \\"Name\\": \\"test1\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryStudioAppListResponse>\\n <RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n <Data>\\n <TotalPage>10</TotalPage>\\n <PageSize>20</PageSize>\\n <Total>200</Total>\\n <PageNo>1</PageNo>\\n <List>\\n <AppInfo>\\n <GmtCreate>2020-12-25 16:20:53</GmtCreate>\\n <Type>webApp</Type>\\n <Description>This is a test.</Description>\\n <AppId>a123********</AppId>\\n <AppKey>322******</AppKey>\\n <GmtModified>2021-04-10 15:06:23</GmtModified>\\n <ProjectId>a123********</ProjectId>\\n <GmtRelease>2021-04-15 19:11:32</GmtRelease>\\n <AppSecret>a605*******</AppSecret>\\n <Name>test1</Name>\\n </AppInfo>\\n </List>\\n </Data>\\n <Success>true</Success>\\n</QueryStudioAppListResponse>","errorExample":""}]',
+ 'title' => 'QueryStudioAppList',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryStudioAppPageListOpen' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a12*******',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'IsRelease',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ 'default' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'PageNo',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '20',
+ 'default' => '50',
+ ],
+ ],
+ [
+ 'name' => 'ProjectId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a12******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'PageNo' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'TotalPage' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'PageInfo' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'GmtCreate' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2020-12-25T16:21Z',
+ ],
+ 'IsLoginPage' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Path' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '/page/44920',
+ ],
+ 'IsHidden' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'GmtModified' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2021-05-08T17:18Z',
+ ],
+ 'Name' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'test1',
+ ],
+ 'PageId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '44920',
+ ],
+ 'IsHome' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Id' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '49739',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 200 => [
+ [
+ 'errorCode' => 'IoT.Common.NullParameter',
+ 'errorMessage' => 'Parameter cannot be empty.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageNo\\": 1,\\n \\"TotalPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"Total\\": 1,\\n \\"List\\": {\\n \\"PageInfo\\": [\\n {\\n \\"GmtCreate\\": \\"2020-12-25T16:21Z\\",\\n \\"IsLoginPage\\": 1,\\n \\"Path\\": \\"/page/44920\\",\\n \\"IsHidden\\": 1,\\n \\"GmtModified\\": \\"2021-05-08T17:18Z\\",\\n \\"Name\\": \\"test1\\",\\n \\"PageId\\": \\"44920\\",\\n \\"IsHome\\": 1,\\n \\"Id\\": 49739\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryStudioAppPageListOpenResponse>\\n <RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n <Data>\\n <TotalPage>1</TotalPage>\\n <PageSize>10</PageSize>\\n <Total>10</Total>\\n <PageNo>1</PageNo>\\n <List>\\n <PageInfo>\\n <Path>/page/44920</Path>\\n <PageId>44920</PageId>\\n <IsHome>1</IsHome>\\n <IsHidden>1</IsHidden>\\n <GmtCreate>2020-12-25T16:21Z</GmtCreate>\\n <IsLoginPage>1</IsLoginPage>\\n <GmtModified>2021-05-08T17:18Z</GmtModified>\\n <Id>49739</Id>\\n <Name>test1</Name>\\n </PageInfo>\\n </List>\\n </Data>\\n <Success>true</Success>\\n</QueryStudioAppPageListOpenResponse>","errorExample":""}]',
+ 'title' => 'QueryStudioAppPageListOpen',
+ 'summary' => 'Invoke this API to obtain the list of application pages.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'QueryStudioAppDomainListOpen' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ProjectId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a12******',
+ ],
+ ],
+ [
+ 'name' => 'AppId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a12******',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'PageNo' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'TotalPage' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'Total' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'List' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DomainInfo' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Host' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'example.com',
+ ],
+ 'Protocol' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'https',
+ ],
+ 'AppId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'a12*******',
+ ],
+ 'ProjectId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'a123********',
+ ],
+ 'GmtCreate' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '1619598445000',
+ ],
+ 'IsBeian' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'YES',
+ ],
+ 'GmtModified' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '1619598445000',
+ ],
+ 'Id' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1548',
+ ],
+ 'TenantId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'C70B541046F64EAAB*********',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 200 => [
+ [
+ 'errorCode' => 'IoT.Common.NullParameter',
+ 'errorMessage' => 'Parameter cannot be empty.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageNo\\": 1,\\n \\"TotalPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"Total\\": 1,\\n \\"List\\": {\\n \\"DomainInfo\\": [\\n {\\n \\"Host\\": \\"example.com\\",\\n \\"Protocol\\": \\"https\\",\\n \\"AppId\\": \\"a12*******\\",\\n \\"ProjectId\\": \\"a123********\\",\\n \\"GmtCreate\\": \\"1619598445000\\",\\n \\"IsBeian\\": \\"YES\\",\\n \\"GmtModified\\": \\"1619598445000\\",\\n \\"Id\\": 1548,\\n \\"TenantId\\": \\"C70B541046F64EAAB*********\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":" <QueryStudioAppDomainListOpenResponse>\\n <RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n <Data>\\n <TotalPage>1</TotalPage>\\n <PageSize>10</PageSize>\\n <Total>1</Total>\\n <PageNo>1</PageNo>\\n <List>\\n <DomainInfo>\\n <GmtCreate>1619598445000</GmtCreate>\\n <TenantId>C70B541046F64EAAB*********</TenantId>\\n <AppId>a12*******</AppId>\\n <GmtModified>1619598445000</GmtModified>\\n <ProjectId>a123********</ProjectId>\\n <Host>example.com</Host>\\n <Id>1548</Id>\\n <Protocol>https</Protocol>\\n <IsBeian>YES</IsBeian>\\n </DomainInfo>\\n </List>\\n </Data>\\n <Success>true</Success>\\n</QueryStudioAppDomainListOpenResponse>","errorExample":""}]',
+ 'title' => 'QueryStudioAppDomainListOpen',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteStudioAppDomainOpen' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a12******',
+ ],
+ ],
+ [
+ 'name' => 'DomainId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'minimum' => '1',
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'ProjectId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a123*******',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 200 => [
+ [
+ 'errorCode' => 'Studio.App.NotExist',
+ 'errorMessage' => 'The application does not exist.',
+ ],
+ [
+ 'errorCode' => 'Studio.App.Domain.DomainNotExist',
+ 'errorMessage' => 'The domain does not exist.',
+ ],
+ [
+ 'errorCode' => 'Studio.App.Domain.DomainAuthFail',
+ 'errorMessage' => 'You are not authorized to manage the domain.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Data\\": true,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteStudioAppDomainOpenResponse> \\n <RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n <Data>true</Data>\\n <Success>true</Success>\\n</DeleteStudioAppDomainOpenResponse> ","errorExample":""}]',
+ 'title' => 'DeleteStudioAppDomainOpen',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateStudioAppDomainOpen' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a12*******',
+ ],
+ ],
+ [
+ 'name' => 'Host',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'www.aliyun.test.com',
+ ],
+ ],
+ [
+ 'name' => 'Protocol',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'https',
+ 'enum' => [
+ 'https',
+ 'http',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'ProjectId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a123******',
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Host' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'www.aliyun.test.com',
+ ],
+ 'Protocol' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'https',
+ ],
+ 'AppId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'a12******',
+ ],
+ 'ProjectId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'a12*******',
+ ],
+ 'IsBeian' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'YES',
+ ],
+ 'Id' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1573',
+ ],
+ 'TenantId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'C70B541046F64EAABE3*******',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 200 => [
+ [
+ 'errorCode' => 'Studio.App.Domain.DomainMaxNumLimit',
+ 'errorMessage' => 'The maximum number of domain is exceeded.',
+ ],
+ [
+ 'errorCode' => 'Studio.App.Domain.DomainAlreadyExist',
+ 'errorMessage' => 'The domain already exists.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Host\\": \\"www.aliyun.test.com\\",\\n \\"Protocol\\": \\"https\\",\\n \\"AppId\\": \\"a12******\\",\\n \\"ProjectId\\": \\"a12*******\\",\\n \\"IsBeian\\": \\"YES\\",\\n \\"Id\\": 1573,\\n \\"TenantId\\": \\"C70B541046F64EAABE3*******\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateStudioAppDomainOpenResponse> \\n <RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n <Data>\\n <TenantId>C70B541046F64EAABE3*******</TenantId>\\n <AppId>a12******</AppId>\\n <ProjectId>a12*******</ProjectId>\\n <Host>www.aliyun.test.com</Host>\\n <Id>1573</Id>\\n <Protocol>https</Protocol>\\n <IsBeian>YES</IsBeian>\\n </Data>\\n <Success>true</Success>\\n</CreateStudioAppDomainOpenResponse> ","errorExample":""}]',
+ 'title' => 'CreateStudioAppDomainOpen',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'SetupStudioAppAuthModeOpen' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ 'required' => false,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'AppId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'a12*****',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'AuthMode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'example' => '1',
+ 'format' => 'int32',
+ 'required' => true,
+ 'type' => 'integer',
+ 'enum' => [
+ '0',
+ '1',
+ '2',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'ProjectId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'example' => 'a123********',
+ 'required' => true,
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'example' => 'iot.system.SystemException',
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'example' => '',
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'example' => 'true',
+ 'type' => 'boolean',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'properties' => [
+ 'AuthMode' => [
+ 'description' => '',
+ 'example' => '1',
+ 'format' => 'int32',
+ 'type' => 'integer',
+ ],
+ 'TokenInfo' => [
+ 'description' => '',
+ 'properties' => [
+ 'Type' => [
+ 'description' => '',
+ 'example' => 'custom',
+ 'type' => 'string',
+ ],
+ 'IsEnable' => [
+ 'description' => '',
+ 'example' => 'YES',
+ 'type' => 'string',
+ ],
+ 'BizId' => [
+ 'description' => '',
+ 'example' => 'a12********',
+ 'type' => 'string',
+ ],
+ 'Token' => [
+ 'description' => '',
+ 'example' => '25bf576a6c6f**********',
+ 'type' => 'string',
+ ],
+ 'BizType' => [
+ 'description' => '',
+ 'example' => 'webApp',
+ 'type' => 'string',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"AuthMode\\": 1,\\n \\"TokenInfo\\": {\\n \\"Type\\": \\"custom\\",\\n \\"IsEnable\\": \\"YES\\",\\n \\"BizId\\": \\"a12********\\",\\n \\"Token\\": \\"25bf576a6c6f**********\\",\\n \\"BizType\\": \\"webApp\\"\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":" <SetupStudioAppAuthModeOpenResponse> \\n <RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n <Data>\\n <AuthMode>1</AuthMode>\\n <TokenInfo>\\n <IsEnable>YES</IsEnable>\\n <Type>custom</Type>\\n <Token>25bf576a6c6f**********</Token>\\n <BizType>webApp</BizType>\\n <BizId>a12********</BizId>\\n </TokenInfo>\\n </Data>\\n <Success>true</Success>\\n</SetupStudioAppAuthModeOpenResponse>","errorExample":""}]',
+ 'extraInfo' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'title' => 'SetupStudioAppAuthModeOpen',
+ ],
+ 'GetStudioAppTokenOpen' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'AppId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a12******',
+ ],
+ ],
+ [
+ 'name' => 'ProjectId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a123*******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'custom',
+ ],
+ 'IsEnable' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'YES',
+ ],
+ 'BizId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'a12*******',
+ ],
+ 'Token' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '25bf576a6c*******',
+ ],
+ 'BizType' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'webApp',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 200 => [
+ [
+ 'errorCode' => 'IoT.Common.NullParameter',
+ 'errorMessage' => 'Parameter cannot be empty.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Type\\": \\"custom\\",\\n \\"IsEnable\\": \\"YES\\",\\n \\"BizId\\": \\"a12*******\\",\\n \\"Token\\": \\"25bf576a6c*******\\",\\n \\"BizType\\": \\"webApp\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetStudioAppTokenOpenResponse> \\n <RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n <Data>\\n <IsEnable>YES</IsEnable>\\n <Type>custom</Type>\\n <Token>25bf576a6c*******</Token>\\n <BizType>webApp</BizType>\\n <BizId>a12*******</BizId>\\n </Data>\\n <Success>true</Success>\\n</GetStudioAppTokenOpenResponse> ","errorExample":""}]',
+ 'title' => 'GetStudioAppTokenOpen',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'RefreshStudioAppTokenOpen' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'AppId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a12******',
+ ],
+ ],
+ [
+ 'name' => 'ProjectId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a123*******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'custom',
+ ],
+ 'IsEnable' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'YES',
+ ],
+ 'BizId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'a12*******',
+ ],
+ 'Token' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'cf245ddebd******',
+ ],
+ 'BizType' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'webApp',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 200 => [
+ [
+ 'errorCode' => 'Studio.App.Token.AppHaveNoToken',
+ 'errorMessage' => 'The application does not have any token.',
+ ],
+ [
+ 'errorCode' => 'Studio.App.Token.AppTokenNotActive',
+ 'errorMessage' => 'The application token is not active.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Type\\": \\"custom\\",\\n \\"IsEnable\\": \\"YES\\",\\n \\"BizId\\": \\"a12*******\\",\\n \\"Token\\": \\"cf245ddebd******\\",\\n \\"BizType\\": \\"webApp\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<RefreshStudioAppTokenOpenResponse> \\n <RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n <Data>\\n <IsEnable>YES</IsEnable>\\n <Type>custom</Type>\\n <Token>cf245ddebd******</Token>\\n <BizType>webApp</BizType>\\n <BizId>a12*******</BizId>\\n </Data>\\n <Success>true</Success>\\n</RefreshStudioAppTokenOpenResponse> ","errorExample":""}]',
+ 'title' => 'RefreshStudioAppTokenOpen',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'PublishStudioApp' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot_instc_pu****_c*-v64********',
+ ],
+ ],
+ [
+ 'name' => 'AppId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a12*******',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'ProjectId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a123******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'iot.system.SystemException',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Data\\": true,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<PublishStudioAppResponse> \\n <RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>\\n <Data>true</Data>\\n <Success>true</Success>\\n</PublishStudioAppResponse> ","errorExample":""}]',
+ 'title' => 'PublishStudioApp',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'TestSwitch' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'type' => 'boolean',
+ ],
+ 'IotId' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.check.InvalidFormattedParameter',
+ 'errorMessage' => 'The parameter format is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.NullProductKey',
+ 'errorMessage' => 'The ProductKey parameter cannot be empty.',
+ ],
+ [
+ 'errorCode' => 'iot.device.NullDeviceName',
+ 'errorMessage' => 'The DeviceName parameter cannot be empty.',
+ ],
+ ],
+ ],
+ ],
+ 'CreateTopicConfig' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'EnableBroadcast',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'EnableProxySubscribe',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'Codec',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'Operation',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'TopicFullName',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'type' => 'string',
+ ],
+ 'Message' => [
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.message.broker.ParamCheckError',
+ 'errorMessage' => 'Param check error.',
+ ],
+ [
+ 'errorCode' => 'iot.message.broker.ProductCheckError',
+ 'errorMessage' => 'Product check error.',
+ ],
+ [
+ 'errorCode' => 'iot.message.broker.SystemError',
+ 'errorMessage' => 'System error.',
+ ],
+ [
+ 'errorCode' => 'iot.messagebroker.InvalidPubTopicFormat',
+ 'errorMessage' => 'The pub topic cannot contain wildcard character.',
+ ],
+ [
+ 'errorCode' => 'iot.messagebroker.InvalidOperationWithBroadcast',
+ 'errorMessage' => 'The operation must be sub when enable broadcast.',
+ ],
+ [
+ 'errorCode' => 'iot.messagebroker.InvalidTopicWithBroadcast',
+ 'errorMessage' => 'The topic cannot contain wildcard character when enable broadcast.',
+ ],
+ [
+ 'errorCode' => 'iot.messagebroker.InvalidOperationWithProxySubscribe',
+ 'errorMessage' => 'Operation must be sub or all when enable proxy subscribe.',
+ ],
+ [
+ 'errorCode' => 'iot.messagebroker.InvalidTopicWithProxySubscribe',
+ 'errorMessage' => 'Topic cannot contain wildcard character when enable proxy subscribe.',
+ ],
+ [
+ 'errorCode' => 'iot.messagebroker.InvalidTopicWithCodec',
+ 'errorMessage' => 'Topic cannot contain wildcard when enable codec.',
+ ],
+ [
+ 'errorCode' => 'iot.messagebroker.InvalidInstanceWithCodec',
+ 'errorMessage' => 'Only connect instance support codec.',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteTopicConfig' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'TopicFullName',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'type' => 'string',
+ ],
+ 'Message' => [
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.message.broker.ParamCheckError',
+ 'errorMessage' => 'Param check error.',
+ ],
+ [
+ 'errorCode' => 'iot.message.broker.ProductCheckError',
+ 'errorMessage' => 'Product check error.',
+ ],
+ [
+ 'errorCode' => 'iot.message.broker.SystemError',
+ 'errorMessage' => 'System error.',
+ ],
+ ],
+ ],
+ ],
+ 'QueryTopicConfig' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'type' => 'string',
+ ],
+ 'Message' => [
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'type' => 'boolean',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'TopicConfigInfo' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TopicFullName' => [
+ 'type' => 'string',
+ ],
+ 'Operation' => [
+ 'type' => 'string',
+ ],
+ 'ProductKey' => [
+ 'type' => 'string',
+ ],
+ 'Description' => [
+ 'type' => 'string',
+ ],
+ 'Codec' => [
+ 'type' => 'string',
+ ],
+ 'EnableBroadcast' => [
+ 'type' => 'boolean',
+ ],
+ 'EnableProxySubscribe' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.message.broker.ParamCheckError',
+ 'errorMessage' => 'Param check error.',
+ ],
+ [
+ 'errorCode' => 'iot.message.broker.ProductCheckError',
+ 'errorMessage' => 'Product check error.',
+ ],
+ [
+ 'errorCode' => 'iot.message.broker.SystemError',
+ 'errorMessage' => 'System error.',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteUserDefineTableDataByPrimaryKey' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'TableIdentifier',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'Conditions',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'type' => 'object',
+ 'required' => true,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.dap.insight.unknownException',
+ 'errorMessage' => 'unknown exception.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.requestParamError',
+ 'errorMessage' => 'request param error.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.dataStoreTableHasNotBeenInit',
+ 'errorMessage' => 'data store table has not been init.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.mustSetAtLeastOnePrimaryKey',
+ 'errorMessage' => 'Set at least one primary key.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'iot.dap.insight.bizExceptionNotSpecified',
+ 'errorMessage' => 'biz exception not specified.',
+ ],
+ ],
+ ],
+ ],
+ 'AddPowerStation' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'AlgorithmInstanceUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'PowerStationName',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'RatedPower',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'type' => 'string',
+ ],
+ 'Data' => [
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.dap.insight.unknownException',
+ 'errorMessage' => 'unknown exception.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.requestParamError',
+ 'errorMessage' => 'request param error.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.exceedSubscribeNumber',
+ 'errorMessage' => 'Exceed subscribe number.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'iot.dap.insight.bizExceptionNotSpecified',
+ 'errorMessage' => 'biz exception not specified.',
+ ],
+ ],
+ ],
+ ],
+ 'DeletePowerStation' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'AlgorithmInstanceUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'PowerStationUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'type' => 'string',
+ ],
+ 'Data' => [
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.dap.insight.unknownException',
+ 'errorMessage' => 'unknown exception.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.requestParamError',
+ 'errorMessage' => 'request param error.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'iot.dap.insight.bizExceptionNotSpecified',
+ 'errorMessage' => 'biz exception not specified.',
+ ],
+ ],
+ ],
+ ],
+ 'ListPowerStation' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'AlgorithmInstanceUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'PowerStationName',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'PageNo',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '999999999999',
+ 'minimum' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'type' => 'boolean',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'PageNo' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ 'PageSize' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ 'Total' => [
+ 'type' => 'integer',
+ 'format' => 'int64',
+ ],
+ 'DataList' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'PowerStationUid' => [
+ 'type' => 'string',
+ ],
+ 'RatedPower' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ 'AlgoInstanceUid' => [
+ 'type' => 'string',
+ ],
+ 'Description' => [
+ 'type' => 'string',
+ ],
+ 'Name' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.dap.insight.unknownException',
+ 'errorMessage' => 'unknown exception.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.requestParamError',
+ 'errorMessage' => 'request param error.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'iot.dap.insight.bizExceptionNotSpecified',
+ 'errorMessage' => 'biz exception not specified.',
+ ],
+ ],
+ ],
+ ],
+ 'ModifyPowerStation' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'AlgorithmInstanceUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'PowerStationUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'PowerStationName',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'RatedPower',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'type' => 'string',
+ ],
+ 'Data' => [
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.dap.insight.unknownException',
+ 'errorMessage' => 'unknown exception.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.requestParamError',
+ 'errorMessage' => 'request param error.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'iot.dap.insight.bizExceptionNotSpecified',
+ 'errorMessage' => 'biz exception not specified.',
+ ],
+ ],
+ ],
+ ],
+ 'StartPTDetection' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'PowerStationUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'FileName',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'PowerPlantsNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'Data',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'DataCollectionTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'AlgorithmInstanceUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'Sensitivity',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'type' => 'boolean',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'type' => 'string',
+ ],
+ 'InputData' => [
+ 'type' => 'string',
+ ],
+ 'Data' => [
+ 'type' => 'string',
+ ],
+ 'ErrMsg' => [
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.dap.insight.unknownException',
+ 'errorMessage' => 'unknown exception.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.requestParamError',
+ 'errorMessage' => 'request param error.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.datetimeNotMatch',
+ 'errorMessage' => 'The acquisition time does not match the data time.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.needDetectionData',
+ 'errorMessage' => 'Detection data is required.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.parsedDataError',
+ 'errorMessage' => 'Failed to parse data.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.frozen',
+ 'errorMessage' => 'The algorithm instance has been frozen. please renew.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'iot.dap.insight.bizExceptionNotSpecified',
+ 'errorMessage' => 'biz exception not specified.',
+ ],
+ ],
+ ],
+ ],
+ 'UpdateOTAJob' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'MaximumPerMinute',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '10000',
+ 'minimum' => '10',
+ ],
+ ],
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'UpgradeType',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'TimeoutInMinutes',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'TargetSelection',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'SrcVersionList',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ 'required' => false,
+ 'maxItems' => 30,
+ ],
+ ],
+ [
+ 'name' => 'Tags',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ 'Value' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ ],
+ 'required' => false,
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.ota.FirmwareNotFound',
+ 'errorMessage' => 'The specified firmware does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.StrategyNotFound',
+ 'errorMessage' => 'The specified strategy does not exist.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.noDynamicJob',
+ 'errorMessage' => 'Task is not dynamic.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.InvalidBaseSpeedPerMinute',
+ 'errorMessage' => 'Invalid baseSpeedPerMinute.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.InvalidIncrementFactor',
+ 'errorMessage' => 'Invalid incrementFactor.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.InvalidExponentialRateParameter',
+ 'errorMessage' => 'Invalid exponential rate parameter.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.InvalidMaximumPerMinute',
+ 'errorMessage' => 'Invalid MaximumPerMinute.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.InvalidUpgradeType',
+ 'errorMessage' => 'Invalid upgrade type.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.OperationForbidden',
+ 'errorMessage' => 'This operation is forbidden by the tenantId.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.InvalidTimeout',
+ 'errorMessage' => 'Parameter TimeoutInMinutes is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.InvalidStrategyType',
+ 'errorMessage' => 'Invalid strategy type.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.JobHasFinished',
+ 'errorMessage' => 'The job has finished.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.JobHasCanceled',
+ 'errorMessage' => 'The job has canceled.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.taskNotExist',
+ 'errorMessage' => 'Task is not existed.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.JobTagIsTooLong',
+ 'errorMessage' => 'The tags of job exceed the maximum number of characters.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.InstanceIdMisMatch',
+ 'errorMessage' => 'The instanceId is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.InvalidBaseRatePerMinute',
+ 'errorMessage' => 'Parameter BaseRatePerMinute is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.InvalidSrcVersionList',
+ 'errorMessage' => 'Parameter SrcVersionList does not support by group upgrade.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.EmptySrcVersionList',
+ 'errorMessage' => 'Parameter SrcVersionList is empty.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.InvalidConstantSpeedParameter',
+ 'errorMessage' => 'The parameter of constant speed is invalid.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.EmptyNumberOfNotifiedDevicesAndNumberOfSucceedDevices',
+ 'errorMessage' => 'Both of NumberOfNotifiedDevices and NumberOfSucceedDevices are empty.',
+ ],
+ [
+ 'errorCode' => 'iot.ota.InvalidNumberOfNotifiedDevicesOrNumberOfSucceedDevices',
+ 'errorMessage' => 'One of NumberOfNotifiedDevices and NumberOfSucceedDevices is invalid.',
+ ],
+ ],
+ ],
+ ],
+ 'QueryCustomTimelineTableStatus' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'TableName',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'type' => 'boolean',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ResultJson' => [
+ 'type' => 'string',
+ ],
+ 'PageNum' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ 'PageSize' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ 'Count' => [
+ 'type' => 'integer',
+ 'format' => 'int64',
+ ],
+ 'HasNext' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'iot.dap.insight.noAuthorization',
+ 'errorMessage' => 'no authorization.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.requestParamError',
+ 'errorMessage' => 'request param error.',
+ ],
+ [
+ 'errorCode' => 'iot.dap.insight.unknownException',
+ 'errorMessage' => 'System error. Please submit a ticket.',
+ ],
+ ],
+ ],
+ ],
+ 'CopyThingModelAsync' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'TargetProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'SourceModelVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'SourceProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'type' => 'string',
+ ],
+ 'ErrorMessage' => [
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Request.param.error',
+ 'errorMessage' => 'Request.param.error. %s.',
+ ],
+ [
+ 'errorCode' => 'Product.Key.Invalid',
+ 'errorMessage' => 'Product key is invalid.',
+ ],
+ [
+ 'errorCode' => 'Product.not.found',
+ 'errorMessage' => 'Product.not.found.',
+ ],
+ [
+ 'errorCode' => 'Distribute.thing.module.no.edit',
+ 'errorMessage' => 'Distribute.thing.module.no.edit.',
+ ],
+ [
+ 'errorCode' => 'Thing.Model.Get.Lock.Failed',
+ 'errorMessage' => 'The thing model get lock failed. Please try again later.',
+ ],
+ [
+ 'errorCode' => 'Product.authright.illegal',
+ 'errorMessage' => 'Product authRight illegal.',
+ ],
+ [
+ 'errorCode' => 'Thing.model.not.found',
+ 'errorMessage' => 'The thing model is not existed.',
+ ],
+ [
+ 'errorCode' => 'Server.error',
+ 'errorMessage' => 'Server error.',
+ ],
+ [
+ 'errorCode' => 'Thing.Model.Status.Not.Final',
+ 'errorMessage' => 'The thing model may be importing or copying or publishing. Please wait for the final status.',
+ ],
+ [
+ 'errorCode' => 'Product.has.published',
+ 'errorMessage' => 'Product has published.',
+ ],
+ [
+ 'errorCode' => 'Category.not.same',
+ 'errorMessage' => 'Category must be the same.',
+ ],
+ ],
+ ],
+ ],
+ 'GetThingModelStatusInner' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'InsId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ 'Message' => [
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'type' => 'string',
+ ],
+ 'LocalizedMsg' => [
+ 'type' => 'string',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RbacTenantId' => [
+ 'type' => 'string',
+ ],
+ 'Status' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ 'ProductKey' => [
+ 'type' => 'string',
+ ],
+ 'ModifiedTime' => [
+ 'type' => 'integer',
+ 'format' => 'int64',
+ ],
+ 'OutTime' => [
+ 'type' => 'integer',
+ 'format' => 'int64',
+ ],
+ 'InstanceId' => [
+ 'type' => 'string',
+ ],
+ 'Info' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Request.param.error',
+ 'errorMessage' => 'Request.param.error. %d.',
+ ],
+ [
+ 'errorCode' => 'Product.not.found',
+ 'errorMessage' => 'Product.not.found.',
+ ],
+ [
+ 'errorCode' => 'Product.Key.Invalid',
+ 'errorMessage' => 'Product key is invalid.',
+ ],
+ ],
+ ],
+ ],
+ 'PublishThingModelAsync' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'ThingModelVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ 'ErrorMessage' => [
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Product.Key.Invalid',
+ 'errorMessage' => 'Product key is invalid.',
+ ],
+ [
+ 'errorCode' => 'Product.not.found',
+ 'errorMessage' => 'Product.not.found.',
+ ],
+ [
+ 'errorCode' => 'Distribute.thing.module.no.edit',
+ 'errorMessage' => 'Distribute.thing.module.no.edit.',
+ ],
+ [
+ 'errorCode' => 'Thing.Model.Get.Lock.Failed',
+ 'errorMessage' => 'The thing model get lock failed. Please try again later.',
+ ],
+ [
+ 'errorCode' => 'Server.error',
+ 'errorMessage' => 'Server error.',
+ ],
+ [
+ 'errorCode' => 'Request.param.error',
+ 'errorMessage' => 'Request.param.error. %s.',
+ ],
+ [
+ 'errorCode' => 'Thing.Model.Version.Invalid',
+ 'errorMessage' => 'The thing model version is not valid.',
+ ],
+ [
+ 'errorCode' => 'Thing.Model.Status.Not.Final',
+ 'errorMessage' => 'The thing model may be importing or copying or publishing. Please wait for the final status.',
+ ],
+ [
+ 'errorCode' => 'Product.has.published',
+ 'errorMessage' => 'Product has published.',
+ ],
+ ],
+ ],
+ ],
+ 'PublishThingModelAsyncInner' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InsId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ 'Message' => [
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'type' => 'string',
+ ],
+ 'LocalizedMsg' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Request.param.error',
+ 'errorMessage' => 'Request.param.error. %d.',
+ ],
+ [
+ 'errorCode' => 'Product.Key.Invalid',
+ 'errorMessage' => 'Product key is invalid.',
+ ],
+ [
+ 'errorCode' => 'Product.not.found',
+ 'errorMessage' => 'Product.not.found.',
+ ],
+ [
+ 'errorCode' => 'Product.has.published',
+ 'errorMessage' => 'Product has published.',
+ ],
+ [
+ 'errorCode' => 'Thing.Model.Version.Invalid',
+ 'errorMessage' => 'The thing model version is not valid.',
+ ],
+ [
+ 'errorCode' => 'Thing.Model.Get.Lock.Failed',
+ 'errorMessage' => 'The thing model get lock failed. Please try again later.',
+ ],
+ ],
+ ],
+ ],
+ 'UnsubscribeTopic' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'IotInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'iot-cn-n6w1y59****',
+ ],
+ ],
+ [
+ 'name' => 'ProductKey',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a1BwAGV****',
+ ],
+ ],
+ [
+ 'name' => 'DeviceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'device1',
+ ],
+ ],
+ [
+ 'name' => 'Topic',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ ],
+ 'required' => true,
+ 'example' => '/a1BwAGV****/device1/user/get',
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '400',
+ ],
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'The unsub topic list is empty.',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'E55***B7-4***-4***-8***-D3******F565',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'FailureTopics' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'topic' => [
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'example' => '/a1BwAGV****/device1/user/get',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Iot.System.BillIsOverDue',
+ 'errorMessage' => 'Your account has overdue payments. Go to the expense center and add funds to your account.',
+ ],
+ [
+ 'errorCode' => 'Iot.MessageBroker.EmptyUnSubTopicList',
+ 'errorMessage' => 'The unsub topic list is empty.',
+ ],
+ [
+ 'errorCode' => 'Iot.MessageBroker.InvalidFormattedTopicName',
+ 'errorMessage' => 'The topic format specified while publishing the message is incorrect.',
+ ],
+ [
+ 'errorCode' => 'iot.prod.NotExistedProduct',
+ 'errorMessage' => 'The specified product does not exist.',
+ ],
+ [
+ 'errorCode' => 'Iot.Device.NotExistedDevice',
+ 'errorMessage' => 'The device does not exist.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'Iot.Device.NotDeviceOwner',
+ 'errorMessage' => 'You are not the device owner.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"The unsub topic list is empty.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true,\\n \\"FailureTopics\\": {\\n \\"topic\\": [\\n \\"/a1BwAGV****/device1/user/get\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<UnsubscribeTopicResponse>\\n<RequestId>E55***B7-4***-4***-8***-D3******F565</RequestId>\\n<FailureTopics>\\n <topic>/a1BwAGV****/device1/user/get</topic>\\n</FailureTopics>\\n<Code/>\\n<Success>true</Success>\\n</UnsubscribeTopicResponse>","errorExample":""}]',
+ 'title' => 'UnsubscribeTopic',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ ],
+ 'endpoints' => [
+ [
+ 'regionId' => 'cn-beijing',
+ 'endpoint' => 'iot.cn-beijing.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shanghai',
+ 'endpoint' => 'iot.cn-shanghai.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shenzhen',
+ 'endpoint' => 'iot.cn-shenzhen.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-northeast-1',
+ 'endpoint' => 'iot.ap-northeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-1',
+ 'endpoint' => 'iot.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'us-east-1',
+ 'endpoint' => 'iot.us-east-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'us-west-1',
+ 'endpoint' => 'iot.us-west-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'eu-central-1',
+ 'endpoint' => 'iot.eu-central-1.aliyuncs.com',
+ ],
+ ],
+];