diff options
Diffstat (limited to 'data/en_us/linkvisual/2023-06-30/api-docs.php')
| -rw-r--r-- | data/en_us/linkvisual/2023-06-30/api-docs.php | 7688 |
1 files changed, 3192 insertions, 4496 deletions
diff --git a/data/en_us/linkvisual/2023-06-30/api-docs.php b/data/en_us/linkvisual/2023-06-30/api-docs.php index ca984f2..dfaf05f 100644 --- a/data/en_us/linkvisual/2023-06-30/api-docs.php +++ b/data/en_us/linkvisual/2023-06-30/api-docs.php @@ -1,65 +1,158 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Linkvisual', - 'version' => '2023-06-30', - ], + 'info' => ['style' => 'RPC', 'product' => 'Linkvisual', 'version' => '2023-06-30'], 'directories' => [ [ - 'id' => 352715, - 'title' => null, - 'type' => 'directory', 'children' => [ - 'BindStorageOrder', - 'CheckFreeStorageValid', - 'ConsumeFreeStorage', - 'CreateAndPayStorageOrder', - 'EnableFreeStorage', - 'EnableStorageOrder', - 'FreezeFreeStorage', - 'GenerateDevice', - 'FreezeStorageOrder', - 'GenerateDeviceByBatchId', - 'QueryBatchStatus', - 'QueryDeviceDetail', - 'QueryFreeStorage', - 'QueryDevicesDownloadUrl', - 'QueryGenerateDevicesInfoList', - 'QueryGenerateDevicesRecord', - 'QueryStorageCommodityList', - 'QueryStorageOrder', - 'QueryStorageOrderList', - 'TransferStorageOrder', - 'UploadDeviceNameList', - 'GetThingEventSnapshot', - 'BatchBindDevice', - 'GetAccountById', - 'GetDeviceStatus', - 'GetSubDeviceList', - 'GetThingPropertySnapshot', - 'InvokeThingService', - 'ListBindingAccountByDevice', - 'ListBindingDeviceByAccount', - 'SetThingProperty', - 'UnbindAllUserByDevice', - 'UnbindDevice', + 'QueryDeviceDetail', 'QueryGenerateDevicesRecord', 'GetThingEventSnapshot', 'GetAccountById', 'GetDeviceStatus', 'GetSubDeviceList', 'GetThingPropertySnapshot', 'InvokeThingService', 'ListBindingAccountByDevice', 'SetThingProperty', 'BatchBindDevice', 'BindStorageOrder', 'CheckFreeStorageValid', 'ConsumeFreeStorage', 'CreateAndPayStorageOrder', 'EnableFreeStorage', 'EnableStorageOrder', 'FreezeFreeStorage', 'FreezeStorageOrder', 'GenerateDevice', + 'GenerateDeviceByBatchId', 'ListBindingDeviceByAccount', 'QueryBatchStatus', 'QueryDevicesDownloadUrl', 'QueryFreeStorage', 'QueryGenerateDevicesInfoList', 'QueryStorageCommodityList', 'QueryStorageOrder', 'QueryStorageOrderList', 'TransferStorageOrder', 'UnbindAllUserByDevice', 'UnbindDevice', 'UploadDeviceNameList', ], + 'type' => 'directory', + 'title' => 'Others', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'BindStorageOrder' => [ - 'methods' => [ - 'post', - 'get', + 'BatchBindDevice' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], ], - 'schemes' => [ - 'http', - 'https', + 'systemTags' => [], + 'parameters' => [ + [ + 'name' => 'OpenId', + 'in' => 'query', + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], + ], + [ + 'name' => 'OpenIdAppKey', + 'in' => 'query', + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], + ], + [ + 'name' => 'IdentityId', + 'in' => 'query', + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], + ], + [ + 'name' => 'DeviceList', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ProductKey' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], + 'DeviceName' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], + 'IotId' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'maxItems' => 20, + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], + 'Data' => [ + 'type' => 'object', + 'properties' => [ + 'BindDeviceList' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'BindResultMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ProductKey' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'BindResultCode' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'DeviceName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.GetAccountInfoFailed', 'errorMessage' => 'Get account info failed.', 'description' => 'The system failed to query information about the account.'], + ['errorCode' => 'iot.vision.AccountNotFound', 'errorMessage' => 'Account not found.', 'description' => 'The account does not exist.'], + ['errorCode' => 'iot.vision.TenantMismatch', 'errorMessage' => 'Caller tenant and account belong tenant mismatch.', 'description' => 'The tenant of the API operation caller is different from the tenant to which the account belongs.'], + ['errorCode' => 'iot.vision.IdentityAppKeyProductNotBind', 'errorMessage' => 'The app associated with the identityId does not have permission to access the product.', 'description' => 'No product is associated with the AppKey that is related to the account.'], + ['errorCode' => 'iot.vision.BindFailed', 'errorMessage' => 'Bind account and device failed.', 'description' => 'The system failed to associate the account with the device.'], + ], + 403 => [ + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], + ], + 429 => [ + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], + ], + ], + 'title' => '', + 'summary' => '', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchBindDevice'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:BatchBindDevice', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"BindDeviceList\\": [\\n {\\n \\"BindResultMessage\\": \\"\\",\\n \\"ProductKey\\": \\"\\",\\n \\"BindResultCode\\": 0,\\n \\"DeviceName\\": \\"\\",\\n \\"IotId\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'BindStorageOrder' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -70,104 +163,57 @@ [ 'name' => 'EventRecordDuration', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '30', - 'minimum' => '0', - 'default' => '10', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '30', 'minimum' => '0', 'default' => '10', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'OrderId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'EventRecordProlong', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'default' => 'false', - ], + 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'UserName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'UserId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'MaxRecordFileDuration', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '3600', - 'minimum' => '600', - 'default' => '1800', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '3600', 'minimum' => '600', 'default' => '1800', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'EnableDefaultPlan', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'default' => 'false', - ], + 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'PreRecordDuration', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5', - 'minimum' => '0', - 'default' => '0', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5', 'minimum' => '0', 'default' => '0', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -175,160 +221,91 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'boolean', - ], + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Copies' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Specification' => [ - 'type' => 'string', - ], - 'RecordType' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'CommodityCode' => [ - 'type' => 'string', - ], - 'PreConsume' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'EndTimeUTC' => [ - 'type' => 'string', - ], - 'UserId' => [ - 'type' => 'string', - ], - 'IdentityId' => [ - 'type' => 'string', - ], - 'StartTimeUTC' => [ - 'type' => 'string', - ], - 'EndTime' => [ - 'type' => 'string', - ], - 'StartTime' => [ - 'type' => 'string', - ], - 'OutOrderNo' => [ - 'type' => 'string', - ], - 'Price' => [ - 'type' => 'string', - ], - 'OrderType' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'PaymentStatus' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'UserName' => [ - 'type' => 'string', - ], - 'OrderId' => [ - 'type' => 'string', - ], - 'IotId' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Copies' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Specification' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RecordType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'CommodityCode' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'PreConsume' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'EndTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'UserId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'IdentityId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'StartTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'EndTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'StartTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'OutOrderNo' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Price' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'OrderType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'PaymentStatus' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'UserName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'OrderId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNoOwner', - 'errorMessage' => 'Device has no owner.', - ], - [ - 'errorCode' => 'iot.vision.InvalidStorageOrder', - 'errorMessage' => 'Invalid storage order.', - ], - [ - 'errorCode' => 'iot.vision.DeviceOwnerChanged', - 'errorMessage' => 'Device owner changed.', - ], - [ - 'errorCode' => 'iot.vision.StorageOrderGetLockFailed', - 'errorMessage' => 'Get storage order lock failed try again later.', - ], - [ - 'errorCode' => 'iot.vision.GetOwnerIdentityInfoFailed', - 'errorMessage' => 'Get owner identity info failed.', - ], - [ - 'errorCode' => 'iot.vision.SetDefaultRecordPlanFailed', - 'errorMessage' => 'Set default record plan failed.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNotExist', - 'errorMessage' => 'Device not exist.', - ], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => 'Device has no owner.'], + ['errorCode' => 'iot.vision.InvalidStorageOrder', 'errorMessage' => 'Invalid storage order.', 'description' => 'Invalid storage order.'], + ['errorCode' => 'iot.vision.DeviceOwnerChanged', 'errorMessage' => 'Device owner changed.', 'description' => 'Device owner changed.'], + ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => 'The system failed to obtain the distributed lock of the cloud storage order. Try again later.'], + ['errorCode' => 'iot.vision.GetOwnerIdentityInfoFailed', 'errorMessage' => 'Get owner identity info failed.', 'description' => 'The system failed to query information about the device administrator.'], + ['errorCode' => 'iot.vision.SetDefaultRecordPlanFailed', 'errorMessage' => 'Set default record plan failed.', 'description' => 'The system failed to configure the default video recording plan.'], + ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], + ], + ], + 'title' => '', + 'summary' => '', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindStorageOrder'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:BindStorageOrder', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"Status\\": 0,\\n \\"Copies\\": 0,\\n \\"Specification\\": \\"\\",\\n \\"RecordType\\": 0,\\n \\"CommodityCode\\": \\"\\",\\n \\"PreConsume\\": 0,\\n \\"EndTimeUTC\\": \\"\\",\\n \\"UserId\\": \\"\\",\\n \\"IdentityId\\": \\"\\",\\n \\"StartTimeUTC\\": \\"\\",\\n \\"EndTime\\": \\"\\",\\n \\"StartTime\\": \\"\\",\\n \\"OutOrderNo\\": \\"\\",\\n \\"Price\\": \\"\\",\\n \\"OrderType\\": 0,\\n \\"PaymentStatus\\": 0,\\n \\"UserName\\": \\"\\",\\n \\"OrderId\\": \\"\\",\\n \\"IotId\\": \\"\\"\\n }\\n}","type":"json"}]', ], 'CheckFreeStorageValid' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -339,26 +316,17 @@ [ 'name' => 'ProductKey', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -366,84 +334,62 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'boolean', - ], + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNoOwner', - 'errorMessage' => 'Device has no owner.', - ], - [ - 'errorCode' => 'iot.vision.FreeStorageQuotaLimit', - 'errorMessage' => 'No enough free storage quota or exceed limit.', - ], - [ - 'errorCode' => 'iot.vision.InvalidStorageCommodity', - 'errorMessage' => 'Invalid storage commodity.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNotExist', - 'errorMessage' => 'Device not exist.', - ], - [ - 'errorCode' => 'iot.vision.GetDeviceInfoFailed', - 'errorMessage' => 'Get device info failed.', - ], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => 'Device has no owner.'], + ['errorCode' => 'iot.vision.FreeStorageQuotaLimit', 'errorMessage' => 'No enough free storage quota or exceed limit.', 'description' => 'No enough free storage quota or exceed limit.'], + ['errorCode' => 'iot.vision.InvalidStorageCommodity', 'errorMessage' => 'Invalid storage commodity.', 'description' => 'Invalid storage commodity.'], + ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], + ['errorCode' => 'iot.vision.GetDeviceInfoFailed', 'errorMessage' => 'Get device info failed.', 'description' => 'The system failed to query the details of the device.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], + ], + ], + 'title' => '', + 'summary' => '', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CheckFreeStorageValid'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:CheckFreeStorageValid', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false\\n}","type":"json"}]', ], 'ConsumeFreeStorage' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -454,88 +400,47 @@ [ 'name' => 'EventRecordProlong', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'default' => 'false', - ], + 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'EventRecordDuration', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '30', - 'minimum' => '0', - 'default' => '10', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '30', 'minimum' => '0', 'default' => '10', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ImmediateUse', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'default' => 'false', - ], + 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'EnableDefaultPlan', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'default' => 'false', - ], + 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'PreRecordDuration', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5', - 'minimum' => '0', - 'default' => '0', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5', 'minimum' => '0', 'default' => '0', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'Quota', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -543,133 +448,77 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'boolean', - ], + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'type' => 'string', - ], - 'Type' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'StartTime' => [ - 'type' => 'string', - ], - 'EndTimeUTC' => [ - 'type' => 'string', - ], - 'Months' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Expired' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'RemainQuota' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'StartTimeUTC' => [ - 'type' => 'string', - ], - 'Consumed' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Lifecycle' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'EndTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Type' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'StartTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'EndTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Months' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Expired' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'RemainQuota' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'StartTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Consumed' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Lifecycle' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNoOwner', - 'errorMessage' => 'Device has no owner.', - ], - [ - 'errorCode' => 'iot.vision.FreeStorageQuotaLimit', - 'errorMessage' => 'No enough free storage quota or exceed limit.', - ], - [ - 'errorCode' => 'iot.vision.GetOwnerIdentityInfoFailed', - 'errorMessage' => 'Get owner identity info failed.', - ], - [ - 'errorCode' => 'iot.vision.GetDeviceInfoFailed', - 'errorMessage' => 'Get device info failed.', - ], - [ - 'errorCode' => 'iot.vision.StorageOrderGetLockFailed', - 'errorMessage' => 'Get storage order lock failed try again later.', - ], - [ - 'errorCode' => 'iot.vision.SetDefaultRecordPlanFailed', - 'errorMessage' => 'Set default record plan failed.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNotExist', - 'errorMessage' => 'Device not exist.', - ], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => 'Device has no owner.'], + ['errorCode' => 'iot.vision.FreeStorageQuotaLimit', 'errorMessage' => 'No enough free storage quota or exceed limit.', 'description' => 'No enough free storage quota or exceed limit.'], + ['errorCode' => 'iot.vision.GetOwnerIdentityInfoFailed', 'errorMessage' => 'Get owner identity info failed.', 'description' => 'The system failed to query information about the device administrator.'], + ['errorCode' => 'iot.vision.GetDeviceInfoFailed', 'errorMessage' => 'Get device info failed.', 'description' => 'The system failed to query the details of the device.'], + ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => 'The system failed to obtain the distributed lock of the cloud storage order. Try again later.'], + ['errorCode' => 'iot.vision.SetDefaultRecordPlanFailed', 'errorMessage' => 'Set default record plan failed.', 'description' => 'The system failed to configure the default video recording plan.'], + ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], + ], + ], + 'title' => '', + 'summary' => '', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:ConsumeFreeStorage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"EndTime\\": \\"\\",\\n \\"Type\\": 0,\\n \\"StartTime\\": \\"\\",\\n \\"EndTimeUTC\\": \\"\\",\\n \\"Months\\": 0,\\n \\"Expired\\": 0,\\n \\"RemainQuota\\": 0,\\n \\"StartTimeUTC\\": \\"\\",\\n \\"Consumed\\": 0,\\n \\"Lifecycle\\": 0\\n }\\n}","type":"json"}]', ], 'CreateAndPayStorageOrder' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -680,141 +529,77 @@ [ 'name' => 'DeviceNoOwner', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'default' => 'false', - ], + 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'EventRecordDuration', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '30', - 'minimum' => '0', - 'default' => '10', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '30', 'minimum' => '0', 'default' => '10', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'Copies', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '100', - 'minimum' => '1', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'CommodityCode', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'EventRecordProlong', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'default' => 'false', - ], + 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'Specification', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ImmediateUse', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'default' => 'false', - ], + 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'UserName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'UserId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'MaxRecordFileDuration', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '3600', - 'minimum' => '600', - 'default' => '1800', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '3600', 'minimum' => '600', 'default' => '1800', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'EnableDefaultPlan', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'default' => 'false', - ], + 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'PreRecordDuration', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5', - 'minimum' => '0', - 'default' => '0', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5', 'minimum' => '0', 'default' => '0', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -822,184 +607,97 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'boolean', - ], + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Copies' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Specification' => [ - 'type' => 'string', - ], - 'RecordType' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'CommodityCode' => [ - 'type' => 'string', - ], - 'PreConsume' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'EndTimeUTC' => [ - 'type' => 'string', - ], - 'UserId' => [ - 'type' => 'string', - ], - 'IdentityId' => [ - 'type' => 'string', - ], - 'StartTimeUTC' => [ - 'type' => 'string', - ], - 'EndTime' => [ - 'type' => 'string', - ], - 'StartTime' => [ - 'type' => 'string', - ], - 'OutOrderNo' => [ - 'type' => 'string', - ], - 'Price' => [ - 'type' => 'string', - ], - 'OrderType' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'PaymentStatus' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'UserName' => [ - 'type' => 'string', - ], - 'OrderId' => [ - 'type' => 'string', - ], - 'IotId' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Copies' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Specification' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RecordType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'CommodityCode' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'PreConsume' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'EndTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'UserId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'IdentityId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'StartTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'EndTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'StartTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'OutOrderNo' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Price' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'OrderType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'PaymentStatus' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'UserName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'OrderId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNoOwner', - 'errorMessage' => 'Device has no owner.', - ], - [ - 'errorCode' => 'iot.vision.CreateStorageOrderFailed', - 'errorMessage' => 'Create storage order failed.', - ], - [ - 'errorCode' => 'iot.vision.GetDeviceInfoFailed', - 'errorMessage' => 'Get device info failed.', - ], - [ - 'errorCode' => 'iot.vision.InvalidStorageCommodity', - 'errorMessage' => 'Invalid storage commodity.', - ], - [ - 'errorCode' => 'iot.vision.StorageCommodityUnavailable', - 'errorMessage' => 'Storage commodity unavailable.', - ], - [ - 'errorCode' => 'iot.vision.GetOwnerIdentityInfoFailed', - 'errorMessage' => 'Get owner identity info failed.', - ], - [ - 'errorCode' => 'iot.vision.SetDefaultRecordPlanFailed', - 'errorMessage' => 'Set default record plan failed.', - ], - [ - 'errorCode' => 'iot.vision.QueryCommodityPriceFailed', - 'errorMessage' => 'Query commodity price failed.', - ], - [ - 'errorCode' => 'iot.vision.StorageOrderGetLockFailed', - 'errorMessage' => 'Get storage order lock failed try again later.', - ], - [ - 'errorCode' => 'iot.vision.InvalidStorageOrder', - 'errorMessage' => 'Invalid storage order.', - ], - [ - 'errorCode' => 'iot.vision.StorageOrderAlreadyPaid', - 'errorMessage' => 'Storage order had been paid.', - ], - [ - 'errorCode' => 'iot.vision.StorageOrderPayFailed', - 'errorMessage' => 'Storage order pay failed.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNotExist', - 'errorMessage' => 'Device not exist.', - ], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => 'Device has no owner.'], + ['errorCode' => 'iot.vision.CreateStorageOrderFailed', 'errorMessage' => 'Create storage order failed.', 'description' => 'Create storage order failed.'], + ['errorCode' => 'iot.vision.GetDeviceInfoFailed', 'errorMessage' => 'Get device info failed.', 'description' => 'The system failed to query the details of the device.'], + ['errorCode' => 'iot.vision.InvalidStorageCommodity', 'errorMessage' => 'Invalid storage commodity.', 'description' => 'Invalid storage commodity.'], + ['errorCode' => 'iot.vision.StorageCommodityUnavailable', 'errorMessage' => 'Storage commodity unavailable.', 'description' => 'You cannot use the cloud storage product.'], + ['errorCode' => 'iot.vision.GetOwnerIdentityInfoFailed', 'errorMessage' => 'Get owner identity info failed.', 'description' => 'The system failed to query information about the device administrator.'], + ['errorCode' => 'iot.vision.SetDefaultRecordPlanFailed', 'errorMessage' => 'Set default record plan failed.', 'description' => 'The system failed to configure the default video recording plan.'], + ['errorCode' => 'iot.vision.QueryCommodityPriceFailed', 'errorMessage' => 'Query commodity price failed.', 'description' => 'The system failed to query the price of the cloud storage product.'], + ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => 'The system failed to obtain the distributed lock of the cloud storage order. Try again later.'], + ['errorCode' => 'iot.vision.InvalidStorageOrder', 'errorMessage' => 'Invalid storage order.', 'description' => 'Invalid storage order.'], + ['errorCode' => 'iot.vision.StorageOrderAlreadyPaid', 'errorMessage' => 'Storage order had been paid.', 'description' => 'The payment for the cloud storage order is complete.'], + ['errorCode' => 'iot.vision.StorageOrderPayFailed', 'errorMessage' => 'Storage order pay failed.', 'description' => 'The payment for the cloud storage order failed.'], + ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], + ], + ], + 'title' => '', + 'summary' => '', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAndPayStorageOrder'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:CreateAndPayStorageOrder', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"Status\\": 0,\\n \\"Copies\\": 0,\\n \\"Specification\\": \\"\\",\\n \\"RecordType\\": 0,\\n \\"CommodityCode\\": \\"\\",\\n \\"PreConsume\\": 0,\\n \\"EndTimeUTC\\": \\"\\",\\n \\"UserId\\": \\"\\",\\n \\"IdentityId\\": \\"\\",\\n \\"StartTimeUTC\\": \\"\\",\\n \\"EndTime\\": \\"\\",\\n \\"StartTime\\": \\"\\",\\n \\"OutOrderNo\\": \\"\\",\\n \\"Price\\": \\"\\",\\n \\"OrderType\\": 0,\\n \\"PaymentStatus\\": 0,\\n \\"UserName\\": \\"\\",\\n \\"OrderId\\": \\"\\",\\n \\"IotId\\": \\"\\"\\n }\\n}","type":"json"}]', ], 'EnableFreeStorage' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1010,26 +708,17 @@ [ 'name' => 'ProductKey', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -1037,125 +726,80 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'boolean', - ], + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'type' => 'string', - ], - 'Type' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'StartTime' => [ - 'type' => 'string', - ], - 'EndTimeUTC' => [ - 'type' => 'string', - ], - 'Months' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Expired' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'RemainQuota' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'StartTimeUTC' => [ - 'type' => 'string', - ], - 'Consumed' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Lifecycle' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'EndTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Type' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'StartTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'EndTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Months' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Expired' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'RemainQuota' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'StartTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Consumed' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Lifecycle' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNoOwner', - 'errorMessage' => 'Device has no owner.', - ], - [ - 'errorCode' => 'iot.vision.FreeStorageQuotaLimit', - 'errorMessage' => 'No enough free storage quota or exceed limit.', - ], - [ - 'errorCode' => 'iot.vision.StorageOrderGetLockFailed', - 'errorMessage' => 'Get storage order lock failed try again later.', - ], - [ - 'errorCode' => 'iot.vision.InvalidStorageOrder', - 'errorMessage' => 'Invalid storage order.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNotExist', - 'errorMessage' => 'Device not exist.', - ], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => 'Device has no owner.'], + ['errorCode' => 'iot.vision.FreeStorageQuotaLimit', 'errorMessage' => 'No enough free storage quota or exceed limit.', 'description' => 'No enough free storage quota or exceed limit.'], + ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => 'The system failed to obtain the distributed lock of the cloud storage order. Try again later.'], + ['errorCode' => 'iot.vision.InvalidStorageOrder', 'errorMessage' => 'Invalid storage order.', 'description' => 'Invalid storage order.'], + ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], + ], + ], + 'title' => '', + 'summary' => '', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableFreeStorage'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:EnableFreeStorage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"EndTime\\": \\"\\",\\n \\"Type\\": 0,\\n \\"StartTime\\": \\"\\",\\n \\"EndTimeUTC\\": \\"\\",\\n \\"Months\\": 0,\\n \\"Expired\\": 0,\\n \\"RemainQuota\\": 0,\\n \\"StartTimeUTC\\": \\"\\",\\n \\"Consumed\\": 0,\\n \\"Lifecycle\\": 0\\n }\\n}","type":"json"}]', ], 'EnableStorageOrder' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1166,34 +810,22 @@ [ 'name' => 'OrderId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -1201,156 +833,90 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'boolean', - ], + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Copies' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Specification' => [ - 'type' => 'string', - ], - 'RecordType' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'CommodityCode' => [ - 'type' => 'string', - ], - 'PreConsume' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'EndTimeUTC' => [ - 'type' => 'string', - ], - 'UserId' => [ - 'type' => 'string', - ], - 'IdentityId' => [ - 'type' => 'string', - ], - 'StartTimeUTC' => [ - 'type' => 'string', - ], - 'EndTime' => [ - 'type' => 'string', - ], - 'StartTime' => [ - 'type' => 'string', - ], - 'OutOrderNo' => [ - 'type' => 'string', - ], - 'Price' => [ - 'type' => 'string', - ], - 'OrderType' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'PaymentStatus' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'UserName' => [ - 'type' => 'string', - ], - 'OrderId' => [ - 'type' => 'string', - ], - 'IotId' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Copies' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Specification' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RecordType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'CommodityCode' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'PreConsume' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'EndTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'UserId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'IdentityId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'StartTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'EndTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'StartTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'OutOrderNo' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Price' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'OrderType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'PaymentStatus' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'UserName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'OrderId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNoOwner', - 'errorMessage' => 'Device has no owner.', - ], - [ - 'errorCode' => 'iot.vision.InvalidStorageOrder', - 'errorMessage' => 'Invalid storage order.', - ], - [ - 'errorCode' => 'iot.vision.DeviceOwnerChanged', - 'errorMessage' => 'Device owner changed.', - ], - [ - 'errorCode' => 'iot.vision.StorageOrderGetLockFailed', - 'errorMessage' => 'Get storage order lock failed try again later.', - ], - [ - 'errorCode' => 'iot.vision.StorageOrderStatusInvalid', - 'errorMessage' => 'Storage order status invalid.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNotExist', - 'errorMessage' => 'Device not exist.', - ], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => 'Device has no owner.'], + ['errorCode' => 'iot.vision.InvalidStorageOrder', 'errorMessage' => 'Invalid storage order.', 'description' => 'Invalid storage order.'], + ['errorCode' => 'iot.vision.DeviceOwnerChanged', 'errorMessage' => 'Device owner changed.', 'description' => 'Device owner changed.'], + ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => 'The system failed to obtain the distributed lock of the cloud storage order. Try again later.'], + ['errorCode' => 'iot.vision.StorageOrderStatusInvalid', 'errorMessage' => 'Storage order status invalid.', 'description' => 'You cannot perform the operation on the cloud storage order.'], + ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], + ], + ], + 'title' => '', + 'summary' => '', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableStorageOrder'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:EnableStorageOrder', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"Status\\": 0,\\n \\"Copies\\": 0,\\n \\"Specification\\": \\"\\",\\n \\"RecordType\\": 0,\\n \\"CommodityCode\\": \\"\\",\\n \\"PreConsume\\": 0,\\n \\"EndTimeUTC\\": \\"\\",\\n \\"UserId\\": \\"\\",\\n \\"IdentityId\\": \\"\\",\\n \\"StartTimeUTC\\": \\"\\",\\n \\"EndTime\\": \\"\\",\\n \\"StartTime\\": \\"\\",\\n \\"OutOrderNo\\": \\"\\",\\n \\"Price\\": \\"\\",\\n \\"OrderType\\": 0,\\n \\"PaymentStatus\\": 0,\\n \\"UserName\\": \\"\\",\\n \\"OrderId\\": \\"\\",\\n \\"IotId\\": \\"\\"\\n }\\n}","type":"json"}]', ], 'FreezeFreeStorage' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1361,26 +927,17 @@ [ 'name' => 'ProductKey', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -1388,239 +945,80 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'boolean', - ], + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'type' => 'string', - ], - 'Type' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'StartTime' => [ - 'type' => 'string', - ], - 'EndTimeUTC' => [ - 'type' => 'string', - ], - 'Months' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Expired' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'RemainQuota' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'StartTimeUTC' => [ - 'type' => 'string', - ], - 'Consumed' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Lifecycle' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'EndTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Type' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'StartTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'EndTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Months' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Expired' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'RemainQuota' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'StartTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Consumed' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Lifecycle' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNoOwner', - 'errorMessage' => 'Device has no owner.', - ], - [ - 'errorCode' => 'iot.vision.FreeStorageQuotaLimit', - 'errorMessage' => 'No enough free storage quota or exceed limit.', - ], - [ - 'errorCode' => 'iot.vision.StorageOrderGetLockFailed', - 'errorMessage' => 'Get storage order lock failed try again later.', - ], - [ - 'errorCode' => 'iot.vision.InvalidStorageOrder', - 'errorMessage' => 'Invalid storage order.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNotExist', - 'errorMessage' => 'Device not exist.', - ], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => 'Device has no owner.'], + ['errorCode' => 'iot.vision.FreeStorageQuotaLimit', 'errorMessage' => 'No enough free storage quota or exceed limit.', 'description' => 'No enough free storage quota or exceed limit.'], + ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => 'The system failed to obtain the distributed lock of the cloud storage order. Try again later.'], + ['errorCode' => 'iot.vision.InvalidStorageOrder', 'errorMessage' => 'Invalid storage order.', 'description' => 'Invalid storage order.'], + ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', - ], + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], - ], - 'GenerateDevice' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'title' => '', + 'summary' => '', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'FreezeFreeStorage'], ], ], - 'systemTags' => [], - 'parameters' => [ - [ - 'name' => 'Amount', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'maximum' => '10000', - 'minimum' => '1', - ], - ], - [ - 'name' => 'ProductKey', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], + 'ramActions' => [ [ - 'name' => 'ProjectId', - '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' => [ - 'BatchId' => [ - 'type' => 'string', - ], - ], - ], + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:FreezeFreeStorage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.ActiveCodeInsufficient', - 'errorMessage' => 'Active code quota is insufficient.', - ], - [ - 'errorCode' => 'iot.vision.DevicesCountExceedLimit', - 'errorMessage' => 'The devices count exceed the limit.', - ], - [ - 'errorCode' => 'iot.vision.DevicesExceedUnreleasedProductLimit', - 'errorMessage' => 'Devices count exceed the limit of unreleased product.', - ], - ], - 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], - ], - 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', - ], - ], - ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"EndTime\\": \\"\\",\\n \\"Type\\": 0,\\n \\"StartTime\\": \\"\\",\\n \\"EndTimeUTC\\": \\"\\",\\n \\"Months\\": 0,\\n \\"Expired\\": 0,\\n \\"RemainQuota\\": 0,\\n \\"StartTimeUTC\\": \\"\\",\\n \\"Consumed\\": 0,\\n \\"Lifecycle\\": 0\\n }\\n}","type":"json"}]', ], 'FreezeStorageOrder' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1631,43 +1029,27 @@ [ 'name' => 'DeviceNoOwner', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'default' => 'false', - ], + 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'OrderId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -1675,152 +1057,89 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'boolean', - ], + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Copies' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Specification' => [ - 'type' => 'string', - ], - 'RecordType' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'CommodityCode' => [ - 'type' => 'string', - ], - 'PreConsume' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'EndTimeUTC' => [ - 'type' => 'string', - ], - 'UserId' => [ - 'type' => 'string', - ], - 'IdentityId' => [ - 'type' => 'string', - ], - 'StartTimeUTC' => [ - 'type' => 'string', - ], - 'EndTime' => [ - 'type' => 'string', - ], - 'StartTime' => [ - 'type' => 'string', - ], - 'OutOrderNo' => [ - 'type' => 'string', - ], - 'Price' => [ - 'type' => 'string', - ], - 'OrderType' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'PaymentStatus' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'UserName' => [ - 'type' => 'string', - ], - 'OrderId' => [ - 'type' => 'string', - ], - 'IotId' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Copies' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Specification' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RecordType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'CommodityCode' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'PreConsume' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'EndTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'UserId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'IdentityId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'StartTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'EndTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'StartTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'OutOrderNo' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Price' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'OrderType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'PaymentStatus' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'UserName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'OrderId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNoOwner', - 'errorMessage' => 'Device has no owner.', - ], - [ - 'errorCode' => 'iot.vision.DeviceOwnerChanged', - 'errorMessage' => 'Device owner changed.', - ], - [ - 'errorCode' => 'iot.vision.InvalidStorageOrder', - 'errorMessage' => 'Invalid storage order.', - ], - [ - 'errorCode' => 'iot.vision.StorageOrderGetLockFailed', - 'errorMessage' => 'Get storage order lock failed try again later.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNotExist', - 'errorMessage' => 'Device not exist.', - ], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => 'Device has no owner.'], + ['errorCode' => 'iot.vision.DeviceOwnerChanged', 'errorMessage' => 'Device owner changed.', 'description' => 'Device owner changed.'], + ['errorCode' => 'iot.vision.InvalidStorageOrder', 'errorMessage' => 'Invalid storage order.', 'description' => 'Invalid storage order.'], + ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => 'The system failed to obtain the distributed lock of the cloud storage order. Try again later.'], + ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', - ], + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], - ], - 'GenerateDeviceByBatchId' => [ - 'methods' => [ - 'post', - 'get', + 'title' => '', + 'summary' => '', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'FreezeStorageOrder'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:FreezeStorageOrder', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"Status\\": 0,\\n \\"Copies\\": 0,\\n \\"Specification\\": \\"\\",\\n \\"RecordType\\": 0,\\n \\"CommodityCode\\": \\"\\",\\n \\"PreConsume\\": 0,\\n \\"EndTimeUTC\\": \\"\\",\\n \\"UserId\\": \\"\\",\\n \\"IdentityId\\": \\"\\",\\n \\"StartTimeUTC\\": \\"\\",\\n \\"EndTime\\": \\"\\",\\n \\"StartTime\\": \\"\\",\\n \\"OutOrderNo\\": \\"\\",\\n \\"Price\\": \\"\\",\\n \\"OrderType\\": 0,\\n \\"PaymentStatus\\": 0,\\n \\"UserName\\": \\"\\",\\n \\"OrderId\\": \\"\\",\\n \\"IotId\\": \\"\\"\\n }\\n}","type":"json"}]', + ], + 'GenerateDevice' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1829,28 +1148,19 @@ 'systemTags' => [], 'parameters' => [ [ - 'name' => 'BatchId', + 'name' => 'Amount', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '10000', 'minimum' => '1', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProjectId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -1858,96 +1168,68 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'boolean', - ], + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ - 'BatchId' => [ - 'type' => 'string', - ], + 'BatchId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.ParamBatchIdInvalid', - 'errorMessage' => 'Parameter batchId is invalid.', - ], - [ - 'errorCode' => 'iot.vision.BatchHasCreated', - 'errorMessage' => 'This batch task has been created.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNameChecking', - 'errorMessage' => 'Device names are checking.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNameCheckFailed', - 'errorMessage' => 'Device names check failed.', - ], - [ - 'errorCode' => 'iot.vision.ActiveCodeInsufficient', - 'errorMessage' => 'Active code quota is insufficient.', - ], - [ - 'errorCode' => 'iot.vision.DevicesCountExceedLimit', - 'errorMessage' => 'The devices count exceed the limit.', - ], - [ - 'errorCode' => 'iot.vision.DevicesExceedUnreleasedProductLimit', - 'errorMessage' => 'Devices count exceed the limit of unreleased product.', - ], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.ActiveCodeInsufficient', 'errorMessage' => 'Active code quota is insufficient.', 'description' => ''], + ['errorCode' => 'iot.vision.DevicesCountExceedLimit', 'errorMessage' => 'The devices count exceed the limit.', 'description' => 'The devices count exceed the limit.'], + ['errorCode' => 'iot.vision.DevicesExceedUnreleasedProductLimit', 'errorMessage' => 'Devices count exceed the limit of unreleased product.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', - ], + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], - ], - 'QueryBatchStatus' => [ - 'methods' => [ - 'post', - 'get', + 'title' => '', + 'summary' => '', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GenerateDevice'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:GenerateDevice', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"BatchId\\": \\"\\"\\n }\\n}","type":"json"}]', + ], + 'GenerateDeviceByBatchId' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1958,26 +1240,17 @@ [ 'name' => 'BatchId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProjectId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -1985,94 +1258,72 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'boolean', - ], + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'InvalidDetailList' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DeviceName' => [ - 'type' => 'string', - ], - 'ErrorMsg' => [ - 'type' => 'string', - ], - ], - ], - ], - 'InvalidList' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - 'ValidList' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], + 'BatchId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.ParamBatchIdInvalid', 'errorMessage' => 'Parameter batchId is invalid.', 'description' => 'Parameter batchId is invalid.'], + ['errorCode' => 'iot.vision.BatchHasCreated', 'errorMessage' => 'This batch task has been created.', 'description' => 'This batch task has been created.'], + ['errorCode' => 'iot.vision.DeviceNameChecking', 'errorMessage' => 'Device names are checking.', 'description' => ''], + ['errorCode' => 'iot.vision.DeviceNameCheckFailed', 'errorMessage' => 'Device names check failed.', 'description' => 'Device names check failed.'], + ['errorCode' => 'iot.vision.ActiveCodeInsufficient', 'errorMessage' => 'Active code quota is insufficient.', 'description' => ''], + ['errorCode' => 'iot.vision.DevicesCountExceedLimit', 'errorMessage' => 'The devices count exceed the limit.', 'description' => 'The devices count exceed the limit.'], + ['errorCode' => 'iot.vision.DevicesExceedUnreleasedProductLimit', 'errorMessage' => 'Devices count exceed the limit of unreleased product.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', - ], + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], - ], - 'QueryDeviceDetail' => [ - 'methods' => [ - 'post', - 'get', + 'title' => '', + 'summary' => '', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GenerateDeviceByBatchId'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:GenerateDeviceByBatchId', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"BatchId\\": \\"\\"\\n }\\n}","type":"json"}]', + ], + 'GetAccountById' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2081,44 +1332,27 @@ 'systemTags' => [], 'parameters' => [ [ - 'name' => 'ProductKey', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'a1Bw******', - ], - ], - [ - 'name' => 'DeviceName', + 'name' => 'OpenId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'Device01', - ], + 'schema' => ['description' => 'The third-party platform user ID.'."\n" + .'><notice> If you specify this parameter, you must also specify **OpenIdAppKey**.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => '60yqjd1**************************561da00851', 'title' => ''], ], [ - 'name' => 'IotId', + 'name' => 'OpenIdAppKey', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', - ], + 'schema' => ['description' => 'The AppKey issued by the third-party platform.'."\n" + ."\n" + .'><notice> If you specify this parameter, you must also specify **OpenId**.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => '76****57', 'title' => ''], ], [ - 'name' => 'ProjectId', + 'name' => 'IdentityId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'a123qs*****sy4QU', - ], + 'schema' => ['description' => 'The user identity ID.'."\n" + ."\n" + .'><notice> **IdentityId** serves as the user identifier and has a one-to-one mapping with the combination of **OpenId** and **OpenIdAppKey**. If you specify this parameter, you do not need to specify **OpenId** or **OpenIdAppKey**.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => '5035op97******************a63994', 'title' => ''], ], ], 'responses' => [ @@ -2126,184 +1360,87 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '400', - ], - 'ErrorMessage' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Request parameter error.', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'E55***B7-4***-4***-8***-D3******F565', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => 'The error code returned if the call fails. For more information, see **Error codes** in this topic.', 'type' => 'string', 'example' => '400', 'title' => ''], + 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => 'Unexpected internal error.', 'title' => ''], + 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => 'E55***B7-4***-4***-8***-D3******F565', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" + ."\n" + .'- **true**: The call was successful.'."\n" + .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ - 'description' => '', + 'description' => 'The data returned if the call is successful.', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ONLINE', - ], - 'ProductName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'test', - ], - 'DeviceName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Device01', - ], - 'CreateTime' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1834500000000', - ], - 'FirmwareVersion' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'V1.0.0.0', - ], - 'OnlineTime' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2298700000000', - ], - 'ActiveTime' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1934500000000', - ], - 'ProductKey' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'a1Bw******', - ], - 'IpAddress' => [ - 'description' => '', - 'type' => 'string', - 'example' => '10.***.***.***', - ], - 'NodeType' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Region' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cn-shanghai', - ], - 'DeviceSecret' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'mz2Canp4GB7qRVf1OYPNtRqB2anu****', - ], - 'Nickname' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'detectors_in_beijing', - ], - 'IotId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', - ], + 'LoginName' => ['description' => 'The logon name of the account.', 'type' => 'string', 'example' => '18*******20', 'title' => ''], + 'Email' => ['description' => 'The email address.', 'type' => 'string', 'example' => '******', 'title' => ''], + 'IdentityId' => ['description' => 'The user identity ID.', 'type' => 'string', 'example' => '5035op97******************a63994', 'title' => ''], + 'LastLoginTime' => ['description' => 'The last logon time, in the format of a 13-digit millisecond-level timestamp.', 'type' => 'integer', 'format' => 'int64', 'example' => '1700209499000', 'title' => ''], + 'GmtCreate' => ['description' => 'The time when the account was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1700189358000', 'title' => ''], + 'NickName' => ['description' => 'The nickname of the user.', 'type' => 'string', 'example' => '18*******20', 'title' => ''], + 'GmtModified' => ['description' => 'The time when the account was last modified.', 'type' => 'integer', 'format' => 'int64', 'example' => '1700209499000', 'title' => ''], + 'Phone' => ['description' => 'The phone number.', 'type' => 'string', 'example' => '18*******20', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.InvalidIotInstance', - 'errorMessage' => 'Invalid iot instance.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNotExist', - 'errorMessage' => 'Device not exist.', - ], - [ - 'errorCode' => 'iot.vision.ProductNotExist', - 'errorMessage' => 'Product not exist.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNameFormatInvalid', - 'errorMessage' => 'Device name format invalid.', - ], - [ - 'errorCode' => 'iot.vision.InstanceArrearage', - 'errorMessage' => 'Instance arrearage.', - ], - [ - 'errorCode' => 'iot.vision.ProductKeyFormatInvalid', - 'errorMessage' => 'Product key format invalid.', - ], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.GetAccountInfoFailed', 'errorMessage' => 'Get account info failed.', 'description' => 'The system failed to query information about the account.'], + ['errorCode' => 'iot.vision.AccountNotFound', 'errorMessage' => 'Account not found.', 'description' => 'The account does not exist.'], + ['errorCode' => 'iot.vision.TenantMismatch', 'errorMessage' => 'Caller tenant and account belong tenant mismatch.', 'description' => 'The tenant of the API operation caller is different from the tenant to which the account belongs.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], - [ - 'errorCode' => 'iot.vision.HasNoAccessPermission', - 'errorMessage' => 'Has no access permission.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', - ], + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Request parameter error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Status\\": \\"ONLINE\\",\\n \\"ProductName\\": \\"test\\",\\n \\"DeviceName\\": \\"Device01\\",\\n \\"CreateTime\\": 1834500000000,\\n \\"FirmwareVersion\\": \\"V1.0.0.0\\",\\n \\"OnlineTime\\": 2298700000000,\\n \\"ActiveTime\\": 1934500000000,\\n \\"ProductKey\\": \\"a1Bw******\\",\\n \\"IpAddress\\": \\"10.***.***.***\\",\\n \\"NodeType\\": 0,\\n \\"Region\\": \\"cn-shanghai\\",\\n \\"DeviceSecret\\": \\"mz2Canp4GB7qRVf1OYPNtRqB2anu****\\",\\n \\"Nickname\\": \\"detectors_in_beijing\\",\\n \\"IotId\\": \\"C47T6xwp6ms4bNlkHRWCg4****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryDeviceDetailResponse>\\n<RequestId>E55***B7-4***-4***-8***-D3******F565</RequestId>\\n<Data>\\n <Status>ONLINE</Status>\\n <ProductName>test</ProductName>\\n <DeviceSecret>mz2Canp4GB7qRVf1OYPNtRqB2anu****</DeviceSecret>\\n <CreateTime>1834500000000</CreateTime>\\n <OnlineTime>2298700000000</OnlineTime>\\n <FirmwareVersion>V1.0.0.0</FirmwareVersion>\\n <IotId>C47T6xwp6ms4bNlkHRWCg4****</IotId>\\n <ActiveTime>1934500000000</ActiveTime>\\n <NodeType>0</NodeType>\\n <Region>cn-shanghai</Region>\\n <IpAddress>10.***.***.***</IpAddress>\\n <ProductKey>a1Bw******</ProductKey>\\n <Nickname>detectors_in_beijing</Nickname>\\n <DeviceName>Device01</DeviceName>\\n</Data>\\n<Success>true</Success>\\n</QueryDeviceDetailResponse>","errorExample":""}]', - 'title' => 'QueryDeviceDetail', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Unexpected internal error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"LoginName\\": \\"18*******20\\",\\n \\"Email\\": \\"******\\",\\n \\"IdentityId\\": \\"5035op97******************a63994\\",\\n \\"LastLoginTime\\": 1700209499000,\\n \\"GmtCreate\\": 1700189358000,\\n \\"NickName\\": \\"18*******20\\",\\n \\"GmtModified\\": 1700209499000,\\n \\"Phone\\": \\"18*******20\\"\\n }\\n}","type":"json"}]', + 'title' => 'GetAccountById', + 'summary' => 'Queries user account information by user identity ID (IdentityId) or third-party platform user ID (OpenId).', + 'description' => '## QPS limit'."\n" + ."\n" + .'The maximum queries per second (QPS) per Alibaba Cloud account for invoking this operation is 50.'."\n" + ."\n" + .'> All Resource Access Management (RAM) users under a single Alibaba Cloud account share the quota of that account.', + 'requestParamsDescription' => 'In addition to the request parameters described in this topic, you must also specify common request parameters when you call this API operation.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'QueryFreeStorage' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAccountById'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:GetAccountById', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetDeviceStatus' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2314,26 +1451,26 @@ [ 'name' => 'ProductKey', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => 'The **ProductKey** of the product to which the video device belongs.'."\n" + ."\n" + .'><notice>If you specify this parameter, you must also specify **DeviceName**.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => 'a1Bw******', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => 'The name of the video device.'."\n" + ."\n" + .'><notice>If you specify this parameter, you must also specify **ProductKey**.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => 'Device01', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => 'The ID of the video device.'."\n" + .'><notice>'."\n" + .'**IotId** is a globally unique identifier of a device and corresponds to a combination of **ProductKey** and **DeviceName** on a one-to-one basis. If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. If you specify **IotId** together with **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', 'title' => ''], ], ], 'responses' => [ @@ -2341,210 +1478,87 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'boolean', - ], + 'Code' => ['description' => 'The error code returned if the call fails. For more information, see **Error codes** in this topic.', 'type' => 'string', 'example' => '400', 'title' => ''], + 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => 'Unexpected internal error.', 'title' => ''], + 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => 'E55***B7-4***-4***-8***-D3******F565', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" + ."\n" + .'- **true**: The call was successful.'."\n" + .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ + 'description' => 'The data returned if the call was successful.', 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'type' => 'string', - ], - 'Type' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'StartTime' => [ - 'type' => 'string', - ], - 'EndTimeUTC' => [ - 'type' => 'string', - ], - 'Months' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Expired' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'RemainQuota' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'StartTimeUTC' => [ - 'type' => 'string', - ], - 'Consumed' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Lifecycle' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'Status' => ['description' => 'The current 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.', 'type' => 'string', 'example' => 'ONLINE', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNoOwner', - 'errorMessage' => 'Device has no owner.', - ], - [ - 'errorCode' => 'iot.vision.FreeStorageQuotaLimit', - 'errorMessage' => 'No enough free storage quota or exceed limit.', - ], - [ - 'errorCode' => 'iot.vision.GetDeviceInfoFailed', - 'errorMessage' => 'Get device info failed.', - ], - [ - 'errorCode' => 'iot.vision.StorageOrderGetLockFailed', - 'errorMessage' => 'Get storage order lock failed try again later.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNotExist', - 'errorMessage' => 'Device not exist.', - ], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.InvalidIotInstance', 'errorMessage' => 'Invalid iot instance.', 'description' => 'Invalid iot instance.'], + ['errorCode' => 'iot.vision.ProductNotExist', 'errorMessage' => 'Product not exist.', 'description' => 'Product not exist.'], + ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], + ['errorCode' => 'iot.vision.InstanceArrearage', 'errorMessage' => 'Instance arrearage.', 'description' => 'Instance arrearage.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], + ['errorCode' => 'iot.vision.HasNoAccessPermission', 'errorMessage' => 'Has no access permission.', 'description' => ''], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', - ], + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], - ], - 'QueryDevicesDownloadUrl' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Unexpected internal error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Status\\": \\"ONLINE\\"\\n }\\n}","type":"json"}]', + 'title' => 'GetDeviceStatus', + 'summary' => 'Queries the status of a device.', + 'description' => '## QPS limit'."\n" + ."\n" + .'You can invoke this operation up to 50 times per second per Alibaba Cloud account.'."\n" + ."\n" + .'> All Resource Access Management (RAM) users within an Alibaba Cloud account share the quota of the account.', + 'requestParamsDescription' => 'In addition to the operation-specific request parameters described in this topic, you must also specify common request parameters when you call this operation.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDeviceStatus'], ], ], - 'systemTags' => [], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'ProductKey', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'BatchId', - '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' => [ - 'OssDownloadUrl' => [ - 'type' => 'string', - ], - ], - ], + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:GetDeviceStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'iot.system.SystemException', - 'errorMessage' => 'An internal error occurred. Try again later.', - ], - [ - 'errorCode' => 'iot.common.AuthActionPermissionDeny', - 'errorMessage' => 'The authorization fails.', - ], - ], - 403 => [ - [ - 'errorCode' => 'iot.lv.requestAuthError', - 'errorMessage' => 'Request auth error.', - ], - [ - 'errorCode' => 'iot.lv.requestParamError', - 'errorMessage' => 'Request parameter error.', - ], - ], - ], ], - 'QueryGenerateDevicesInfoList' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'GetSubDeviceList' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2555,40 +1569,36 @@ [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '50', - 'minimum' => '1', - ], + 'schema' => ['description' => 'The number of records per page in the response. Maximum value: 50.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '50', 'minimum' => '1', 'example' => '5', 'title' => ''], ], [ - 'name' => 'BatchId', + 'name' => 'ProductKey', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['description' => 'The **ProductKey** of the product to which the gateway device belongs.'."\n" + ."\n" + .'><notice>If you specify this parameter, you must also specify **DeviceName**.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => 'a1Bw******', 'title' => ''], ], [ - 'name' => 'PageNo', + 'name' => 'DeviceName', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '1000', - 'minimum' => '1', - ], + 'schema' => ['description' => 'The name of the gateway device.'."\n" + ."\n" + .'><notice>If you specify this parameter, you must also specify **ProductKey**.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => 'Device01', 'title' => ''], ], [ - 'name' => 'ProjectId', + 'name' => 'IotId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['description' => 'The ID of the gateway device.'."\n" + .'><notice>'."\n" + .'**IotId** is a globally unique identifier of a device and corresponds to a combination of **ProductKey** and **DeviceName** on a one-to-one basis. If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. If you specify **IotId** together with **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', 'title' => ''], + ], + [ + 'name' => 'PageNo', + 'in' => 'query', + 'schema' => ['description' => 'The page number to return. Maximum value: 100.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1', 'title' => ''], ], ], 'responses' => [ @@ -2596,102 +1606,101 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'boolean', - ], + 'Code' => ['description' => 'The error code returned if the call fails. For more information, see **Error codes** in this topic.', 'type' => 'string', 'example' => '400', 'title' => ''], + 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => 'Request parameter error.', 'title' => ''], + 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => 'E55***B7-4***-4***-8***-D3******F565', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" + ."\n" + .'- **true**: The call was successful.'."\n" + .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ + 'description' => 'The data returned if the call was successful.', 'type' => 'object', 'properties' => [ - 'PageNo' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'PageSize' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Total' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'ListData' => [ + 'PageNo' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of records per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Total' => ['description' => 'The total number of records.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'SubDeviceList' => [ + 'description' => 'The list of sub-devices.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'DeviceName' => [ - 'type' => 'string', - ], - 'IotId' => [ - 'type' => 'string', - ], - 'DeviceSecret' => [ - 'type' => 'string', - ], + 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device belongs.', 'type' => 'string', 'example' => 'wse5******', 'title' => ''], + 'DeviceName' => ['description' => 'The name of the device.', 'type' => 'string', 'example' => 'device-test', 'title' => ''], + 'IotId' => ['description' => 'The ID of the device.', 'type' => 'string', 'example' => 'qswdfrttgg*********', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.common.RamActionPermissionDeny', - 'errorMessage' => 'You do not have the RAM permission.', - ], - [ - 'errorCode' => 'iot.vision.ProductNotExist', - 'errorMessage' => 'Product not exist.', - ], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.InvalidIotInstance', 'errorMessage' => 'Invalid iot instance.', 'description' => 'Invalid iot instance.'], + ['errorCode' => 'iot.vision.ProductNotExist', 'errorMessage' => 'Product not exist.', 'description' => 'Product not exist.'], + ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], + ['errorCode' => 'iot.vision.InstanceArrearage', 'errorMessage' => 'Instance arrearage.', 'description' => 'Instance arrearage.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], + ['errorCode' => 'iot.vision.HasNoAccessPermission', 'errorMessage' => 'Has no access permission.', 'description' => ''], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', - ], + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], - ], - 'QueryGenerateDevicesRecord' => [ - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Request parameter error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageNo\\": 1,\\n \\"PageSize\\": 1,\\n \\"Total\\": 1,\\n \\"SubDeviceList\\": [\\n {\\n \\"ProductKey\\": \\"wse5******\\",\\n \\"DeviceName\\": \\"device-test\\",\\n \\"IotId\\": \\"qswdfrttgg*********\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'GetSubDeviceList', + 'summary' => 'Queries the list of sub-devices for a gateway device.', + 'description' => '## QPS limit'."\n" + ."\n" + .'The maximum number of queries per second (QPS) per Alibaba Cloud account for invoking this operation is 50.'."\n" + ."\n" + .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of the account.', + 'requestParamsDescription' => 'In addition to the request parameters described in this topic, you must specify common parameters when you call this operation.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSubDeviceList'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:GetSubDeviceList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetThingEventSnapshot' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2700,56 +1709,33 @@ 'systemTags' => [], 'parameters' => [ [ - 'name' => 'PageSize', - 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '1', - ], + 'name' => 'Identifier', + 'in' => 'query', + 'schema' => ['description' => 'The event identifier of the thing model.', 'type' => 'string', 'required' => true, 'example' => 'AlarmType', 'title' => ''], ], [ - 'name' => 'PageNo', - 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '1000', - 'minimum' => '1', - 'example' => '1', - ], + 'name' => 'ProductKey', + 'in' => 'query', + 'schema' => ['description' => 'The **ProductKey** of the product to which the video device belongs.'."\n" + ."\n" + .'><notice>If you specify this parameter, you must also specify **DeviceName**.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => 'a1Bw******', 'title' => ''], ], [ - 'name' => 'StartTime', - 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'maximum' => '9999999999999', - 'minimum' => '1', - 'example' => '1690819200000', - ], + 'name' => 'DeviceName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the video device.'."\n" + ."\n" + .'><notice>If you specify this parameter, you must also specify **ProductKey**.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => 'Device01', 'title' => ''], ], [ - 'name' => 'EndTime', - 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'maximum' => '9999999999999', - 'minimum' => '1', - 'example' => '1659283200000', - ], + 'name' => 'IotId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the video device.'."\n" + .'><notice>'."\n" + .'**IotId** is a globally unique identifier of the device and corresponds one-to-one with the combination of **ProductKey** and **DeviceName**. If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. If you specify **IotId** together with **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', 'title' => ''], ], ], 'responses' => [ @@ -2757,261 +1743,207 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '400', - ], - 'ErrorMessage' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Request parameter error.', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'E5******-4***-***B-8**E-D3********65', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => 'The error code returned if the call fails. For more information, see **Error codes** in this topic.', 'type' => 'string', 'example' => '400', 'title' => ''], + 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => 'Unexpected internal error.', 'title' => ''], + 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => 'E55***B7-4***-4***-8***-D3******F565', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" + ."\n" + .'- **true**: The call was successful.'."\n" + .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'PageNo' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Total' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'ListData' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ApplyDeviceCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '133', - ], - 'SpecCode' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Consumer_IPC_512Kbps', - ], - 'ProductKey' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'a3w******', - ], - 'ProductName' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - 'CreateTime' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1690819200000', - ], - 'BatchStatus' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'CREATE', - ], - 'NetworkType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'WIFI', - ], - 'OperateUid' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '110000000000', - ], - 'SuccessCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5', - ], - 'BatchId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1508******195', - ], - ], - ], - ], + 'description' => 'The data returned if the call is successful.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'EventType' => ['description' => 'The event type. Valid values:'."\n" + ."\n" + .'- **info**: information.'."\n" + .'- **alert**: alert.'."\n" + .'- **error**: fault.', 'type' => 'string', 'example' => 'alert', 'title' => ''], + 'EventCode' => ['description' => 'The event code.', 'type' => 'string', 'example' => 'IntelligentAlarm', 'title' => ''], + 'Identifier' => ['description' => 'The event identifier.', 'type' => 'string', 'example' => 'IntelligentAlarm', 'title' => ''], + 'Timestamp' => ['description' => 'The timestamp when the event occurred. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1700010288668', 'title' => ''], + 'EventBody' => ['description' => 'The event content.', 'type' => 'string', 'example' => '{\\"EventList \\":[{\\"AlarmPicID \\":\\"\\",\\"EventTime \\":\\"1700010288542 \\",\\"AlarmType \\":1,\\"AlarmPicSize \\":1,\\"Data \\":\\"test \\"}]}', 'title' => ''], + 'IotId' => ['description' => 'The device ID.', 'type' => 'string', 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.InvalidIotInstance', 'errorMessage' => 'Invalid iot instance.', 'description' => 'Invalid iot instance.'], + ['errorCode' => 'iot.vision.ProductNotExist', 'errorMessage' => 'Product not exist.', 'description' => 'Product not exist.'], + ['errorCode' => 'iot.vision.ThingModelNotExist', 'errorMessage' => 'Thing model not exist.', 'description' => 'Thing model not exist.'], + ['errorCode' => 'iot.vision.ThingModelIdentifierNotExist', 'errorMessage' => 'Thing model identifier not exist.', 'description' => 'Thing model identifier not exist.'], + ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], + ['errorCode' => 'iot.vision.InstanceArrearage', 'errorMessage' => 'Instance arrearage.', 'description' => 'Instance arrearage.'], + ['errorCode' => 'iot.vision.GetThingEventSnapshotFailed', 'errorMessage' => 'Get thing event snapshot failed.', 'description' => 'The system failed to query TSL event snapshots.'], + ['errorCode' => 'iot.vision.ThingEventNotFound', 'errorMessage' => 'Thing event not found.', 'description' => 'The TSL event does not exist.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], + ['errorCode' => 'iot.vision.HasNoAccessPermission', 'errorMessage' => 'Has no access permission.', 'description' => ''], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', - ], + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Request parameter error.\\",\\n \\"RequestId\\": \\"E5******-4***-***B-8**E-D3********65\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageNo\\": 1,\\n \\"PageSize\\": 1,\\n \\"Total\\": 5,\\n \\"ListData\\": [\\n {\\n \\"ApplyDeviceCount\\": 133,\\n \\"SpecCode\\": \\"Consumer_IPC_512Kbps\\",\\n \\"ProductKey\\": \\"a3w******\\",\\n \\"ProductName\\": \\"电é¥ç…²\\",\\n \\"CreateTime\\": 1690819200000,\\n \\"BatchStatus\\": \\"CREATE\\",\\n \\"NetworkType\\": \\"WIFI\\",\\n \\"OperateUid\\": 110000000000,\\n \\"SuccessCount\\": 5,\\n \\"BatchId\\": \\"1508******195\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryGenerateDevicesRecordResponse>\\n<RequestId>E5******-4***-***B-8**E-D3********65</RequestId>\\n<Data>\\n <PageSize>1</PageSize>\\n <Total>5</Total>\\n <PageNo>1</PageNo>\\n <ListData>\\n <SpecCode>Consumer_IPC_512Kbps</SpecCode>\\n <OperateUid>110000000000</OperateUid>\\n <ProductName>电é¥ç…²</ProductName>\\n <NetworkType>WIFI</NetworkType>\\n <BatchStatus>CREATE</BatchStatus>\\n <CreateTime>1690819200000</CreateTime>\\n <BatchId>1508******195</BatchId>\\n <SuccessCount>5</SuccessCount>\\n <ProductKey>a3w******</ProductKey>\\n <ApplyDeviceCount>133</ApplyDeviceCount>\\n </ListData>\\n</Data>\\n<Code>200</Code>\\n<Success>true</Success>\\n</QueryGenerateDevicesRecordResponse>","errorExample":""}]', - 'title' => 'QueryGenerateDevicesRecord', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Unexpected internal error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true,\\n \\"Data\\": [\\n {\\n \\"EventType\\": \\"alert\\",\\n \\"EventCode\\": \\"IntelligentAlarm\\",\\n \\"Identifier\\": \\"IntelligentAlarm\\",\\n \\"Timestamp\\": 1700010288668,\\n \\"EventBody\\": \\"{\\\\\\\\\\\\\\"EventList \\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"AlarmPicID \\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"EventTime \\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1700010288542 \\\\\\\\\\\\\\",\\\\\\\\\\\\\\"AlarmType \\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"AlarmPicSize \\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"Data \\\\\\\\\\\\\\":\\\\\\\\\\\\\\"test \\\\\\\\\\\\\\"}]}\\",\\n \\"IotId\\": \\"C47T6xwp6ms4bNlkHRWCg4****\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query thing model event snapshot', + 'description' => '## QPS limit'."\n" + ."\n" + .'The maximum number of queries per second (QPS) per Alibaba Cloud account is 50.'."\n" + ."\n" + .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of the account.', + 'requestParamsDescription' => 'In addition to the request parameters described in this topic, you must also specify common parameters when you call this operation.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'QueryStorageCommodityList' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetThingEventSnapshot'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:GetThingEventSnapshot', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'summary' => '', + ], + 'GetThingPropertySnapshot' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], - 'parameters' => [], + 'parameters' => [ + [ + 'name' => 'ProductKey', + 'in' => 'query', + 'schema' => ['description' => 'The **ProductKey** of the product to which the video device belongs.'."\n" + ."\n" + .'><notice>If you specify this parameter, you must also specify **DeviceName**.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => 'a1Bw******', 'title' => ''], + ], + [ + 'name' => 'DeviceName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the video device.'."\n" + ."\n" + .'><notice>If you specify this parameter, you must also specify **ProductKey**.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => 'Device01', 'title' => ''], + ], + [ + 'name' => 'IotId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the video device.'."\n" + .'><notice>'."\n" + .'**IotId** is a globally unique identifier of a device and corresponds to a combination of **ProductKey** and **DeviceName** on a one-to-one basis. If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. If you specify **IotId** together with **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', 'title' => ''], + ], + ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'boolean', - ], - 'Data' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Specification' => [ - 'type' => 'string', - ], - 'CommodityCode' => [ - 'type' => 'string', - ], - 'RecordType' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Price' => [ - 'type' => 'string', - ], - 'Months' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'CommodityName' => [ - 'type' => 'string', - ], - 'Lifecycle' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - ], + 'Code' => ['description' => 'The error code returned if the call fails. For more information, see **Error codes** in this topic.', 'type' => 'string', 'example' => '400', 'title' => ''], + 'Data' => ['description' => 'The property data returned if the call is successful.', 'type' => 'string', 'example' => '{\\"StreamVideoQuality\\":{\\"time\\":1699951400324,\\"value\\":\\"0\\"},\\"MotionDetectSensitivity\\":{\\"time\\":1699951400324,\\"value\\":\\"0\\"},\\"ImageFlipState\\":{\\"time\\":1699951400324,\\"value\\":\\"0\\"},\\"SubStreamVideoQuality\\":{\\"time\\":1699951400324,\\"value\\":\\"0\\"},\\"AlarmSwitch\\":{\\"time\\":1699951400324,\\"value\\":\\"0\\"},\\"AlarmFrequencyLevel\\":{\\"time\\":1700009930921,\\"value\\":\\"10\\"}}', 'title' => ''], + 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => 'Request parameter error.', 'title' => ''], + 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => 'E55***B7-4***-4***-8***-D3******F565', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the call is successful.'."\n" + ."\n" + .'- **true**: The call is successful.'."\n" + .'- **false**: The call fails.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.InvalidIotInstance', 'errorMessage' => 'Invalid iot instance.', 'description' => 'Invalid iot instance.'], + ['errorCode' => 'iot.vision.ProductNotExist', 'errorMessage' => 'Product not exist.', 'description' => 'Product not exist.'], + ['errorCode' => 'iot.vision.ThingModelNotExist', 'errorMessage' => 'Thing model not exist.', 'description' => 'Thing model not exist.'], + ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], + ['errorCode' => 'iot.vision.InstanceArrearage', 'errorMessage' => 'Instance arrearage.', 'description' => 'Instance arrearage.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], + ['errorCode' => 'iot.vision.HasNoAccessPermission', 'errorMessage' => 'Has no access permission.', 'description' => ''], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', - ], + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], - ], - 'QueryStorageOrder' => [ - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"400\\",\\n \\"Data\\": \\"{\\\\\\\\\\\\\\"StreamVideoQuality\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"time\\\\\\\\\\\\\\":1699951400324,\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"MotionDetectSensitivity\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"time\\\\\\\\\\\\\\":1699951400324,\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"ImageFlipState\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"time\\\\\\\\\\\\\\":1699951400324,\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"SubStreamVideoQuality\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"time\\\\\\\\\\\\\\":1699951400324,\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"AlarmSwitch\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"time\\\\\\\\\\\\\\":1699951400324,\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"AlarmFrequencyLevel\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"time\\\\\\\\\\\\\\":1700009930921,\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"10\\\\\\\\\\\\\\"}}\\",\\n \\"ErrorMessage\\": \\"Request parameter error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'GetThingPropertySnapshot', + 'summary' => 'Queries the snapshots of all Thing Specification Language (TSL) properties of a specified device and returns the latest property data.', + 'description' => '## Rate limit'."\n" + ."\n" + .'The maximum number of queries per second (QPS) per Alibaba Cloud account is 50.'."\n" + ."\n" + .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of the account.', + 'requestParamsDescription' => 'In addition to the operation-specific request parameters described in this topic, you must also specify common request parameters when you call this operation.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetThingPropertySnapshot'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:GetThingPropertySnapshot', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'InvokeThingService' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3020,45 +1952,38 @@ 'systemTags' => [], 'parameters' => [ [ - 'name' => 'DeviceNoOwner', + 'name' => 'Identifier', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'default' => 'false', - ], + 'schema' => ['description' => 'The service identifier in the Thing Specification Language (TSL) model.', 'type' => 'string', 'required' => true, 'example' => 'SetNum', 'title' => ''], ], [ - 'name' => 'OrderId', + 'name' => 'ProductKey', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['description' => 'The **ProductKey** of the product to which the video device belongs.'."\n" + ."\n" + .'><notice>If you specify this parameter, you must also specify **DeviceName**.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => 'a1Bw******', 'title' => ''], ], [ - 'name' => 'ProductKey', + 'name' => 'DeviceName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => 'The name of the video device.'."\n" + ."\n" + .'><notice>If you specify this parameter, you must also specify **ProductKey**.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => 'Device01', 'title' => ''], ], [ - 'name' => 'DeviceName', + 'name' => 'Args', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => 'The input parameters of the service to invoke. The value is a JSON string, such as **Args={"param1":1}**.', 'type' => 'string', 'required' => false, 'example' => '{"param1":1}', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => 'The ID of the video device.'."\n" + .'><notice>'."\n" + .'**IotId** is a globally unique identifier of a device and corresponds to a combination of **ProductKey** and **DeviceName** on a one-to-one basis. If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. If you specify **IotId** together with **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', 'title' => ''], ], ], 'responses' => [ @@ -3066,152 +1991,92 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'boolean', - ], + 'Code' => ['description' => 'The error code returned if the call fails. For more information, see **Error codes** in this topic.', 'type' => 'string', 'example' => '400', 'title' => ''], + 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => 'Request parameter error.', 'title' => ''], + 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => 'E55***B7-4***-4***-8***-D3******F565', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" + ."\n" + .'- **true**: The call was successful.'."\n" + .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ + 'description' => 'The data returned if the call is successful.', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Copies' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Specification' => [ - 'type' => 'string', - ], - 'RecordType' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'CommodityCode' => [ - 'type' => 'string', - ], - 'PreConsume' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'EndTimeUTC' => [ - 'type' => 'string', - ], - 'UserId' => [ - 'type' => 'string', - ], - 'IdentityId' => [ - 'type' => 'string', - ], - 'StartTimeUTC' => [ - 'type' => 'string', - ], - 'EndTime' => [ - 'type' => 'string', - ], - 'StartTime' => [ - 'type' => 'string', - ], - 'OutOrderNo' => [ - 'type' => 'string', - ], - 'Price' => [ - 'type' => 'string', - ], - 'OrderType' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'PaymentStatus' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'UserName' => [ - 'type' => 'string', - ], - 'OrderId' => [ - 'type' => 'string', - ], - 'IotId' => [ - 'type' => 'string', - ], + 'Data' => ['description' => 'The result of the service invocation, in JSON string format.', 'type' => 'string', 'example' => '{"param1":1}', 'title' => ''], + 'MessageId' => ['description' => 'The ID of the message sent from the cloud to the device for the service invocation.', 'type' => 'string', 'example' => 'abcabcabc1234****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNoOwner', - 'errorMessage' => 'Device has no owner.', - ], - [ - 'errorCode' => 'iot.vision.InvalidStorageOrder', - 'errorMessage' => 'Invalid storage order.', - ], - [ - 'errorCode' => 'iot.vision.DeviceOwnerChanged', - 'errorMessage' => 'Device owner changed.', - ], - [ - 'errorCode' => 'iot.vision.StorageOrderGetLockFailed', - 'errorMessage' => 'Get storage order lock failed try again later.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNotExist', - 'errorMessage' => 'Device not exist.', - ], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.InvalidIotInstance', 'errorMessage' => 'Invalid iot instance.', 'description' => 'Invalid iot instance.'], + ['errorCode' => 'iot.vision.ProductNotExist', 'errorMessage' => 'Product not exist.', 'description' => 'Product not exist.'], + ['errorCode' => 'iot.vision.ThingModelNotExist', 'errorMessage' => 'Thing model not exist.', 'description' => 'Thing model not exist.'], + ['errorCode' => 'iot.vision.ThingModelIdentifierNotExist', 'errorMessage' => 'Thing model identifier not exist.', 'description' => 'Thing model identifier not exist.'], + ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], + ['errorCode' => 'iot.vision.InstanceArrearage', 'errorMessage' => 'Instance arrearage.', 'description' => 'Instance arrearage.'], + ['errorCode' => 'iot.vision.ServiceParamNotExist', 'errorMessage' => 'Invoke service failed as service param not exist.', 'description' => 'The parameter of the TSL service does not exist.'], + ['errorCode' => 'iot.vision.ServiceNotFound', 'errorMessage' => 'Invoke service failed as service not found.', 'description' => 'The TSL service does not exist.'], + ['errorCode' => 'iot.vision.DeviceInactive', 'errorMessage' => 'Device inactive.', 'description' => 'The device is inactive.'], + ['errorCode' => 'iot.vision.DevcieOffline', 'errorMessage' => 'Device offline.', 'description' => 'The device is offline.'], + ['errorCode' => 'iot.vision.ServiceEnumSpecError', 'errorMessage' => 'Service enum spec error.', 'description' => 'The enumeration parameter of the TSL service is invalid.'], + ['errorCode' => 'iot.vision.ServiceResponseTimeout', 'errorMessage' => 'Invoke service response timeout.', 'description' => 'The device response timed out.'], + ['errorCode' => 'iot.vision.InvokeServiceFailed', 'errorMessage' => 'Invoke service failed:%s', 'description' => 'The system failed to call the TSL service.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], + ['errorCode' => 'iot.vision.HasNoAccessPermission', 'errorMessage' => 'Has no access permission.', 'description' => ''], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', - ], + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], - ], - 'QueryStorageOrderList' => [ - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Request parameter error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Data\\": \\"{\\\\\\"param1\\\\\\":1}\\",\\n \\"MessageId\\": \\"abcabcabc1234****\\"\\n }\\n}","type":"json"}]', + 'title' => 'InvokeThingService', + 'summary' => 'Invokes a specified service on a single device.', + 'description' => '## QPS limit'."\n" + ."\n" + .'The maximum number of queries per second (QPS) per Alibaba Cloud account is 200.'."\n" + ."\n" + .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of that account.', + 'requestParamsDescription' => 'In addition to the request parameters described in this topic, you must also specify common parameters when calling this API operation.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InvokeThingService'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:InvokeThingService', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListBindingAccountByDevice' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3220,59 +2085,47 @@ 'systemTags' => [], 'parameters' => [ [ - 'name' => 'DeviceNoOwner', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'default' => 'false', - ], - ], - [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '200', - 'minimum' => '1', - ], + 'schema' => ['description' => 'The number of records to display on each page. Maximum value: 50.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '50', 'minimum' => '1', 'example' => '5', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => 'The **ProductKey** of the product to which the video device belongs.'."\n" + ."\n" + .'><notice>If you specify this parameter, you must also specify **DeviceName**.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => 'a1Bw******', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => 'The name of the video device.'."\n" + ."\n" + .'><notice>If you specify this parameter, you must also specify **ProductKey**.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => 'Device01', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => 'The ID of the video device.'."\n" + .'><notice>'."\n" + .'**IotId** is a globally unique identifier of a device and corresponds to a combination of **ProductKey** and **DeviceName** on a one-to-one basis. If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. If you specify **IotId** together with **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', 'title' => ''], ], [ 'name' => 'PageNo', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '1000', - 'minimum' => '1', - ], + 'schema' => ['description' => 'The page number to display in the returned results. Maximum value: 100.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'Owned', + 'in' => 'query', + 'schema' => ['description' => 'The binding type between the user and the device.'."\n" + ."\n" + .'- **0**: shared user.'."\n" + .'- **1**: administrator user.'."\n" + .'- If this parameter is not specified, all users are queried.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1', 'minimum' => '0', 'example' => '0', 'title' => ''], ], ], 'responses' => [ @@ -3280,172 +2133,98 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'boolean', - ], + 'Code' => ['description' => 'The error code returned if the call fails. For more information, see **Error codes** in this topic.', 'type' => 'string', 'example' => '400', 'title' => ''], + 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => 'Unexpected internal error.', 'title' => ''], + 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => 'E55***B7-4***-4***-8***-D3******F565', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" + ."\n" + .'- **true**: The call was successful.'."\n" + .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ + 'description' => 'The data returned if the call is successful.', 'type' => 'object', 'properties' => [ - 'PageNo' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'PageSize' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Total' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'PageCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'StorageOrderList' => [ + 'PageNo' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of records displayed on each page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Total' => ['description' => 'The total number of records.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'AccountList' => [ + 'description' => 'The list of user information.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Copies' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Specification' => [ - 'type' => 'string', - ], - 'RecordType' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'CommodityCode' => [ - 'type' => 'string', - ], - 'PreConsume' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'EndTimeUTC' => [ - 'type' => 'string', - ], - 'UserId' => [ - 'type' => 'string', - ], - 'IdentityId' => [ - 'type' => 'string', - ], - 'StartTimeUTC' => [ - 'type' => 'string', - ], - 'EndTime' => [ - 'type' => 'string', - ], - 'StartTime' => [ - 'type' => 'string', - ], - 'OutOrderNo' => [ - 'type' => 'string', - ], - 'Price' => [ - 'type' => 'string', - ], - 'OrderType' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'PaymentStatus' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'UserName' => [ - 'type' => 'string', - ], - 'OrderId' => [ - 'type' => 'string', - ], - 'IotId' => [ - 'type' => 'string', - ], + 'IdentityAlias' => ['description' => 'The display name of the user.', 'type' => 'string', 'example' => '18*******20', 'title' => ''], + 'IdentityId' => ['description' => 'The identity ID of the user.', 'type' => 'string', 'example' => '5035op97******************a63994', 'title' => ''], + 'BindTime' => ['description' => 'The time when the device was bound to the user. The value is a 13-digit timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '2222220000000', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNoOwner', - 'errorMessage' => 'Device has no owner.', - ], - [ - 'errorCode' => 'iot.vision.DeviceOwnerChanged', - 'errorMessage' => 'Device owner changed.', - ], - [ - 'errorCode' => 'iot.vision.StorageOrderGetLockFailed', - 'errorMessage' => 'Get storage order lock failed try again later.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNotExist', - 'errorMessage' => 'Device not exist.', - ], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.TenantMismatch', 'errorMessage' => 'Caller tenant and account belong tenant mismatch.', 'description' => 'The tenant of the API operation caller is different from the tenant to which the account belongs.'], + ['errorCode' => 'iot.vision.QueryBindingAccountFailed', 'errorMessage' => 'Query binding account failed.', 'description' => 'The system failed to query associated users.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', - ], + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], - ], - 'TransferStorageOrder' => [ - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Unexpected internal error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageNo\\": 1,\\n \\"PageSize\\": 1,\\n \\"Total\\": 1,\\n \\"AccountList\\": [\\n {\\n \\"IdentityAlias\\": \\"18*******20\\",\\n \\"IdentityId\\": \\"5035op97******************a63994\\",\\n \\"BindTime\\": 2222220000000\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'ListBindingAccountByDevice', + 'summary' => 'Queries the list of users bound to a specified device.', + 'description' => '## Rate limit'."\n" + ."\n" + .'You can invoke this operation up to 50 times per second (QPS) for each Alibaba Cloud account.'."\n" + ."\n" + .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of the account.', + 'requestParamsDescription' => 'In addition to the operation-specific request parameters described in this topic, you must also specify common request parameters when you call this operation.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListBindingAccountByDevice'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:ListBindingAccountByDevice', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListBindingDeviceByAccount' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3454,104 +2233,34 @@ 'systemTags' => [], 'parameters' => [ [ - 'name' => 'EventRecordDuration', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '30', - 'minimum' => '0', - 'default' => '10', - ], - ], - [ - 'name' => 'DstIotId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'SupportCrossIdentityTransfer', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'default' => 'false', - ], - ], - [ - 'name' => 'SrcIotId', + 'name' => 'OpenId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ - 'name' => 'SrcOrderId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'EventRecordProlong', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'default' => 'false', - ], - ], - [ - 'name' => 'ImmediateUse', + 'name' => 'OpenIdAppKey', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'default' => 'false', - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ - 'name' => 'UserName', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '50', 'minimum' => '1', 'description' => '', 'title' => '', 'example' => ''], ], [ - 'name' => 'UserId', + 'name' => 'IdentityId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ - 'name' => 'EnableDefaultPlan', + 'name' => 'PageNo', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'default' => 'false', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'description' => '', 'title' => '', 'example' => ''], ], [ - 'name' => 'PreRecordDuration', + 'name' => 'SubDevice', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5', - 'minimum' => '0', - 'default' => '0', - ], + 'schema' => ['type' => 'boolean', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -3559,156 +2268,93 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'boolean', - ], + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Copies' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Specification' => [ - 'type' => 'string', - ], - 'RecordType' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'CommodityCode' => [ - 'type' => 'string', - ], - 'PreConsume' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'EndTimeUTC' => [ - 'type' => 'string', - ], - 'UserId' => [ - 'type' => 'string', - ], - 'IdentityId' => [ - 'type' => 'string', - ], - 'StartTimeUTC' => [ - 'type' => 'string', - ], - 'EndTime' => [ - 'type' => 'string', - ], - 'StartTime' => [ - 'type' => 'string', - ], - 'OutOrderNo' => [ - 'type' => 'string', - ], - 'Price' => [ - 'type' => 'string', - ], - 'OrderType' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'PaymentStatus' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'UserName' => [ - 'type' => 'string', - ], - 'OrderId' => [ - 'type' => 'string', - ], - 'IotId' => [ - 'type' => 'string', + 'PageNo' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'PageSize' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Total' => ['type' => 'integer', 'format' => 'int64', 'description' => '', 'title' => '', 'example' => ''], + 'PageCount' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'DeviceList' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ProductKey' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Owned' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'DeviceName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'NodeType' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'BindTime' => ['type' => 'integer', 'format' => 'int64', 'description' => '', 'title' => '', 'example' => ''], + 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNoOwner', - 'errorMessage' => 'Device has no owner.', - ], - [ - 'errorCode' => 'iot.vision.DeviceOwnerChanged', - 'errorMessage' => 'Device owner changed.', - ], - [ - 'errorCode' => 'iot.vision.InvalidStorageOrder', - 'errorMessage' => 'Invalid storage order.', - ], - [ - 'errorCode' => 'iot.vision.StorageOrderGetLockFailed', - 'errorMessage' => 'Get storage order lock failed try again later.', - ], - [ - 'errorCode' => 'iot.vision.StorageOrderStatusInvalid', - 'errorMessage' => 'Storage order status invalid.', - ], - [ - 'errorCode' => 'iot.vision.TargetDeviceOwnerDifferent', - 'errorMessage' => 'Target device owner is different.', - ], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.QueryBindingDeviceFailed', 'errorMessage' => 'Query binding device failed.', 'description' => 'The system failed to query the associated device list.'], + ['errorCode' => 'iot.vision.GetAccountInfoFailed', 'errorMessage' => 'Get account info failed.', 'description' => 'The system failed to query information about the account.'], + ['errorCode' => 'iot.vision.AccountNotFound', 'errorMessage' => 'Account not found.', 'description' => 'The account does not exist.'], + ['errorCode' => 'iot.vision.TenantMismatch', 'errorMessage' => 'Caller tenant and account belong tenant mismatch.', 'description' => 'The tenant of the API operation caller is different from the tenant to which the account belongs.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', - ], + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], - ], - 'UploadDeviceNameList' => [ - 'methods' => [ - 'post', - 'get', + 'title' => '', + 'summary' => '', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListBindingDeviceByAccount'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:ListBindingDeviceByAccount', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"PageNo\\": 0,\\n \\"PageSize\\": 0,\\n \\"Total\\": 0,\\n \\"PageCount\\": 0,\\n \\"DeviceList\\": [\\n {\\n \\"ProductKey\\": \\"\\",\\n \\"Owned\\": 0,\\n \\"DeviceName\\": \\"\\",\\n \\"NodeType\\": \\"\\",\\n \\"BindTime\\": 0,\\n \\"IotId\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'QueryBatchStatus' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3717,33 +2363,19 @@ 'systemTags' => [], 'parameters' => [ [ - 'name' => 'DeviceNames', - 'in' => 'formData', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'required' => true, - 'maxItems' => 10000, - ], + 'name' => 'BatchId', + 'in' => 'query', + 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProjectId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -3751,106 +2383,95 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'boolean', - ], + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ - 'BatchId' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'InvalidDetailList' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'DeviceName' => [ - 'type' => 'string', - ], - 'ErrorMsg' => [ - 'type' => 'string', - ], + 'DeviceName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMsg' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'RepeatedDeviceNameList' => [ + 'InvalidList' => [ 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'InvalidDeviceNameList' => [ + 'ValidList' => [ 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.ActiveCodeInsufficient', - 'errorMessage' => 'Active code quota is insufficient.', - ], - [ - 'errorCode' => 'iot.vision.DevicesCountExceedLimit', - 'errorMessage' => 'The devices count exceed the limit.', - ], - [ - 'errorCode' => 'iot.vision.DevicesExceedUnreleasedProductLimit', - 'errorMessage' => 'Devices count exceed the limit of unreleased product.', - ], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', - ], + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], - ], - 'GetThingEventSnapshot' => [ - 'methods' => [ - 'post', - 'get', + 'title' => '', + 'summary' => '', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryBatchStatus'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:QueryBatchStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"Status\\": \\"\\",\\n \\"InvalidDetailList\\": [\\n {\\n \\"DeviceName\\": \\"\\",\\n \\"ErrorMsg\\": \\"\\"\\n }\\n ],\\n \\"InvalidList\\": [\\n \\"\\"\\n ],\\n \\"ValidList\\": [\\n \\"\\"\\n ]\\n }\\n}","type":"json"}]', + ], + 'QueryDeviceDetail' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3859,44 +2480,33 @@ 'systemTags' => [], 'parameters' => [ [ - 'name' => 'Identifier', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'AlarmType', - ], - ], - [ 'name' => 'ProductKey', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'a1Bw******', - ], + 'schema' => ['description' => 'The **ProductKey** of the product to which the video device belongs.'."\n" + ."\n" + .'><notice>If you specify this parameter, you must also specify **DeviceName**.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => 'a1Bw******', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'Device01', - ], + 'schema' => ['description' => 'The name of the video device.'."\n" + ."\n" + .'><notice>If you specify this parameter, you must also specify **ProductKey**.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => 'Device01', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', - ], + 'schema' => ['description' => 'The ID of the video device.'."\n" + .'><notice>'."\n" + .'**IotId** is a globally unique identifier of a device and corresponds to a combination of **ProductKey** and **DeviceName** on a one-to-one basis. If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. If you specify **IotId** together with **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', 'title' => ''], + ], + [ + 'name' => 'ProjectId', + 'in' => 'query', + 'schema' => ['description' => 'The project ID.', 'type' => 'string', 'required' => true, 'example' => 'a123qs*****sy4QU', 'title' => ''], ], ], 'responses' => [ @@ -3904,151 +2514,105 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '400', - ], - 'ErrorMessage' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Unexpected internal error.', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'E55***B7-4***-4***-8***-D3******F565', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => 'The error code returned if the call fails. For more information, see **Error codes** in this topic.', 'type' => 'string', 'example' => '400', 'title' => ''], + 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => 'Request parameter error.', 'title' => ''], + 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => 'E55***B7-4***-4***-8***-D3******F565', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" + ."\n" + .'- **true**: The call was successful.'."\n" + .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'EventType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'alert', - ], - 'EventCode' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'IntelligentAlarm', - ], - 'Identifier' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'IntelligentAlarm', - ], - 'Timestamp' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1700010288668', - ], - 'EventBody' => [ - 'description' => '', - 'type' => 'string', - 'example' => '{\\"EventList \\":[{\\"AlarmPicID \\":\\"\\",\\"EventTime \\":\\"1700010288542 \\",\\"AlarmType \\":1,\\"AlarmPicSize \\":1,\\"Data \\":\\"test \\"}]}', - ], - 'IotId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', - ], - ], + 'description' => 'The data returned if the call is successful.', + '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 disabled.', 'type' => 'string', 'example' => 'ONLINE', 'title' => ''], + 'ProductName' => ['description' => 'The name of the product to which the device belongs.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'DeviceName' => ['description' => 'The device name.', 'type' => 'string', 'example' => 'Device01', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the device was created. The value is a 13-digit timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1834500000000', 'title' => ''], + 'FirmwareVersion' => ['description' => 'The version number of the default OTA module of the device.', 'type' => 'string', 'example' => 'V1.0.0.0', 'title' => ''], + 'OnlineTime' => ['description' => 'The last online time of the device. The value is a 13-digit UNIX timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '2298700000000', 'title' => ''], + 'ActiveTime' => ['description' => 'The time when the device was activated. The value is a 13-digit timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1934500000000', 'title' => ''], + 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device belongs.', 'type' => 'string', 'example' => 'a1Bw******', 'title' => ''], + 'IpAddress' => ['description' => 'The IP address of the device.', 'type' => 'string', 'example' => '10.***.***.***', 'title' => ''], + 'NodeType' => ['description' => 'The node type. Valid values:'."\n" + ."\n" + .'- **0**: device. A device cannot mount child devices.'."\n" + .'- **1**: gateway. A gateway can mount child devices.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Region' => ['description' => 'The ID of the region where the device resides.', 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''], + 'DeviceSecret' => ['description' => 'The device secret.', 'type' => 'string', 'example' => 'mz2Canp4GB7qRVf1OYPNtRqB2anu****', 'title' => ''], + 'Nickname' => ['description' => 'The alias of the device.', 'type' => 'string', 'example' => 'detectors_in_beijing', 'title' => ''], + 'IotId' => ['description' => 'The device ID.', 'type' => 'string', 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.InvalidIotInstance', - 'errorMessage' => 'Invalid iot instance.', - ], - [ - 'errorCode' => 'iot.vision.ProductNotExist', - 'errorMessage' => 'Product not exist.', - ], - [ - 'errorCode' => 'iot.vision.ThingModelNotExist', - 'errorMessage' => 'Thing model not exist.', - ], - [ - 'errorCode' => 'iot.vision.ThingModelIdentifierNotExist', - 'errorMessage' => 'Thing model identifier not exist.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNotExist', - 'errorMessage' => 'Device not exist.', - ], - [ - 'errorCode' => 'iot.vision.InstanceArrearage', - 'errorMessage' => 'Instance arrearage.', - ], - [ - 'errorCode' => 'iot.vision.GetThingEventSnapshotFailed', - 'errorMessage' => 'Get thing event snapshot failed.', - ], - [ - 'errorCode' => 'iot.vision.ThingEventNotFound', - 'errorMessage' => 'Thing event not found.', - ], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.InvalidIotInstance', 'errorMessage' => 'Invalid iot instance.', 'description' => 'Invalid iot instance.'], + ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], + ['errorCode' => 'iot.vision.ProductNotExist', 'errorMessage' => 'Product not exist.', 'description' => 'Product not exist.'], + ['errorCode' => 'iot.vision.DeviceNameFormatInvalid', 'errorMessage' => 'Device name format invalid.', 'description' => 'Device name format invalid.'], + ['errorCode' => 'iot.vision.InstanceArrearage', 'errorMessage' => 'Instance arrearage.', 'description' => 'Instance arrearage.'], + ['errorCode' => 'iot.vision.ProductKeyFormatInvalid', 'errorMessage' => 'Product key format invalid.', 'description' => 'Product key format invalid.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], - [ - 'errorCode' => 'iot.vision.HasNoAccessPermission', - 'errorMessage' => 'Has no access permission.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], + ['errorCode' => 'iot.vision.HasNoAccessPermission', 'errorMessage' => 'Has no access permission.', 'description' => ''], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', - ], + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Unexpected internal error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true,\\n \\"Data\\": [\\n {\\n \\"EventType\\": \\"alert\\",\\n \\"EventCode\\": \\"IntelligentAlarm\\",\\n \\"Identifier\\": \\"IntelligentAlarm\\",\\n \\"Timestamp\\": 1700010288668,\\n \\"EventBody\\": \\"{\\\\\\\\\\\\\\"EventList \\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"AlarmPicID \\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"EventTime \\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1700010288542 \\\\\\\\\\\\\\",\\\\\\\\\\\\\\"AlarmType \\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"AlarmPicSize \\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"Data \\\\\\\\\\\\\\":\\\\\\\\\\\\\\"test \\\\\\\\\\\\\\"}]}\\",\\n \\"IotId\\": \\"C47T6xwp6ms4bNlkHRWCg4****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetThingEventSnapshotResponse>\\n<RequestId>E55***B7-4***-4***-8***-D3******F565</RequestId>\\n<Data>\\n <IotId>C47T6xwp6ms4bNlkHRWCg4****</IotId>\\n <Identifier>IntelligentAlarm</Identifier>\\n <EventBody>{\\"EventList \\":[{\\"AlarmPicID \\":\\"\\",\\"EventTime \\":\\"1700010288542 \\",\\"AlarmType \\":1,\\"AlarmPicSize \\":1,\\"Data \\":\\"test \\"}]}</EventBody>\\n <EventType>alert</EventType>\\n <Timestamp>1700010288668</Timestamp>\\n <EventCode>IntelligentAlarm</EventCode>\\n</Data>\\n<Success>true</Success>\\n</GetThingEventSnapshotResponse>","errorExample":""}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Request parameter error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Status\\": \\"ONLINE\\",\\n \\"ProductName\\": \\"test\\",\\n \\"DeviceName\\": \\"Device01\\",\\n \\"CreateTime\\": 1834500000000,\\n \\"FirmwareVersion\\": \\"V1.0.0.0\\",\\n \\"OnlineTime\\": 2298700000000,\\n \\"ActiveTime\\": 1934500000000,\\n \\"ProductKey\\": \\"a1Bw******\\",\\n \\"IpAddress\\": \\"10.***.***.***\\",\\n \\"NodeType\\": 0,\\n \\"Region\\": \\"cn-shanghai\\",\\n \\"DeviceSecret\\": \\"mz2Canp4GB7qRVf1OYPNtRqB2anu****\\",\\n \\"Nickname\\": \\"detectors_in_beijing\\",\\n \\"IotId\\": \\"C47T6xwp6ms4bNlkHRWCg4****\\"\\n }\\n}","type":"json"}]', + 'title' => 'QueryDeviceDetail', + 'summary' => 'Queries the details of a specified device.', + 'description' => '## Rate limit'."\n" + ."\n" + .'You can invoke this operation up to 50 times per second (QPS) per Alibaba Cloud account.'."\n" + ."\n" + .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of the account.', + 'requestParamsDescription' => 'In addition to the operation-specific request parameters described in this topic, you must also specify common request parameters when you call this operation.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'BatchBindDevice' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceDetail'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:QueryDeviceDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'QueryDevicesDownloadUrl' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4057,55 +2621,14 @@ 'systemTags' => [], 'parameters' => [ [ - 'name' => 'OpenId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'OpenIdAppKey', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'IdentityId', + 'name' => 'ProductKey', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ - 'name' => 'DeviceList', + 'name' => 'BatchId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ProductKey' => [ - 'type' => 'string', - 'required' => false, - ], - 'DeviceName' => [ - 'type' => 'string', - 'required' => false, - ], - 'IotId' => [ - 'type' => 'string', - 'required' => false, - ], - ], - ], - 'required' => true, - 'maxItems' => 20, - ], + 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -4113,113 +2636,62 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'boolean', - ], + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ - 'BindDeviceList' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'BindResultMessage' => [ - 'type' => 'string', - ], - 'ProductKey' => [ - 'type' => 'string', - ], - 'BindResultCode' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'DeviceName' => [ - 'type' => 'string', - ], - 'IotId' => [ - 'type' => 'string', - ], - ], - ], - ], + 'OssDownloadUrl' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.GetAccountInfoFailed', - 'errorMessage' => 'Get account info failed.', - ], - [ - 'errorCode' => 'iot.vision.AccountNotFound', - 'errorMessage' => 'Account not found.', - ], - [ - 'errorCode' => 'iot.vision.TenantMismatch', - 'errorMessage' => 'Caller tenant and account belong tenant mismatch.', - ], - [ - 'errorCode' => 'iot.vision.IdentityAppKeyProductNotBind', - 'errorMessage' => 'The app associated with the identityId does not have permission to access the product.', - ], - [ - 'errorCode' => 'iot.vision.BindFailed', - 'errorMessage' => 'Bind account and device failed.', - ], + ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => ''], + ['errorCode' => 'iot.common.AuthActionPermissionDeny', 'errorMessage' => 'The authorization fails.', 'description' => 'The authorization fails.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], + ['errorCode' => 'iot.lv.requestAuthError', 'errorMessage' => 'Request auth error.', 'description' => 'The verification failed.'], + ['errorCode' => 'iot.lv.requestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'The request parameter is invalid.'], ], - 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', + ], + 'title' => '', + 'summary' => '', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDevicesDownloadUrl'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:QueryDevicesDownloadUrl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"OssDownloadUrl\\": \\"\\"\\n }\\n}","type":"json"}]', ], - 'GetAccountById' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'QueryFreeStorage' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4228,34 +2700,19 @@ 'systemTags' => [], 'parameters' => [ [ - 'name' => 'OpenId', + 'name' => 'ProductKey', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '60yqjd1**************************561da00851', - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ - 'name' => 'OpenIdAppKey', + 'name' => 'DeviceName', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '76****57', - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ - 'name' => 'IdentityId', + 'name' => 'IotId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '5035op97******************a63994', - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -4263,137 +2720,80 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '400', - ], - 'ErrorMessage' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Unexpected internal error.', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'E55***B7-4***-4***-8***-D3******F565', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'LoginName' => [ - 'description' => '', - 'type' => 'string', - 'example' => '18*******20', - ], - 'Email' => [ - 'description' => '', - 'type' => 'string', - 'example' => '******', - ], - 'IdentityId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '5035op97******************a63994', - ], - 'LastLoginTime' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1700209499000', - ], - 'GmtCreate' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1700189358000', - ], - 'NickName' => [ - 'description' => '', - 'type' => 'string', - 'example' => '18*******20', - ], - 'GmtModified' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1700209499000', - ], - 'Phone' => [ - 'description' => '', - 'type' => 'string', - 'example' => '18*******20', - ], + 'EndTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Type' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'StartTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'EndTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Months' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Expired' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'RemainQuota' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'StartTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Consumed' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Lifecycle' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.GetAccountInfoFailed', - 'errorMessage' => 'Get account info failed.', - ], - [ - 'errorCode' => 'iot.vision.AccountNotFound', - 'errorMessage' => 'Account not found.', - ], - [ - 'errorCode' => 'iot.vision.TenantMismatch', - 'errorMessage' => 'Caller tenant and account belong tenant mismatch.', - ], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => 'Device has no owner.'], + ['errorCode' => 'iot.vision.FreeStorageQuotaLimit', 'errorMessage' => 'No enough free storage quota or exceed limit.', 'description' => 'No enough free storage quota or exceed limit.'], + ['errorCode' => 'iot.vision.GetDeviceInfoFailed', 'errorMessage' => 'Get device info failed.', 'description' => 'The system failed to query the details of the device.'], + ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => 'The system failed to obtain the distributed lock of the cloud storage order. Try again later.'], + ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', - ], + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Unexpected internal error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"LoginName\\": \\"18*******20\\",\\n \\"Email\\": \\"******\\",\\n \\"IdentityId\\": \\"5035op97******************a63994\\",\\n \\"LastLoginTime\\": 1700209499000,\\n \\"GmtCreate\\": 1700189358000,\\n \\"NickName\\": \\"18*******20\\",\\n \\"GmtModified\\": 1700209499000,\\n \\"Phone\\": \\"18*******20\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetAccountByIdResponse>\\n<RequestId>E55***B7-4***-4***-8***-D3******F565</RequestId>\\n<Data>\\n <LastLoginTime>1700209499000</LastLoginTime>\\n <LoginName>18*******20</LoginName>\\n <GmtCreate>1700189358000</GmtCreate>\\n <Email>******</Email>\\n <Phone>18*******20</Phone>\\n <GmtModified>1700209499000</GmtModified>\\n <IdentityId>5035op97******************a63994</IdentityId>\\n <NickName>18*******20</NickName>\\n</Data>\\n<Success>true</Success>\\n</GetAccountByIdResponse>","errorExample":""}]', - 'title' => 'GetAccountById', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'GetDeviceStatus' => [ - 'methods' => [ - 'post', - 'get', + 'title' => '', + 'summary' => '', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryFreeStorage'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:QueryFreeStorage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"EndTime\\": \\"\\",\\n \\"Type\\": 0,\\n \\"StartTime\\": \\"\\",\\n \\"EndTimeUTC\\": \\"\\",\\n \\"Months\\": 0,\\n \\"Expired\\": 0,\\n \\"RemainQuota\\": 0,\\n \\"StartTimeUTC\\": \\"\\",\\n \\"Consumed\\": 0,\\n \\"Lifecycle\\": 0\\n }\\n}","type":"json"}]', + ], + 'QueryGenerateDevicesInfoList' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4402,34 +2802,24 @@ 'systemTags' => [], 'parameters' => [ [ - 'name' => 'ProductKey', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'a1Bw******', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '50', 'minimum' => '1', 'description' => '', 'title' => '', 'example' => ''], ], [ - 'name' => 'DeviceName', + 'name' => 'BatchId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'Device01', - ], + 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ - 'name' => 'IotId', + 'name' => 'PageNo', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '1000', 'minimum' => '1', 'description' => '', 'title' => '', 'example' => ''], + ], + [ + 'name' => 'ProjectId', + 'in' => 'query', + 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -4437,107 +2827,86 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '400', - ], - 'ErrorMessage' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Unexpected internal error.', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'E55***B7-4***-4***-8***-D3******F565', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'Status' => [ + 'PageNo' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'PageSize' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Total' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'ListData' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DeviceName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'DeviceSecret' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], 'description' => '', - 'type' => 'string', - 'example' => 'ONLINE', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.InvalidIotInstance', - 'errorMessage' => 'Invalid iot instance.', - ], - [ - 'errorCode' => 'iot.vision.ProductNotExist', - 'errorMessage' => 'Product not exist.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNotExist', - 'errorMessage' => 'Device not exist.', - ], - [ - 'errorCode' => 'iot.vision.InstanceArrearage', - 'errorMessage' => 'Instance arrearage.', - ], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.common.RamActionPermissionDeny', 'errorMessage' => 'You do not have the RAM permission.', 'description' => 'The RAM user does not have permissions to access the resource.'], + ['errorCode' => 'iot.vision.ProductNotExist', 'errorMessage' => 'Product not exist.', 'description' => 'Product not exist.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], - [ - 'errorCode' => 'iot.vision.HasNoAccessPermission', - 'errorMessage' => 'Has no access permission.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', - ], + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Unexpected internal error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Status\\": \\"ONLINE\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetDeviceStatusResponse>\\n<RequestId>E55***B7-4***-4***-8***-D3******F565</RequestId>\\n<Data>\\n <Status>ONLINE</Status>\\n</Data>\\n<Success>true</Success>\\n</GetDeviceStatusResponse>","errorExample":""}]', - 'title' => 'GetDeviceStatus', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'GetSubDeviceList' => [ - 'methods' => [ - 'post', - 'get', + 'title' => '', + 'summary' => '', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryGenerateDevicesInfoList'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:QueryGenerateDevicesInfoList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"PageNo\\": 0,\\n \\"PageSize\\": 0,\\n \\"Total\\": 0,\\n \\"ListData\\": [\\n {\\n \\"DeviceName\\": \\"\\",\\n \\"IotId\\": \\"\\",\\n \\"DeviceSecret\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'QueryGenerateDevicesRecord' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4547,59 +2916,26 @@ 'parameters' => [ [ 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '5', - ], - ], - [ - 'name' => 'ProductKey', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'a1Bw******', - ], + 'in' => 'formData', + 'schema' => ['description' => 'The number of records per page. Maximum value: 100.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1', 'title' => ''], ], [ - 'name' => 'DeviceName', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'Device01', - ], + 'name' => 'PageNo', + 'in' => 'formData', + 'schema' => ['description' => 'The page number to return. Maximum value: 1000.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '1000', 'minimum' => '1', 'example' => '1', 'title' => ''], ], [ - 'name' => 'IotId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', - ], + 'name' => 'StartTime', + 'in' => 'formData', + 'schema' => ['description' => 'The start time in millisecond-level UNIX timestamp.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '9999999999999', 'minimum' => '1', 'example' => '1690819200000', 'title' => ''], ], [ - 'name' => 'PageNo', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '1', - ], + 'name' => 'EndTime', + 'in' => 'formData', + 'schema' => ['description' => 'The end time in millisecond-level UNIX timestamp.'."\n" + ."\n" + .'><notice> The interval between the start time and end time cannot exceed 30 days.'."\n" + .'></notice>.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '9999999999999', 'minimum' => '1', 'example' => '1659283200000', 'title' => ''], ], ], 'responses' => [ @@ -4607,286 +2943,204 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '400', - ], - 'ErrorMessage' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Request parameter error.', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'E55***B7-4***-4***-8***-D3******F565', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => 'The result code of the call:'."\n" + .'- A value of 200 indicates success.'."\n" + .'- Any other value indicates failure. For more information, see **Error codes** in this topic.', 'type' => 'string', 'example' => '400', 'title' => ''], + 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => 'Request parameter error.', 'title' => ''], + 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => 'E5******-4***-***B-8**E-D3********65', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" + .'- **true**: The call was successful.'."\n" + .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ - 'description' => '', + 'description' => 'The result returned if the call was successful.', 'type' => 'object', 'properties' => [ - 'PageNo' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Total' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'SubDeviceList' => [ - 'description' => '', + 'PageNo' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of records per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Total' => ['description' => 'The total number of records.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'ListData' => [ + 'description' => 'The details of the device registration records.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'ProductKey' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'wse5******', - ], - 'DeviceName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'device-test', - ], - 'IotId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'qswdfrttgg*********', - ], + 'ApplyDeviceCount' => ['description' => 'The number of devices applied for.', 'type' => 'integer', 'format' => 'int64', 'example' => '133', 'title' => ''], + 'SpecCode' => ['description' => 'The activation code specification. Valid values:'."\n" + ."\n" + .'- **Consumer_IPC_512Kbps**: consumer IPC 512 Kbps.'."\n" + .'- **Consumer_IPC_1Mbps**: consumer IPC 1 Mbps.'."\n" + .'- **Consumer_IPC_2Mbps**: consumer IPC 2 Mbps.'."\n" + .'- **Consumer_IPC_4Mbps**: consumer IPC 4 Mbps.'."\n" + .'- **Industry_IPC**: industry IPC.'."\n" + .'- **NVR_Less64**: network video recorder with 64 or fewer channels.'."\n" + .'- **NVR_Higher64**: network video recorder with more than 64 channels.', 'type' => 'string', 'example' => 'Consumer_IPC_512Kbps', 'title' => ''], + 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device belongs.', 'type' => 'string', 'example' => 'a3w******', 'title' => ''], + 'ProductName' => ['description' => 'The name of the product to which the device belongs.', 'type' => 'string', 'example' => '电é¥ç…²', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the batch registration task was submitted, in millisecond-level UNIX timestamp.', 'type' => 'integer', 'format' => 'int64', 'example' => '1690819200000', 'title' => ''], + 'BatchStatus' => ['description' => 'The batch status of the batch registration. Valid values:'."\n" + ."\n" + .'- **CREATE**: Devices are being created.'."\n" + .'- **CREATE_SUCCESS**: All devices in the application were created.'."\n" + .'- **CREATE_FAILED**: Some devices in the application failed to be created.', 'type' => 'string', 'example' => 'CREATE', 'title' => ''], + 'NetworkType' => ['description' => 'The network connectivity type of the product. Valid values:'."\n" + ."\n" + .'- **WIFI**: Wi-Fi.'."\n" + .'- **CELLULAR**: cellular (GPRS/3G/4G/5G).'."\n" + .'- **ETHERNET**: Ethernet.'."\n" + .'- **OTHER**: other network type.', 'type' => 'string', 'example' => 'WIFI', 'title' => ''], + 'OperateUid' => ['description' => 'The UID of the account that performed the operation.', 'type' => 'integer', 'format' => 'int64', 'example' => '110000000000', 'title' => ''], + 'SuccessCount' => ['description' => 'The number of devices that were successfully registered in the batch.', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'title' => ''], + 'BatchId' => ['description' => 'The batch ID of the application.', 'type' => 'string', 'example' => '1508******195', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.InvalidIotInstance', - 'errorMessage' => 'Invalid iot instance.', - ], - [ - 'errorCode' => 'iot.vision.ProductNotExist', - 'errorMessage' => 'Product not exist.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNotExist', - 'errorMessage' => 'Device not exist.', - ], - [ - 'errorCode' => 'iot.vision.InstanceArrearage', - 'errorMessage' => 'Instance arrearage.', - ], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], - [ - 'errorCode' => 'iot.vision.HasNoAccessPermission', - 'errorMessage' => 'Has no access permission.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', - ], + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Request parameter error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageNo\\": 1,\\n \\"PageSize\\": 1,\\n \\"Total\\": 1,\\n \\"SubDeviceList\\": [\\n {\\n \\"ProductKey\\": \\"wse5******\\",\\n \\"DeviceName\\": \\"device-test\\",\\n \\"IotId\\": \\"qswdfrttgg*********\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetSubDeviceListResponse>\\n<RequestId>E55***B7-4***-4***-8***-D3******F565</RequestId>\\n<Data>\\n <PageSize/>\\n <Total>1</Total>\\n <PageNo/>\\n <SubDeviceList>\\n <IotId>qswdfrttgg*********</IotId>\\n <ProductKey>wse5******</ProductKey>\\n <DeviceName>device-test</DeviceName>\\n </SubDeviceList>\\n</Data>\\n<Success>true</Success>\\n</GetSubDeviceListResponse>","errorExample":""}]', - 'title' => 'GetSubDeviceList', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Request parameter error.\\",\\n \\"RequestId\\": \\"E5******-4***-***B-8**E-D3********65\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageNo\\": 1,\\n \\"PageSize\\": 1,\\n \\"Total\\": 5,\\n \\"ListData\\": [\\n {\\n \\"ApplyDeviceCount\\": 133,\\n \\"SpecCode\\": \\"Consumer_IPC_512Kbps\\",\\n \\"ProductKey\\": \\"a3w******\\",\\n \\"ProductName\\": \\"电é¥ç…²\\",\\n \\"CreateTime\\": 1690819200000,\\n \\"BatchStatus\\": \\"CREATE\\",\\n \\"NetworkType\\": \\"WIFI\\",\\n \\"OperateUid\\": 110000000000,\\n \\"SuccessCount\\": 5,\\n \\"BatchId\\": \\"1508******195\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'QueryGenerateDevicesRecord', + 'summary' => 'Queries the records of batch device registration.', + 'description' => '## Rate limit'."\n" + ."\n" + .'The maximum number of queries per second (QPS) per Alibaba Cloud account for invoking this operation is 20.'."\n" + ."\n" + .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of the account.', + 'requestParamsDescription' => 'In addition to the request parameters described in this topic, you must specify common parameters when you call this operation.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetThingPropertySnapshot' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryGenerateDevicesRecord'], ], ], - 'systemTags' => [], - 'parameters' => [ - [ - 'name' => 'ProductKey', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'a1Bw******', - ], - ], + 'ramActions' => [ [ - 'name' => 'DeviceName', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'Device01', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:QueryGenerateDevicesRecord', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'QueryStorageCommodityList' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'IotId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', - ], + 'AK' => [], ], ], + 'systemTags' => [], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '400', - ], + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Specification' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'CommodityCode' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RecordType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Price' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Months' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'CommodityName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Lifecycle' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], 'description' => '', - 'type' => 'string', - 'example' => '{\\"StreamVideoQuality\\":{\\"time\\":1699951400324,\\"value\\":\\"0\\"},\\"MotionDetectSensitivity\\":{\\"time\\":1699951400324,\\"value\\":\\"0\\"},\\"ImageFlipState\\":{\\"time\\":1699951400324,\\"value\\":\\"0\\"},\\"SubStreamVideoQuality\\":{\\"time\\":1699951400324,\\"value\\":\\"0\\"},\\"AlarmSwitch\\":{\\"time\\":1699951400324,\\"value\\":\\"0\\"},\\"AlarmFrequencyLevel\\":{\\"time\\":1700009930921,\\"value\\":\\"10\\"}}', - ], - 'ErrorMessage' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Request parameter error.', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'E55***B7-4***-4***-8***-D3******F565', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.InvalidIotInstance', - 'errorMessage' => 'Invalid iot instance.', - ], - [ - 'errorCode' => 'iot.vision.ProductNotExist', - 'errorMessage' => 'Product not exist.', - ], - [ - 'errorCode' => 'iot.vision.ThingModelNotExist', - 'errorMessage' => 'Thing model not exist.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNotExist', - 'errorMessage' => 'Device not exist.', - ], - [ - 'errorCode' => 'iot.vision.InstanceArrearage', - 'errorMessage' => 'Instance arrearage.', - ], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], - [ - 'errorCode' => 'iot.vision.HasNoAccessPermission', - 'errorMessage' => 'Has no access permission.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', - ], + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"400\\",\\n \\"Data\\": \\"{\\\\\\\\\\\\\\"StreamVideoQuality\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"time\\\\\\\\\\\\\\":1699951400324,\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"MotionDetectSensitivity\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"time\\\\\\\\\\\\\\":1699951400324,\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"ImageFlipState\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"time\\\\\\\\\\\\\\":1699951400324,\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"SubStreamVideoQuality\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"time\\\\\\\\\\\\\\":1699951400324,\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"AlarmSwitch\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"time\\\\\\\\\\\\\\":1699951400324,\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"AlarmFrequencyLevel\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"time\\\\\\\\\\\\\\":1700009930921,\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"10\\\\\\\\\\\\\\"}}\\",\\n \\"ErrorMessage\\": \\"Request parameter error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<GetThingPropertySnapshotResponse>\\n<RequestId>E55***B7-4***-4***-8***-D3******F565</RequestId>\\n<Data>{\\"StreamVideoQuality\\":{\\"time\\":1699951400324,\\"value\\":\\"0\\"},\\"MotionDetectSensitivity\\":{\\"time\\":1699951400324,\\"value\\":\\"0\\"},\\"ImageFlipState\\":{\\"time\\":1699951400324,\\"value\\":\\"0\\"},\\"SubStreamVideoQuality\\":{\\"time\\":1699951400324,\\"value\\":\\"0\\"},\\"AlarmSwitch\\":{\\"time\\":1699951400324,\\"value\\":\\"0\\"},\\"AlarmFrequencyLevel\\":{\\"time\\":1700009930921,\\"value\\":\\"10\\"}}</Data>\\n<Success>true</Success>\\n</GetThingPropertySnapshotResponse>","errorExample":""}]', - 'title' => 'GetThingPropertySnapshot', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'InvokeThingService' => [ - 'methods' => [ - 'post', - 'get', + 'title' => '', + 'summary' => '', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryStorageCommodityList'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:QueryStorageCommodityList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": [\\n {\\n \\"Specification\\": \\"\\",\\n \\"CommodityCode\\": \\"\\",\\n \\"RecordType\\": 0,\\n \\"Price\\": \\"\\",\\n \\"Months\\": 0,\\n \\"CommodityName\\": \\"\\",\\n \\"Lifecycle\\": 0\\n }\\n ]\\n}","type":"json"}]', + ], + 'QueryStorageOrder' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4895,54 +3149,29 @@ 'systemTags' => [], 'parameters' => [ [ - 'name' => 'Identifier', + 'name' => 'DeviceNoOwner', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'SetNum', - ], + 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ - 'name' => 'ProductKey', + 'name' => 'OrderId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'a1Bw******', - ], + 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ - 'name' => 'DeviceName', + 'name' => 'ProductKey', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'Device01', - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ - 'name' => 'Args', + 'name' => 'DeviceName', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '{"param1":1}', - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -4950,148 +3179,89 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '400', - ], - 'ErrorMessage' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Request parameter error.', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'E55***B7-4***-4***-8***-D3******F565', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'Data' => [ - 'description' => '', - 'type' => 'string', - 'example' => '{"param1":1}', - ], - 'MessageId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'abcabcabc1234****', - ], + 'Status' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Copies' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Specification' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RecordType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'CommodityCode' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'PreConsume' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'EndTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'UserId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'IdentityId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'StartTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'EndTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'StartTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'OutOrderNo' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Price' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'OrderType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'PaymentStatus' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'UserName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'OrderId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.InvalidIotInstance', - 'errorMessage' => 'Invalid iot instance.', - ], - [ - 'errorCode' => 'iot.vision.ProductNotExist', - 'errorMessage' => 'Product not exist.', - ], - [ - 'errorCode' => 'iot.vision.ThingModelNotExist', - 'errorMessage' => 'Thing model not exist.', - ], - [ - 'errorCode' => 'iot.vision.ThingModelIdentifierNotExist', - 'errorMessage' => 'Thing model identifier not exist.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNotExist', - 'errorMessage' => 'Device not exist.', - ], - [ - 'errorCode' => 'iot.vision.InstanceArrearage', - 'errorMessage' => 'Instance arrearage.', - ], - [ - 'errorCode' => 'iot.vision.ServiceParamNotExist', - 'errorMessage' => 'Invoke service failed as service param not exist.', - ], - [ - 'errorCode' => 'iot.vision.ServiceNotFound', - 'errorMessage' => 'Invoke service failed as service not found.', - ], - [ - 'errorCode' => 'iot.vision.DeviceInactive', - 'errorMessage' => 'Device inactive.', - ], - [ - 'errorCode' => 'iot.vision.DevcieOffline', - 'errorMessage' => 'Device offline.', - ], - [ - 'errorCode' => 'iot.vision.ServiceEnumSpecError', - 'errorMessage' => 'Service enum spec error.', - ], - [ - 'errorCode' => 'iot.vision.ServiceResponseTimeout', - 'errorMessage' => 'Invoke service response timeout.', - ], - [ - 'errorCode' => 'iot.vision.InvokeServiceFailed', - 'errorMessage' => 'Invoke service failed:%s', - ], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => 'Device has no owner.'], + ['errorCode' => 'iot.vision.InvalidStorageOrder', 'errorMessage' => 'Invalid storage order.', 'description' => 'Invalid storage order.'], + ['errorCode' => 'iot.vision.DeviceOwnerChanged', 'errorMessage' => 'Device owner changed.', 'description' => 'Device owner changed.'], + ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => 'The system failed to obtain the distributed lock of the cloud storage order. Try again later.'], + ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], - [ - 'errorCode' => 'iot.vision.HasNoAccessPermission', - 'errorMessage' => 'Has no access permission.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', - ], + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Request parameter error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Data\\": \\"{\\\\\\"param1\\\\\\":1}\\",\\n \\"MessageId\\": \\"abcabcabc1234****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<InvokeThingServiceResponse>\\n<RequestId>E55***B7-4***-4***-8***-D3******F565</RequestId>\\n<Data>\\n <Data>{\\"param1\\":1}</Data>\\n <MessageId>abcabcabc1234****</MessageId>\\n</Data>\\n<Success>true</Success>\\n</InvokeThingServiceResponse>","errorExample":""}]', - 'title' => 'InvokeThingService', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ListBindingAccountByDevice' => [ - 'methods' => [ - 'post', - 'get', + 'title' => '', + 'summary' => '', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryStorageOrder'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:QueryStorageOrder', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"Status\\": 0,\\n \\"Copies\\": 0,\\n \\"Specification\\": \\"\\",\\n \\"RecordType\\": 0,\\n \\"CommodityCode\\": \\"\\",\\n \\"PreConsume\\": 0,\\n \\"EndTimeUTC\\": \\"\\",\\n \\"UserId\\": \\"\\",\\n \\"IdentityId\\": \\"\\",\\n \\"StartTimeUTC\\": \\"\\",\\n \\"EndTime\\": \\"\\",\\n \\"StartTime\\": \\"\\",\\n \\"OutOrderNo\\": \\"\\",\\n \\"Price\\": \\"\\",\\n \\"OrderType\\": 0,\\n \\"PaymentStatus\\": 0,\\n \\"UserName\\": \\"\\",\\n \\"OrderId\\": \\"\\",\\n \\"IotId\\": \\"\\"\\n }\\n}","type":"json"}]', + ], + 'QueryStorageOrderList' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5100,73 +3270,34 @@ 'systemTags' => [], 'parameters' => [ [ + 'name' => 'DeviceNoOwner', + 'in' => 'query', + 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], + ], + [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '5', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '200', 'minimum' => '1', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'a1Bw******', - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'Device01', - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'PageNo', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '1', - ], - ], - [ - 'name' => 'Owned', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1', - 'minimum' => '0', - 'example' => '0', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '1000', 'minimum' => '1', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -5174,133 +3305,106 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '400', - ], - 'ErrorMessage' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Unexpected internal error.', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'E55***B7-4***-4***-8***-D3******F565', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'PageNo' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Total' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'AccountList' => [ - 'description' => '', + 'PageNo' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'PageSize' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Total' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'PageCount' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'StorageOrderList' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'IdentityAlias' => [ - 'description' => '', - 'type' => 'string', - 'example' => '18*******20', - ], - 'IdentityId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '5035op97******************a63994', - ], - 'BindTime' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2222220000000', - ], + 'Status' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Copies' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Specification' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RecordType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'CommodityCode' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'PreConsume' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'EndTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'UserId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'IdentityId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'StartTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'EndTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'StartTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'OutOrderNo' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Price' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'OrderType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'PaymentStatus' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'UserName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'OrderId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.TenantMismatch', - 'errorMessage' => 'Caller tenant and account belong tenant mismatch.', - ], - [ - 'errorCode' => 'iot.vision.QueryBindingAccountFailed', - 'errorMessage' => 'Query binding account failed.', - ], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => 'Device has no owner.'], + ['errorCode' => 'iot.vision.DeviceOwnerChanged', 'errorMessage' => 'Device owner changed.', 'description' => 'Device owner changed.'], + ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => 'The system failed to obtain the distributed lock of the cloud storage order. Try again later.'], + ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', - ], + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Unexpected internal error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageNo\\": 1,\\n \\"PageSize\\": 1,\\n \\"Total\\": 1,\\n \\"AccountList\\": [\\n {\\n \\"IdentityAlias\\": \\"18*******20\\",\\n \\"IdentityId\\": \\"5035op97******************a63994\\",\\n \\"BindTime\\": 2222220000000\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListBindingAccountByDeviceResponse>\\n<RequestId>E55***B7-4***-4***-8***-D3******F565</RequestId>\\n<Data>\\n <PageSize>1</PageSize>\\n <Total>1</Total>\\n <PageNo>1</PageNo>\\n <AccountList>\\n <BindTime>1700209801000</BindTime>\\n <IdentityId>5035op97******************a63994</IdentityId>\\n <IdentityAlias>18*******20</IdentityAlias>\\n </AccountList>\\n</Data>\\n<Success>true</Success>\\n</ListBindingAccountByDeviceResponse>","errorExample":""}]', - 'title' => 'ListBindingAccountByDevice', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ListBindingDeviceByAccount' => [ - 'methods' => [ - 'post', - 'get', + 'title' => '', + 'summary' => '', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryStorageOrderList'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:QueryStorageOrderList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"PageNo\\": 0,\\n \\"PageSize\\": 0,\\n \\"Total\\": 0,\\n \\"PageCount\\": 0,\\n \\"StorageOrderList\\": [\\n {\\n \\"Status\\": 0,\\n \\"Copies\\": 0,\\n \\"Specification\\": \\"\\",\\n \\"RecordType\\": 0,\\n \\"CommodityCode\\": \\"\\",\\n \\"PreConsume\\": 0,\\n \\"EndTimeUTC\\": \\"\\",\\n \\"UserId\\": \\"\\",\\n \\"IdentityId\\": \\"\\",\\n \\"StartTimeUTC\\": \\"\\",\\n \\"EndTime\\": \\"\\",\\n \\"StartTime\\": \\"\\",\\n \\"OutOrderNo\\": \\"\\",\\n \\"Price\\": \\"\\",\\n \\"OrderType\\": 0,\\n \\"PaymentStatus\\": 0,\\n \\"UserName\\": \\"\\",\\n \\"OrderId\\": \\"\\",\\n \\"IotId\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'SetThingProperty' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5309,58 +3413,35 @@ 'systemTags' => [], 'parameters' => [ [ - 'name' => 'OpenId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'OpenIdAppKey', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'PageSize', + 'name' => 'ProductKey', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '50', - 'minimum' => '1', - ], + 'schema' => ['description' => 'The **ProductKey** of the product to which the video device belongs.'."\n" + ."\n" + .'><notice>If you specify this parameter, you must also specify **DeviceName**.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => 'a1Bw******', 'title' => ''], ], [ - 'name' => 'IdentityId', + 'name' => 'DeviceName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => 'The name of the video device.'."\n" + ."\n" + .'><notice>If you specify this parameter, you must also specify **ProductKey**.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => 'Device01', 'title' => ''], ], [ - 'name' => 'PageNo', + 'name' => 'Args', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '100', - 'minimum' => '1', - ], + 'schema' => ['description' => 'The property information to set, in JSON format.'."\n" + ."\n" + .'Each property is represented as an **identifier** and **property value** (**key:value**) pair. Separate multiple properties with commas (,).', 'type' => 'string', 'required' => true, 'example' => '{"Switch":1,"Color":"blue"}', 'title' => ''], ], [ - 'name' => 'SubDevice', + 'name' => 'IotId', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - ], + 'schema' => ['description' => 'The ID of the video device.'."\n" + .'><notice>'."\n" + .'**IotId** is a globally unique identifier of a device and corresponds to a combination of **ProductKey** and **DeviceName** on a one-to-one basis. If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. If you specify **IotId** together with **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', 'title' => ''], ], ], 'responses' => [ @@ -5368,129 +3449,78 @@ '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', - ], - 'PageCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'DeviceList' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ProductKey' => [ - 'type' => 'string', - ], - 'Owned' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'DeviceName' => [ - 'type' => 'string', - ], - 'NodeType' => [ - 'type' => 'string', - ], - 'BindTime' => [ - 'type' => 'integer', - 'format' => 'int64', - ], - 'IotId' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => 'The error code returned if the call fails. For more information, see **Error codes** in this topic.', 'type' => 'string', 'example' => '400', 'title' => ''], + 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => 'Request parameter error.', 'title' => ''], + 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => 'E55***B7-4***-4***-8***-D3******F565', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" + ."\n" + .'- **true**: The call was successful.'."\n" + .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.QueryBindingDeviceFailed', - 'errorMessage' => 'Query binding device failed.', - ], - [ - 'errorCode' => 'iot.vision.GetAccountInfoFailed', - 'errorMessage' => 'Get account info failed.', - ], - [ - 'errorCode' => 'iot.vision.AccountNotFound', - 'errorMessage' => 'Account not found.', - ], - [ - 'errorCode' => 'iot.vision.TenantMismatch', - 'errorMessage' => 'Caller tenant and account belong tenant mismatch.', - ], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.InvalidIotInstance', 'errorMessage' => 'Invalid iot instance.', 'description' => 'Invalid iot instance.'], + ['errorCode' => 'iot.vision.ProductNotExist', 'errorMessage' => 'Product not exist.', 'description' => 'Product not exist.'], + ['errorCode' => 'iot.vision.ThingModelNotExist', 'errorMessage' => 'Thing model not exist.', 'description' => 'Thing model not exist.'], + ['errorCode' => 'iot.vision.ThingModelIdentifierNotExist', 'errorMessage' => 'Thing model identifier not exist.', 'description' => 'Thing model identifier not exist.'], + ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], + ['errorCode' => 'iot.vision.InstanceArrearage', 'errorMessage' => 'Instance arrearage.', 'description' => 'Instance arrearage.'], + ['errorCode' => 'iot.vision.SetPropertyFailed', 'errorMessage' => 'Set property failed.', 'description' => 'The system failed to configure the TSL property.'], + ['errorCode' => 'iot.vision.PropertyNotFound', 'errorMessage' => 'Property not found.', 'description' => 'The TSL property does not exist.'], + ['errorCode' => 'iot.vision.PropertyReadOnly', 'errorMessage' => 'Property is read only.', 'description' => 'The TSL property is read-only.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], + ['errorCode' => 'iot.vision.HasNoAccessPermission', 'errorMessage' => 'Has no access permission.', 'description' => ''], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', - ], + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], - ], - 'SetThingProperty' => [ - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Request parameter error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'SetThingProperty', + 'summary' => 'Sets property values for a specified device.', + 'description' => '## QPS limit'."\n" + ."\n" + .'The maximum number of queries per second (QPS) per Alibaba Cloud account for this operation is 50.'."\n" + ."\n" + .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of the account.', + 'requestParamsDescription' => 'In addition to the operation-specific request parameters described in this topic, you must also specify common request parameters when you call this operation.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetThingProperty'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:SetThingProperty', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'TransferStorageOrder' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5499,44 +3529,59 @@ 'systemTags' => [], 'parameters' => [ [ - 'name' => 'ProductKey', + 'name' => 'EventRecordDuration', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'a1Bw******', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '30', 'minimum' => '0', 'default' => '10', 'description' => '', 'title' => '', 'example' => ''], ], [ - 'name' => 'DeviceName', + 'name' => 'DstIotId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'Device01', - ], + 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ - 'name' => 'Args', + 'name' => 'SupportCrossIdentityTransfer', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '{"Switch":1,"Color":"blue"}', - ], + 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ - 'name' => 'IotId', + 'name' => 'SrcIotId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', - ], + 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], + ], + [ + 'name' => 'SrcOrderId', + 'in' => 'query', + 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], + ], + [ + 'name' => 'EventRecordProlong', + 'in' => 'query', + 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], + ], + [ + 'name' => 'ImmediateUse', + 'in' => 'query', + 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], + ], + [ + 'name' => 'UserName', + 'in' => 'query', + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], + ], + [ + 'name' => 'UserId', + 'in' => 'query', + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], + ], + [ + 'name' => 'EnableDefaultPlan', + 'in' => 'query', + 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], + ], + [ + 'name' => 'PreRecordDuration', + 'in' => 'query', + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5', 'minimum' => '0', 'default' => '0', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -5544,116 +3589,90 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '400', - ], - 'ErrorMessage' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Request parameter error.', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'E55***B7-4***-4***-8***-D3******F565', - ], - 'Success' => [ + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], + 'Data' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Copies' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'Specification' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RecordType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'CommodityCode' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'PreConsume' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'EndTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'UserId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'IdentityId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'StartTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'EndTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'StartTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'OutOrderNo' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Price' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'OrderType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'PaymentStatus' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'UserName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'OrderId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], 'description' => '', - 'type' => 'boolean', - 'example' => 'true', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.InvalidIotInstance', - 'errorMessage' => 'Invalid iot instance.', - ], - [ - 'errorCode' => 'iot.vision.ProductNotExist', - 'errorMessage' => 'Product not exist.', - ], - [ - 'errorCode' => 'iot.vision.ThingModelNotExist', - 'errorMessage' => 'Thing model not exist.', - ], - [ - 'errorCode' => 'iot.vision.ThingModelIdentifierNotExist', - 'errorMessage' => 'Thing model identifier not exist.', - ], - [ - 'errorCode' => 'iot.vision.DeviceNotExist', - 'errorMessage' => 'Device not exist.', - ], - [ - 'errorCode' => 'iot.vision.InstanceArrearage', - 'errorMessage' => 'Instance arrearage.', - ], - [ - 'errorCode' => 'iot.vision.SetPropertyFailed', - 'errorMessage' => 'Set property failed.', - ], - [ - 'errorCode' => 'iot.vision.PropertyNotFound', - 'errorMessage' => 'Property not found.', - ], - [ - 'errorCode' => 'iot.vision.PropertyReadOnly', - 'errorMessage' => 'Property is read only.', - ], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => 'Device has no owner.'], + ['errorCode' => 'iot.vision.DeviceOwnerChanged', 'errorMessage' => 'Device owner changed.', 'description' => 'Device owner changed.'], + ['errorCode' => 'iot.vision.InvalidStorageOrder', 'errorMessage' => 'Invalid storage order.', 'description' => 'Invalid storage order.'], + ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => 'The system failed to obtain the distributed lock of the cloud storage order. Try again later.'], + ['errorCode' => 'iot.vision.StorageOrderStatusInvalid', 'errorMessage' => 'Storage order status invalid.', 'description' => 'You cannot perform the operation on the cloud storage order.'], + ['errorCode' => 'iot.vision.TargetDeviceOwnerDifferent', 'errorMessage' => 'Target device owner is different.', 'description' => 'The administrator of the destination device is different from the administrator of the order to be transferred.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], - [ - 'errorCode' => 'iot.vision.HasNoAccessPermission', - 'errorMessage' => 'Has no access permission.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], + ], + ], + 'title' => '', + 'summary' => '', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TransferStorageOrder'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:TransferStorageOrder', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Request parameter error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<SetThingPropertyResponse>\\n<RequestId>E55***B7-4***-4***-8***-D3******F565</RequestId>\\n<Success>true</Success>\\n</SetThingPropertyResponse>","errorExample":""}]', - 'title' => 'SetThingProperty', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"Status\\": 0,\\n \\"Copies\\": 0,\\n \\"Specification\\": \\"\\",\\n \\"RecordType\\": 0,\\n \\"CommodityCode\\": \\"\\",\\n \\"PreConsume\\": 0,\\n \\"EndTimeUTC\\": \\"\\",\\n \\"UserId\\": \\"\\",\\n \\"IdentityId\\": \\"\\",\\n \\"StartTimeUTC\\": \\"\\",\\n \\"EndTime\\": \\"\\",\\n \\"StartTime\\": \\"\\",\\n \\"OutOrderNo\\": \\"\\",\\n \\"Price\\": \\"\\",\\n \\"OrderType\\": 0,\\n \\"PaymentStatus\\": 0,\\n \\"UserName\\": \\"\\",\\n \\"OrderId\\": \\"\\",\\n \\"IotId\\": \\"\\"\\n }\\n}","type":"json"}]', ], 'UnbindAllUserByDevice' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5664,34 +3683,22 @@ [ 'name' => 'ProductKey', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'UnbindSubDevice', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - ], + 'schema' => ['type' => 'boolean', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -5699,18 +3706,10 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'boolean', - ], + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ @@ -5719,97 +3718,78 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'UnbindResultMessage' => [ - 'type' => 'string', - ], - 'ProductKey' => [ - 'type' => 'string', - ], - 'DeviceName' => [ - 'type' => 'string', - ], - 'UnbindResultCode' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'IotId' => [ - 'type' => 'string', - ], + 'UnbindResultMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ProductKey' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'DeviceName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'UnbindResultCode' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.GetAccountInfoFailed', - 'errorMessage' => 'Get account info failed.', - ], - [ - 'errorCode' => 'iot.vision.AccountNotFound', - 'errorMessage' => 'Account not found.', - ], - [ - 'errorCode' => 'iot.vision.TenantMismatch', - 'errorMessage' => 'Caller tenant and account belong tenant mismatch.', - ], - [ - 'errorCode' => 'iot.vision.UnbindFailed', - 'errorMessage' => 'Unbind account and device failed.', - ], - [ - 'errorCode' => 'iot.vision.BindingRelationNotFound', - 'errorMessage' => 'Account and device binding relation not found.', - ], - [ - 'errorCode' => 'iot.vision.QueryBindingAccountFailed', - 'errorMessage' => 'Query binding account failed.', - ], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.GetAccountInfoFailed', 'errorMessage' => 'Get account info failed.', 'description' => 'The system failed to query information about the account.'], + ['errorCode' => 'iot.vision.AccountNotFound', 'errorMessage' => 'Account not found.', 'description' => 'The account does not exist.'], + ['errorCode' => 'iot.vision.TenantMismatch', 'errorMessage' => 'Caller tenant and account belong tenant mismatch.', 'description' => 'The tenant of the API operation caller is different from the tenant to which the account belongs.'], + ['errorCode' => 'iot.vision.UnbindFailed', 'errorMessage' => 'Unbind account and device failed.', 'description' => 'The system failed to disassociate the device from the account.'], + ['errorCode' => 'iot.vision.BindingRelationNotFound', 'errorMessage' => 'Account and device binding relation not found.', 'description' => 'The device is not associated with the account.'], + ['errorCode' => 'iot.vision.QueryBindingAccountFailed', 'errorMessage' => 'Query binding account failed.', 'description' => 'The system failed to query associated users.'], ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], + ], + ], + 'title' => '', + 'summary' => '', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnbindAllUserByDevice'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:UnbindAllUserByDevice', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"SubDeviceUnbindResult\\": [\\n {\\n \\"UnbindResultMessage\\": \\"\\",\\n \\"ProductKey\\": \\"\\",\\n \\"DeviceName\\": \\"\\",\\n \\"UnbindResultCode\\": 0,\\n \\"IotId\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'UnbindDevice' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5820,59 +3800,37 @@ [ 'name' => 'OpenId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'OpenIdAppKey', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IdentityId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'UnbindSubDevice', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'default' => 'true', - ], + 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'true', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -5880,18 +3838,10 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'type' => 'string', - ], - 'ErrorMessage' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'Success' => [ - 'type' => 'boolean', - ], + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ @@ -5900,161 +3850,907 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'UnbindResultMessage' => [ - 'type' => 'string', - ], - 'ProductKey' => [ - 'type' => 'string', - ], - 'DeviceName' => [ - 'type' => 'string', - ], - 'UnbindResultCode' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'IotId' => [ - 'type' => 'string', - ], + 'UnbindResultMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ProductKey' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'DeviceName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'UnbindResultCode' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], + 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'iot.vision.UnexpectedInternalError', - 'errorMessage' => 'Unexpected internal error.', - ], - [ - 'errorCode' => 'iot.vision.RequestParamError', - 'errorMessage' => 'Request parameter error.', - ], - [ - 'errorCode' => 'iot.vision.RequestFailed', - 'errorMessage' => 'Request failed.', - ], - [ - 'errorCode' => 'iot.vision.GetAccountInfoFailed', - 'errorMessage' => 'Get account info failed.', - ], - [ - 'errorCode' => 'iot.vision.AccountNotFound', - 'errorMessage' => 'Account not found.', - ], - [ - 'errorCode' => 'iot.vision.TenantMismatch', - 'errorMessage' => 'Caller tenant and account belong tenant mismatch.', + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], + ['errorCode' => 'iot.vision.GetAccountInfoFailed', 'errorMessage' => 'Get account info failed.', 'description' => 'The system failed to query information about the account.'], + ['errorCode' => 'iot.vision.AccountNotFound', 'errorMessage' => 'Account not found.', 'description' => 'The account does not exist.'], + ['errorCode' => 'iot.vision.TenantMismatch', 'errorMessage' => 'Caller tenant and account belong tenant mismatch.', 'description' => 'The tenant of the API operation caller is different from the tenant to which the account belongs.'], + ['errorCode' => 'iot.vision.BindingRelationNotFound', 'errorMessage' => 'Account and device binding relation not found.', 'description' => 'The device is not associated with the account.'], + ['errorCode' => 'iot.vision.UnbindFailed', 'errorMessage' => 'Unbind account and device failed.', 'description' => 'The system failed to disassociate the device from the account.'], + ], + 403 => [ + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], + ], + 429 => [ + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], + ], + ], + 'title' => '', + 'summary' => '', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnbindDevice'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:UnbindDevice', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - [ - 'errorCode' => 'iot.vision.BindingRelationNotFound', - 'errorMessage' => 'Account and device binding relation not found.', + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"SubDeviceUnbindResult\\": [\\n {\\n \\"UnbindResultMessage\\": \\"\\",\\n \\"ProductKey\\": \\"\\",\\n \\"DeviceName\\": \\"\\",\\n \\"UnbindResultCode\\": 0,\\n \\"IotId\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'UploadDeviceNameList' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [], + 'parameters' => [ + [ + 'name' => 'DeviceNames', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'type' => 'array', + 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'required' => true, + 'maxItems' => 10000, + 'description' => '', + 'title' => '', + 'example' => '', ], - [ - 'errorCode' => 'iot.vision.UnbindFailed', - 'errorMessage' => 'Unbind account and device failed.', + ], + [ + 'name' => 'ProductKey', + 'in' => 'query', + 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], + ], + [ + 'name' => 'ProjectId', + 'in' => 'query', + 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], + 'Data' => [ + 'type' => 'object', + 'properties' => [ + 'BatchId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'InvalidDetailList' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DeviceName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ErrorMsg' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'RepeatedDeviceNameList' => [ + 'type' => 'array', + 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'InvalidDeviceNameList' => [ + 'type' => 'array', + 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], + ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], + ['errorCode' => 'iot.vision.ActiveCodeInsufficient', 'errorMessage' => 'Active code quota is insufficient.', 'description' => ''], + ['errorCode' => 'iot.vision.DevicesCountExceedLimit', 'errorMessage' => 'The devices count exceed the limit.', 'description' => 'The devices count exceed the limit.'], + ['errorCode' => 'iot.vision.DevicesExceedUnreleasedProductLimit', 'errorMessage' => 'Devices count exceed the limit of unreleased product.', 'description' => ''], + ], 403 => [ - [ - 'errorCode' => 'iot.vision.RequestAuthFailed', - 'errorMessage' => 'Request auth failed.', - ], - [ - 'errorCode' => 'iot.vision.RequestForbidden', - 'errorMessage' => 'Request forbidden.', - ], + ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], + ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ - [ - 'errorCode' => 'iot.vision.RequestTrafficControl', - 'errorMessage' => 'Request traffic control.', + ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], + ], + ], + 'title' => '', + 'summary' => '', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UploadDeviceNameList'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:UploadDeviceNameList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"BatchId\\": \\"\\",\\n \\"InvalidDetailList\\": [\\n {\\n \\"DeviceName\\": \\"\\",\\n \\"ErrorMsg\\": \\"\\"\\n }\\n ],\\n \\"RepeatedDeviceNameList\\": [\\n \\"\\"\\n ],\\n \\"InvalidDeviceNameList\\": [\\n \\"\\"\\n ]\\n }\\n}","type":"json"}]', ], ], 'endpoints' => [ - [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'linkvisual.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'linkvisual.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'linkvisual.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'linkvisual.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'linkvisual.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'linkvisual.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'linkvisual.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'linkvisual.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'linkvisual.ap-northeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'linkvisual.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-2', - 'endpoint' => 'linkvisual.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'linkvisual.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'linkvisual.aliyuncs.com', - ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'linkvisual.aliyuncs.com', - ], - [ - 'regionId' => 'us-west-1', - 'endpoint' => 'linkvisual.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'linkvisual.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'linkvisual.aliyuncs.com', - ], - [ - 'regionId' => 'ap-south-1', - 'endpoint' => 'linkvisual.aliyuncs.com', + ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.ap-northeast-1.aliyuncs.com', 'endpoint' => 'linkvisual.ap-northeast-1.aliyuncs.com', 'vpc' => 'linkvisual-vpc.ap-northeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-2', 'regionName' => 'Australia (Sydney) Closed', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.cn-hangzhou.aliyuncs.com', 'endpoint' => 'linkvisual.cn-hangzhou.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.cn-shanghai.aliyuncs.com', 'endpoint' => 'linkvisual.cn-shanghai.aliyuncs.com', 'vpc' => 'linkvisual-vpc.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-south-1', 'regionName' => 'India (Mumbai) Closed', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], + ], + 'errorCodes' => [ + ['code' => '403', 'message' => 'tenant auth error', 'http_code' => 200, 'description' => 'The request was denied due to a failure in device or user authentication.'], + ['code' => '403', 'message' => 'request forbidden.', 'http_code' => 200, 'description' => 'The request was forbidden due to a failure in parameter authentication.'], + ['code' => '460', 'message' => 'picture type error.', 'http_code' => 200, 'description' => 'The specified image type is invalid.'], + ['code' => '460', 'message' => 'RAM system auth error.', 'http_code' => 200, 'description' => 'Failed to perform RAM authentication.'], + ['code' => '460', 'message' => 'beginTime can not bigger or equal endTime.', 'http_code' => 200, 'description' => 'The specified beginTime must not be later than the endTime.'], + ['code' => '460', 'message' => 'beginTime or endTime can not be null.', 'http_code' => 200, 'description' => 'Both beginTime and endTime must be specified.'], + ['code' => '460', 'message' => 'product is not active.', 'http_code' => 200, 'description' => 'The device has not activated the video service.'], + ['code' => '466', 'message' => 'request too frequently.', 'http_code' => 200, 'description' => 'The request was sent too frequently.'], + ['code' => '466', 'message' => 'alarm picture exist.', 'http_code' => 200, 'description' => 'The specified alert image was existed, couldn\'t upload again.'], + ['code' => '466', 'message' => 'device offline.', 'http_code' => 200, 'description' => 'The specified device is offline.'], + ['code' => '466', 'message' => 'deviceList lifecycle not exist.', 'http_code' => 200, 'description' => 'The device list life cycle does not exist.'], + ['code' => '466', 'message' => 'triggerPicture failed.', 'http_code' => 200, 'description' => 'The device failed to capture an image.'], + ['code' => '466', 'message' => 'push stream fail.', 'http_code' => 200, 'description' => 'Stream ingest failed.'], + ['code' => '466', 'message' => 'device status is disable.', 'http_code' => 200, 'description' => 'The IoT channel of the device is disabled.'], + ['code' => '466', 'message' => 'device status is initial.', 'http_code' => 200, 'description' => 'The IoT channel for the device has not been activated. It is activated when the device is brought online.'], + ['code' => '466', 'message' => 'device status is offline.', 'http_code' => 200, 'description' => 'The device is offline.'], + ['code' => 'Forbidden.RiskControl', 'message' => 'Your account is at risk. Contact customer support for more details.', 'http_code' => 400, 'description' => ''], + ['code' => 'InternalError', 'message' => 'The request processing has failed due to some unknown error.', 'http_code' => 500, 'description' => 'An unknown error occurred on the server.'], + ['code' => 'iot.common.AuthActionPermissionDeny', 'message' => 'The authorization fails.', 'http_code' => 400, 'description' => 'The authorization fails.'], + ['code' => 'iot.common.RamActionPermissionDeny', 'message' => 'You do not have the RAM permission.', 'http_code' => 400, 'description' => 'The RAM user does not have permissions to access the resource.'], + ['code' => 'iot.lv.requestAuthError', 'message' => 'Request auth error.', 'http_code' => 403, 'description' => 'The verification failed.'], + ['code' => 'iot.lv.requestError', 'message' => 'Post-paid change limit.', 'http_code' => 400, 'description' => ''], + ['code' => 'iot.lv.requestError', 'message' => 'Request error.', 'http_code' => 400, 'description' => 'Request error.'], + ['code' => 'iot.lv.requestError', 'message' => 'Request error', 'http_code' => 400, 'description' => 'Request error'], + ['code' => 'iot.lv.requestParamError', 'message' => 'Request parameter error.', 'http_code' => 403, 'description' => 'The request parameter is invalid.'], + ['code' => 'iot.lv.requestTimeError', 'message' => 'Request time error.', 'http_code' => 403, 'description' => ''], + ['code' => 'iot.system.InstanceNotFound', 'message' => 'The instance ID does not exist.', 'http_code' => 400, 'description' => 'The instance ID does not exist.'], + ['code' => 'iot.system.UidNotFound', 'message' => 'The Alibaba Cloud account does not exist or the IoT Platform service is not activated.', 'http_code' => 400, 'description' => 'The Alibaba Cloud account does not exist or the IoT Platform service is not activated.'], + ['code' => 'iot.vision.AccountAlreadyExist', 'message' => 'Account already exist.', 'http_code' => 400, 'description' => 'The account already exists.'], + ['code' => 'iot.vision.AccountNotFound', 'message' => 'Account not found.', 'http_code' => 400, 'description' => 'The account does not exist.'], + ['code' => 'iot.vision.AccountRegistryAddFailed', 'message' => 'Add account registry failed.', 'http_code' => 400, 'description' => 'Failed to add account registration information.'], + ['code' => 'iot.vision.AccountRegistryLockFailed', 'message' => 'Get account registry lock failed.', 'http_code' => 400, 'description' => 'Failed to obtain a distributed lock during account registration.'], + ['code' => 'iot.vision.AccountRegistryRemoveFailed', 'message' => 'Remove account registry failed.', 'http_code' => 400, 'description' => 'Failed to delete account registration information.'], + ['code' => 'iot.vision.ActiveCodeInsufficient', 'message' => 'Active code quota is insufficient.', 'http_code' => 400, 'description' => ''], + ['code' => 'iot.vision.AppNameExist', 'message' => 'AppName exist.', 'http_code' => 400, 'description' => 'The name that you specified for the application already exists.'], + ['code' => 'iot.vision.BatchHasCreated', 'message' => 'This batch task has been created.', 'http_code' => 400, 'description' => 'This batch task has been created.'], + ['code' => 'iot.vision.BatchUpgradeDeviceFailed', 'message' => 'Batch upgrade device failed:%s', 'http_code' => 400, 'description' => 'The system failed to batch update the devices.'], + ['code' => 'iot.vision.BindFailed', 'message' => 'Bind account and device failed.', 'http_code' => 400, 'description' => 'The system failed to associate the account with the device.'], + ['code' => 'iot.vision.BindingRelationNotFound', 'message' => 'Account and device binding relation not found.', 'http_code' => 400, 'description' => 'The device is not associated with the account.'], + ['code' => 'iot.vision.CancelOTATaskFailed', 'message' => 'Cancel ota task failed:%s', 'http_code' => 400, 'description' => 'The upgrade task failed to be canceled.'], + ['code' => 'iot.vision.CancelUpgradeTaskFailed', 'message' => 'Cancel upgrade task failed:%s', 'http_code' => 400, 'description' => 'The system failed to cancel the device update.'], + ['code' => 'iot.vision.CheckDeviceFileFailed', 'message' => 'Check device file failed:%s', 'http_code' => 400, 'description' => 'The system failed to verify the device list file.'], + ['code' => 'iot.vision.CheckDeviceFileRequestFailed', 'message' => 'Check device file request failed:%s', 'http_code' => 400, 'description' => 'The request to verify the device list file failed.'], + ['code' => 'iot.vision.ConcurrencyExceedLimit', 'message' => 'Concurrency exceed the limit.', 'http_code' => 400, 'description' => 'The number of concurrent threads exceeds the limit.'], + ['code' => 'iot.vision.CreateDeviceFailed', 'message' => 'create device failed.', 'http_code' => 400, 'description' => 'create device failed.'], + ['code' => 'iot.vision.CreateFirmwareFailed', 'message' => 'Create firmware failed:%s', 'http_code' => 400, 'description' => 'The system failed to create the update package.'], + ['code' => 'iot.vision.CreateFirmwareModuleFailed', 'message' => 'Create firmware module failed:%s', 'http_code' => 400, 'description' => 'The system failed to create the update package module.'], + ['code' => 'iot.vision.CreateProductFailed', 'message' => 'Create product failed.', 'http_code' => 400, 'description' => 'Create product failed.'], + ['code' => 'iot.vision.CreateProductNotAllow', 'message' => 'Create product not allow.', 'http_code' => 400, 'description' => 'Create product not allow.'], + ['code' => 'iot.vision.CreateProjectFailed', 'message' => 'Create project failed.', 'http_code' => 400, 'description' => 'Create project failed.'], + ['code' => 'iot.vision.CreateStorageOrderFailed', 'message' => 'Create storage order failed.', 'http_code' => 400, 'description' => 'Create storage order failed.'], + ['code' => 'iot.vision.CreateSubscribeRelationFailed', 'message' => 'Create subscribe relation failed:%s', 'http_code' => 400, 'description' => 'The system failed to create the subscription.'], + ['code' => 'iot.vision.DeleteDeviceFailed', 'message' => 'delete device failed.', 'http_code' => 400, 'description' => 'delete device failed.'], + ['code' => 'iot.vision.DeleteFirmwareFailed', 'message' => 'Delete firmware failed:%s', 'http_code' => 400, 'description' => 'The system failed to delete the update package.'], + ['code' => 'iot.vision.DeleteFirmwareModuleFailed', 'message' => 'Delete firmware module failed:%s', 'http_code' => 400, 'description' => 'The system failed to delete the update package module.'], + ['code' => 'iot.vision.DeleteProductFailed', 'message' => 'Delete product failed.', 'http_code' => 400, 'description' => 'Delete product failed.'], + ['code' => 'iot.vision.DeleteProjectFailed', 'message' => 'Delete project failed.', 'http_code' => 400, 'description' => 'Delete project failed.'], + ['code' => 'iot.vision.DeleteSubscribeRelationFailed', 'message' => 'Delete subscribe relation failed:%s', 'http_code' => 400, 'description' => 'The system failed to delete the subscription.'], + ['code' => 'iot.vision.DevcieOffline', 'message' => 'Device offline.', 'http_code' => 400, 'description' => 'The device is offline.'], + ['code' => 'iot.vision.DeviceInactive', 'message' => 'Device inactive.', 'http_code' => 400, 'description' => 'The device is inactive.'], + ['code' => 'iot.vision.DeviceNameCheckFailed', 'message' => 'Device names check failed.', 'http_code' => 400, 'description' => 'Device names check failed.'], + ['code' => 'iot.vision.DeviceNameChecking', 'message' => 'Device names are checking.', 'http_code' => 400, 'description' => ''], + ['code' => 'iot.vision.DeviceNameDuplicate', 'message' => 'Device name duplicate.', 'http_code' => 400, 'description' => 'The DeviceName already exists.'], + ['code' => 'iot.vision.DeviceNameFormatInvalid', 'message' => 'Device name format invalid.', 'http_code' => 400, 'description' => 'Device name format invalid.'], + ['code' => 'iot.vision.DeviceNicknameInvalid', 'message' => 'Device nickname invalid.', 'http_code' => 400, 'description' => 'Device nickname invalid.'], + ['code' => 'iot.vision.DeviceNoOwner', 'message' => 'Device has no owner.', 'http_code' => 400, 'description' => 'Device has no owner.'], + ['code' => 'iot.vision.DeviceNotExist', 'message' => 'Device not exist.', 'http_code' => 400, 'description' => 'Device not exist.'], + ['code' => 'iot.vision.DeviceNotStreaming', 'message' => 'Device is not streaming.', 'http_code' => 400, 'description' => 'The device does not ingest streams.'], + ['code' => 'iot.vision.DeviceNumLimit', 'message' => 'device num exceed limit.', 'http_code' => 400, 'description' => 'device num exceed limit.'], + ['code' => 'iot.vision.DeviceOffline', 'message' => 'Device is offline.', 'http_code' => 400, 'description' => 'The device is offline.'], + ['code' => 'iot.vision.DeviceOwnerChanged', 'message' => 'Device owner changed.', 'http_code' => 400, 'description' => 'Device owner changed.'], + ['code' => 'iot.vision.DevicePropertyFormatInvalid', 'message' => 'Device property format invalid.', 'http_code' => 400, 'description' => 'Device property format invalid.'], + ['code' => 'iot.vision.DevicesCountExceedLimit', 'message' => 'The devices count exceed the limit.', 'http_code' => 400, 'description' => 'The devices count exceed the limit.'], + ['code' => 'iot.vision.DevicesExceedUnreleasedProductLimit', 'message' => 'Devices count exceed the limit of unreleased product.', 'http_code' => 400, 'description' => ''], + ['code' => 'iot.vision.DownloadJobError', 'message' => 'Download job error.', 'http_code' => 400, 'description' => 'An exception occurred on the download task.'], + ['code' => 'iot.vision.FirmwareNotFound', 'message' => 'The specified firmware does not exist.', 'http_code' => 400, 'description' => 'No update package of the version exists.'], + ['code' => 'iot.vision.FirmwareNotVerified', 'message' => 'Firmware validation not completed.', 'http_code' => 400, 'description' => 'The update package is verified.'], + ['code' => 'iot.vision.FirmwareSourceVersionMismatch', 'message' => 'Current firmware version of device does not match source version of firmware.', 'http_code' => 400, 'description' => 'The current version number of the device does not match the original version number of the update package.'], + ['code' => 'iot.vision.FirmwareVerifyFailed', 'message' => 'Firmware verify failed.', 'http_code' => 400, 'description' => 'The system failed to verify the update package.'], + ['code' => 'iot.vision.FirmwareVersionMismatch', 'message' => 'The version of firmware mismatch.', 'http_code' => 400, 'description' => 'The version number of the update package does not match the specified version number.'], + ['code' => 'iot.vision.FreeStorageLimit', 'message' => 'Free storage quota exceed limit.', 'http_code' => 400, 'description' => 'Free storage quota exceed limit.'], + ['code' => 'iot.vision.FreeStorageQuotaLimit', 'message' => 'No enough free storage quota or exceed limit.', 'http_code' => 400, 'description' => 'No enough free storage quota or exceed limit.'], + ['code' => 'iot.vision.GbIdDuplicate', 'message' => 'The GB28181 deviceId is duplicated.', 'http_code' => 400, 'description' => 'The standard ID already exists.'], + ['code' => 'iot.vision.GbServiceNotEnabled', 'message' => 'The GB28181 service has not been enabled.', 'http_code' => 400, 'description' => 'The standard service is not started.'], + ['code' => 'iot.vision.GenerateDeviceNameListUrlFailed', 'message' => 'Generate device name list url failed:%s', 'http_code' => 400, 'description' => 'The system failed to generate a device list upload URL.'], + ['code' => 'iot.vision.GenerateFirmwareUploadUrlFailed', 'message' => 'Generate firmware upload url failed:%s', 'http_code' => 400, 'description' => 'The system failed to generate a firmware upload URL.'], + ['code' => 'iot.vision.GetAccountInfoFailed', 'message' => 'Get account info failed.', 'http_code' => 400, 'description' => 'The system failed to query information about the account.'], + ['code' => 'iot.vision.GetDeviceInfoFailed', 'message' => 'Get device info failed.', 'http_code' => 400, 'description' => 'The system failed to query the details of the device.'], + ['code' => 'iot.vision.GetOwnerIdentityInfoFailed', 'message' => 'Get owner identity info failed.', 'http_code' => 400, 'description' => 'The system failed to query information about the device administrator.'], + ['code' => 'iot.vision.GetThingEventSnapshotFailed', 'message' => 'Get thing event snapshot failed.', 'http_code' => 400, 'description' => 'The system failed to query TSL event snapshots.'], + ['code' => 'iot.vision.HasNoAccessPermission', 'message' => 'Has no access permission.', 'http_code' => 403, 'description' => ''], + ['code' => 'iot.vision.HasRelatedProduct', 'message' => 'Has related product.', 'http_code' => 400, 'description' => 'One or more associated products cannot be deleted.'], + ['code' => 'iot.vision.IdentityAppKeyProductNotBind', 'message' => 'The app associated with the identityId does not have permission to access the product.', 'http_code' => 400, 'description' => 'No product is associated with the AppKey that is related to the account.'], + ['code' => 'iot.vision.ImportProjectFailed', 'message' => 'Import project failed.', 'http_code' => 400, 'description' => 'Import project failed.'], + ['code' => 'iot.vision.InstanceArrearage', 'message' => 'Instance arrearage.', 'http_code' => 400, 'description' => 'Instance arrearage.'], + ['code' => 'iot.vision.InvalidCallerType', 'message' => 'Invalid caller type.', 'http_code' => 400, 'description' => 'Invalid caller type.'], + ['code' => 'iot.vision.InvalidFirmwareId', 'message' => 'Invalid firmware Id.', 'http_code' => 400, 'description' => 'The ID of the update package is invalid.'], + ['code' => 'iot.vision.InvalidIotInstance', 'message' => 'Invalid iot instance.', 'http_code' => 400, 'description' => 'Invalid iot instance.'], + ['code' => 'iot.vision.InvalidStorageCommodity', 'message' => 'Invalid storage commodity.', 'http_code' => 400, 'description' => 'Invalid storage commodity.'], + ['code' => 'iot.vision.InvalidStorageOrder', 'message' => 'Invalid storage order.', 'http_code' => 400, 'description' => 'Invalid storage order.'], + ['code' => 'iot.vision.InvokeServiceFailed', 'message' => '%s', 'http_code' => 400, 'description' => 'The system failed to call the TSL service.'], + ['code' => 'iot.vision.InvokeServiceFailed', 'message' => '%s failed.', 'http_code' => 400, 'description' => 'The system failed to call the TSL service.'], + ['code' => 'iot.vision.InvokeServiceFailed', 'message' => 'Invoke service failed:%s', 'http_code' => 400, 'description' => 'The system failed to call the TSL service.'], + ['code' => 'iot.vision.JobNotExist', 'message' => 'Job not exist or expired.', 'http_code' => 400, 'description' => 'The task does not exist or has expired.'], + ['code' => 'iot.vision.ModifyFirmwareFailed', 'message' => 'Modify firmware failed:%s', 'http_code' => 400, 'description' => 'The system failed to modify the update package.'], + ['code' => 'iot.vision.NoAvailableActiveCode', 'message' => 'No available active codes.', 'http_code' => 400, 'description' => 'No available active codes.'], + ['code' => 'iot.vision.NoStorageQuota', 'message' => 'No storage quota.', 'http_code' => 400, 'description' => 'The storage quota is exceeded.'], + ['code' => 'iot.vision.ParamBatchIdInvalid', 'message' => 'Parameter batchId is invalid.', 'http_code' => 400, 'description' => 'Parameter batchId is invalid.'], + ['code' => 'iot.vision.PreviousImportProjectTaskNotFinished', 'message' => 'Previous import project task not finished.', 'http_code' => 400, 'description' => 'Previous import project task not finished.'], + ['code' => 'iot.vision.ProductCancelReleaseFailed.', 'message' => 'Product cancel release failed.', 'http_code' => 400, 'description' => 'Product cancel release failed.'], + ['code' => 'iot.vision.ProductHasRelatedAuthorization', 'message' => 'Product has related authorization.', 'http_code' => 400, 'description' => 'Product has related authorization.'], + ['code' => 'iot.vision.ProductHasRelatedResource', 'message' => 'Product has related resource.', 'http_code' => 400, 'description' => 'Product has related resource.'], + ['code' => 'iot.vision.ProductKeyFormatInvalid', 'message' => 'Product key format invalid.', 'http_code' => 400, 'description' => 'Product key format invalid.'], + ['code' => 'iot.vision.ProductNameDuplicated', 'message' => 'Product name duplicated.', 'http_code' => 400, 'description' => 'Product name duplicated.'], + ['code' => 'iot.vision.ProductNameFormatInvalid', 'message' => 'Product name format invalid.', 'http_code' => 400, 'description' => 'Product name format invalid.'], + ['code' => 'iot.vision.ProductNameLengthInvalid', 'message' => 'Product name length invalid.', 'http_code' => 400, 'description' => 'Product name length invalid.'], + ['code' => 'iot.vision.ProductNotExist', 'message' => 'Product not exist.', 'http_code' => 400, 'description' => 'Product not exist.'], + ['code' => 'iot.vision.ProductNotRelease', 'message' => 'Product not release.', 'http_code' => 400, 'description' => 'Product not release.'], + ['code' => 'iot.vision.ProductNumLimit', 'message' => 'Product number exceed limit.', 'http_code' => 400, 'description' => 'Product number exceed limit.'], + ['code' => 'iot.vision.ProductReleased', 'message' => 'Product had been released.', 'http_code' => 400, 'description' => 'Product had been released.'], + ['code' => 'iot.vision.ProductReleaseFailed', 'message' => 'Product release failed.', 'http_code' => 400, 'description' => 'Product release failed.'], + ['code' => 'iot.vision.ProductShouldNotDelete', 'message' => 'Product should not delete.', 'http_code' => 400, 'description' => 'Product should not delete.'], + ['code' => 'iot.vision.ProductShouldNotEdit', 'message' => 'Product should not edit.', 'http_code' => 400, 'description' => 'Product should not edit.'], + ['code' => 'iot.vision.ProductTagDuplicated', 'message' => 'Product tag duplicated.', 'http_code' => 400, 'description' => 'Product tag duplicated.'], + ['code' => 'iot.vision.ProductTagLengthInvalid', 'message' => 'Product tag length invalid.', 'http_code' => 400, 'description' => 'Product tag length invalid.'], + ['code' => 'iot.vision.ProductTagNotFound', 'message' => 'Product tag not found.', 'http_code' => 400, 'description' => 'Product tag not found.'], + ['code' => 'iot.vision.ProductTagNumLimit', 'message' => 'Product tag num limit.', 'http_code' => 400, 'description' => 'Product tag num limit.'], + ['code' => 'iot.vision.ProductTypeMismatch', 'message' => 'Product type mismatch.', 'http_code' => 400, 'description' => 'Product type mismatch.'], + ['code' => 'iot.vision.ProductUpdateFailed', 'message' => 'Product update failed.', 'http_code' => 400, 'description' => 'Product update failed.'], + ['code' => 'iot.vision.ProjectCreateLimit', 'message' => 'Project still in initializing please try again later.', 'http_code' => 400, 'description' => 'One or more of your projects are being created. Try again later.'], + ['code' => 'iot.vision.ProjectHasNoProducts', 'message' => 'Project has no products.', 'http_code' => 400, 'description' => 'Project has no products.'], + ['code' => 'iot.vision.ProjectHasRelatedResource', 'message' => 'Project has related resource.', 'http_code' => 400, 'description' => 'Project has related resource.'], + ['code' => 'iot.vision.ProjectNameDuplicated', 'message' => 'Project name duplicated.', 'http_code' => 400, 'description' => 'Project name duplicated.'], + ['code' => 'iot.vision.ProjectNameLengthInvalid', 'message' => 'Project name length invalid.', 'http_code' => 400, 'description' => 'Project name length invalid.'], + ['code' => 'iot.vision.ProjectNotExist', 'message' => 'Project does not exist.', 'http_code' => 400, 'description' => 'Project does not exist.'], + ['code' => 'iot.vision.ProjectNumLimit', 'message' => 'Project num exceed limit.', 'http_code' => 400, 'description' => 'Project num exceed limit.'], + ['code' => 'iot.vision.PropertyNotFound', 'message' => 'Property not found.', 'http_code' => 400, 'description' => 'The TSL property does not exist.'], + ['code' => 'iot.vision.PropertyReadOnly', 'message' => 'Property is read only.', 'http_code' => 400, 'description' => 'The TSL property is read-only.'], + ['code' => 'iot.vision.QueryAppListError', 'message' => 'No Result.', 'http_code' => 400, 'description' => 'No Result.'], + ['code' => 'iot.vision.QueryBindingAccountFailed', 'message' => 'Query binding account failed.', 'http_code' => 400, 'description' => 'The system failed to query associated users.'], + ['code' => 'iot.vision.QueryBindingDeviceFailed', 'message' => 'Query binding device failed.', 'http_code' => 400, 'description' => 'The system failed to query the associated device list.'], + ['code' => 'iot.vision.QueryCommodityPriceFailed', 'message' => 'Query commodity price failed.', 'http_code' => 400, 'description' => 'The system failed to query the price of the cloud storage product.'], + ['code' => 'iot.vision.QueryConsumerGroupFailed', 'message' => 'Query consumer group failed:%s', 'http_code' => 400, 'description' => 'The system failed to query the consumer group.'], + ['code' => 'iot.vision.QueryDeviceFailed', 'message' => 'query device failed.', 'http_code' => 400, 'description' => 'query device failed.'], + ['code' => 'iot.vision.QueryDeviceGroupFailed', 'message' => 'Query device group failed:%s', 'http_code' => 400, 'description' => 'The system failed to query the device group.'], + ['code' => 'iot.vision.QueryDeviceUpgradeCountFailed', 'message' => 'Query device upgrade count failed:%s', 'http_code' => 400, 'description' => 'The system failed to query the number of device updates.'], + ['code' => 'iot.vision.QueryDeviceUpgradeInfoFailed', 'message' => 'Query device upgrade info failed:%s', 'http_code' => 400, 'description' => 'The system failed to query the update status of the device.'], + ['code' => 'iot.vision.QueryDeviceVersionStatisticsFailed', 'message' => 'Query device version statistics failed:%s', 'http_code' => 400, 'description' => 'The system failed to query the details of the distribution of device versions.'], + ['code' => 'iot.vision.QueryFirmwareFailed', 'message' => 'Query firmware failed:%s', 'http_code' => 400, 'description' => 'The system failed to query the firmware.'], + ['code' => 'iot.vision.QueryFirmwareModuleFailed', 'message' => 'Query firmware module failed:%s', 'http_code' => 400, 'description' => 'The system failed to query the update package module.'], + ['code' => 'iot.vision.QueryFirmwareVersionFailed', 'message' => 'Query firmware version failed:%s', 'http_code' => 400, 'description' => 'The system failed to query the update package version.'], + ['code' => 'iot.vision.QueryProductRelatedDeviceFailed', 'message' => 'Query product related device failed.', 'http_code' => 400, 'description' => 'Query product related device failed.'], + ['code' => 'iot.vision.QuerySubscribeRelationFailed', 'message' => 'Query subscribe relation failed:%s', 'http_code' => 400, 'description' => 'The system failed to query subscriptions.'], + ['code' => 'iot.vision.QueryUpgradeDefaultTimeoutFailed', 'message' => 'Query upgrade default timeout failed:%s', 'http_code' => 400, 'description' => 'The request to query the default timeout period of the update failed.'], + ['code' => 'iot.vision.QueryUpgradeDeviceFailed', 'message' => 'Query upgrade device failed:%s', 'http_code' => 400, 'description' => 'The system failed to query the device to be updated.'], + ['code' => 'iot.vision.QueryUpgradeStatisticsInfoFailed', 'message' => 'Query upgrade statistics info failed:%s', 'http_code' => 400, 'description' => 'The system failed to query statistics on updates.'], + ['code' => 'iot.vision.QueryUpgradeTaskFailed', 'message' => 'Query upgrade task failed:%s', 'http_code' => 400, 'description' => 'The system failed to query the update task.'], + ['code' => 'iot.vision.RecordNotExist', 'message' => 'Record not exist.', 'http_code' => 400, 'description' => 'The video file does not exist.'], + ['code' => 'iot.vision.RefreshTooFrequently', 'message' => 'Refresh too frequently.', 'http_code' => 400, 'description' => 'Refresh requests are submitted too frequently.'], + ['code' => 'iot.vision.RequestAuthFailed', 'message' => 'Request auth failed.', 'http_code' => 403, 'description' => 'Request auth failed.'], + ['code' => 'iot.vision.RequestError', 'message' => 'Request error.', 'http_code' => 400, 'description' => 'The request failed.'], + ['code' => 'iot.vision.RequestFailed', 'message' => 'Request failed.', 'http_code' => 400, 'description' => 'Request failed.'], + ['code' => 'iot.vision.RequestFailed', 'message' => 'product already publish operation not allowed.', 'http_code' => 400, 'description' => 'The operation cannot be performed on the product because the product is published.'], + ['code' => 'iot.vision.RequestFailed', 'message' => 'product not exist.', 'http_code' => 400, 'description' => 'The product does not exist.'], + ['code' => 'iot.vision.RequestForbidden', 'message' => 'Request forbidden.', 'http_code' => 403, 'description' => 'Request forbidden.'], + ['code' => 'iot.vision.RequestParamError', 'message' => 'Request parameter error.', 'http_code' => 400, 'description' => 'Request parameter error.'], + ['code' => 'iot.vision.RequestParamError', 'message' => 'Request parameter error:%s', 'http_code' => 400, 'description' => 'The request parameter is invalid.'], + ['code' => 'iot.vision.RequestParameterError', 'message' => 'Request parameter error:%s', 'http_code' => 400, 'description' => 'The request parameter is invalid.'], + ['code' => 'iot.vision.RequestTrafficControl', 'message' => 'Request traffic control.', 'http_code' => 429, 'description' => 'Request traffic control.'], + ['code' => 'iot.vision.ReUpgradeDeviceFailed', 'message' => 'ReUpgrade device failed:%s', 'http_code' => 400, 'description' => 'The system failed to re-update the device.'], + ['code' => 'iot.vision.RtmpKeyNotSet', 'message' => 'Rtmp key not set.', 'http_code' => 400, 'description' => 'No authentication key is specified.'], + ['code' => 'iot.vision.ServerError', 'message' => 'server error.', 'http_code' => 400, 'description' => 'server error.'], + ['code' => 'iot.vision.ServiceEnumSpecError', 'message' => 'Service enum spec error.', 'http_code' => 400, 'description' => 'The enumeration parameter of the TSL service is invalid.'], + ['code' => 'iot.vision.ServiceNotFound', 'message' => 'Invoke service failed as service not found.', 'http_code' => 400, 'description' => 'The TSL service does not exist.'], + ['code' => 'iot.vision.ServiceParamNotExist', 'message' => 'Invoke service failed as service param not exist.', 'http_code' => 400, 'description' => 'The parameter of the TSL service does not exist.'], + ['code' => 'iot.vision.ServiceResponseTimeout', 'message' => 'Invoke service response timeout.', 'http_code' => 400, 'description' => 'The device response timed out.'], + ['code' => 'iot.vision.SetAccountFailed', 'message' => 'Set account failed.', 'http_code' => 400, 'description' => 'Set account failed.'], + ['code' => 'iot.vision.SetDefaultRecordPlanFailed', 'message' => 'Set default record plan failed.', 'http_code' => 400, 'description' => 'The system failed to configure the default video recording plan.'], + ['code' => 'iot.vision.SetPropertyFailed', 'message' => 'Set property failed.', 'http_code' => 400, 'description' => 'The system failed to configure the TSL property.'], + ['code' => 'iot.vision.StorageCommodityUnavailable', 'message' => 'Storage commodity unavailable.', 'http_code' => 400, 'description' => 'You cannot use the cloud storage product.'], + ['code' => 'iot.vision.StorageOrderAlreadyPaid', 'message' => 'Storage order had been paid.', 'http_code' => 400, 'description' => 'The payment for the cloud storage order is complete.'], + ['code' => 'iot.vision.StorageOrderGetLockFailed', 'message' => 'Get storage order lock failed try again later.', 'http_code' => 400, 'description' => 'The system failed to obtain the distributed lock of the cloud storage order. Try again later.'], + ['code' => 'iot.vision.StorageOrderPayFailed', 'message' => 'Storage order pay failed.', 'http_code' => 400, 'description' => 'The payment for the cloud storage order failed.'], + ['code' => 'iot.vision.StorageOrderStatusInvalid', 'message' => 'Storage order status invalid.', 'http_code' => 400, 'description' => 'You cannot perform the operation on the cloud storage order.'], + ['code' => 'iot.vision.StreamNameDuplicate', 'message' => 'Stream name duplicate.', 'http_code' => 400, 'description' => 'The stream name already exists.'], + ['code' => 'iot.vision.StreamPushFailed', 'message' => 'Stream push failed.', 'http_code' => 400, 'description' => 'The stream ingest failed.'], + ['code' => 'iot.vision.TargetDeviceOwnerDifferent', 'message' => 'Target device owner is different.', 'http_code' => 400, 'description' => 'The administrator of the destination device is different from the administrator of the order to be transferred.'], + ['code' => 'iot.vision.TemplateMacroInvalid', 'message' => 'macro invalid.', 'http_code' => 400, 'description' => 'The format of the macro is invalid.'], + ['code' => 'iot.vision.TemplateTextInvalid', 'message' => 'var or text invalid.', 'http_code' => 400, 'description' => 'The format of the variable or the text is invalid.'], + ['code' => 'iot.vision.TenantMismatch', 'message' => 'Caller tenant and account belong tenant mismatch.', 'http_code' => 400, 'description' => 'The tenant of the API operation caller is different from the tenant to which the account belongs.'], + ['code' => 'iot.vision.ThingAbilityNameDuplicated', 'message' => 'Thing model ability name duplicated.', 'http_code' => 400, 'description' => 'The name that you specified for the TSL feature already exists.'], + ['code' => 'iot.vision.ThingEventNotFound', 'message' => 'Thing event not found.', 'http_code' => 400, 'description' => 'The TSL event does not exist.'], + ['code' => 'iot.vision.ThingModelAbilityDuplicated', 'message' => 'Thing model ability duplicated.', 'http_code' => 400, 'description' => 'Thing model ability duplicated.'], + ['code' => 'iot.vision.ThingModelIdentifierNotExist', 'message' => 'Thing model identifier not exist.', 'http_code' => 400, 'description' => 'Thing model identifier not exist.'], + ['code' => 'iot.vision.ThingModelNotExist', 'message' => 'Thing model not exist.', 'http_code' => 400, 'description' => 'Thing model not exist.'], + ['code' => 'iot.vision.ThingModelParamsFormatInvalid', 'message' => 'Thing model params format invalid.', 'http_code' => 400, 'description' => 'Thing model params format invalid.'], + ['code' => 'iot.vision.ThingModelParamsInvalid', 'message' => 'Thing model params invalid.', 'http_code' => 400, 'description' => 'Thing model params invalid.'], + ['code' => 'iot.vision.ThingModelUpdateFailed', 'message' => 'Thing model update failed.', 'http_code' => 400, 'description' => 'The modification on the TSL model failed to take effect.'], + ['code' => 'iot.vision.UnbindFailed', 'message' => 'Unbind account and device failed.', 'http_code' => 400, 'description' => 'The system failed to disassociate the device from the account.'], + ['code' => 'iot.vision.UnexpectedInternalError', 'message' => 'Unexpected internal error.', 'http_code' => 400, 'description' => 'Unexpected internal error.'], + ['code' => 'iot.vision.UpdateConsumerGroupFailed', 'message' => 'Update consumer group failed:%s', 'http_code' => 400, 'description' => 'The system failed to update the consumer group.'], + ['code' => 'iot.vision.UpdateFirmwareModuleFailed', 'message' => 'Update firmware module failed:%s', 'http_code' => 400, 'description' => 'The system failed to update the update package module.'], + ['code' => 'iot.vision.UpdateOTATaskStrategyFailed', 'message' => 'Update ota task strategy failed:%s', 'http_code' => 400, 'description' => 'Failed to update the OTA upgrade task policy.'], + ['code' => 'iot.vision.UpdateSubscribeRelationFailed', 'message' => 'Update subscribe relation failed:%s', 'http_code' => 400, 'description' => 'The system failed to update the subscription.'], + ['code' => 'iot.vision.VerifyFirmwareRequestFailed', 'message' => 'Verify firmware request failed:%s', 'http_code' => 400, 'description' => 'The request to verify the update package failed.'], + ], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetThingEventSnapshot'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'FreezeFreeStorage'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSubDeviceList'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryStorageOrder'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDevicesDownloadUrl'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TransferStorageOrder'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetThingProperty'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDeviceStatus'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableFreeStorage'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'FreezeStorageOrder'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryFreeStorage'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnbindDevice'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListBindingDeviceByAccount'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryBatchStatus'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GenerateDevice'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnbindAllUserByDevice'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryGenerateDevicesRecord'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CheckFreeStorageValid'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableStorageOrder'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindStorageOrder'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetThingPropertySnapshot'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryStorageOrderList'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GenerateDeviceByBatchId'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UploadDeviceNameList'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceDetail'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InvokeThingService'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListBindingAccountByDevice'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAndPayStorageOrder'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryStorageCommodityList'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryGenerateDevicesInfoList'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchBindDevice'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAccountById'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ConsumeFreeStorage'], ], - [ - 'regionId' => 'me-east-1', - 'endpoint' => 'linkvisual.aliyuncs.com', + ], + 'ram' => [ + 'productCode' => 'LinkVisual', + 'productName' => 'Link Visual', + 'ramCodes' => ['linkvisual'], + 'ramLevel' => 'RESOURCE', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'FreezeStorageOrder', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:FreezeStorageOrder', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GenerateDeviceByBatchId', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:GenerateDeviceByBatchId', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'EnableFreeStorage', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:EnableFreeStorage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QueryFreeStorage', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:QueryFreeStorage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateAndPayStorageOrder', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:CreateAndPayStorageOrder', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SetThingProperty', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:SetThingProperty', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListBindingDeviceByAccount', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:ListBindingDeviceByAccount', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'EnableStorageOrder', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:EnableStorageOrder', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetThingEventSnapshot', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:GetThingEventSnapshot', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QueryStorageOrder', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:QueryStorageOrder', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GenerateDevice', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:GenerateDevice', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QueryDeviceDetail', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:QueryDeviceDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UploadDeviceNameList', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:UploadDeviceNameList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'FreezeFreeStorage', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:FreezeFreeStorage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QueryGenerateDevicesRecord', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:QueryGenerateDevicesRecord', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QueryStorageCommodityList', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:QueryStorageCommodityList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CheckFreeStorageValid', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:CheckFreeStorageValid', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UnbindDevice', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:UnbindDevice', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'InvokeThingService', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:InvokeThingService', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UnbindAllUserByDevice', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:UnbindAllUserByDevice', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'TransferStorageOrder', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:TransferStorageOrder', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QueryGenerateDevicesInfoList', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:QueryGenerateDevicesInfoList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QueryDevicesDownloadUrl', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:QueryDevicesDownloadUrl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'BindStorageOrder', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:BindStorageOrder', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetSubDeviceList', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:GetSubDeviceList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetThingPropertySnapshot', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:GetThingPropertySnapshot', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetDeviceStatus', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:GetDeviceStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetAccountById', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:GetAccountById', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QueryBatchStatus', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:QueryBatchStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'BatchBindDevice', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:BatchBindDevice', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ConsumeFreeStorage', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:ConsumeFreeStorage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListBindingAccountByDevice', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:ListBindingAccountByDevice', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QueryStorageOrderList', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'linkvisual:QueryStorageOrderList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'resourceTypes' => [], ], ]; |
