'1.0', 'info' => ['style' => 'RPC', 'product' => 'Linkvisual', 'version' => '2023-06-30'], 'directories' => [ [ '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', ], 'type' => 'directory', 'title' => '其他', 'id' => 298112, ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ 'BatchBindDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'OpenId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'OpenIdAppKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'IdentityId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'DeviceList', '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, ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string'], 'ErrorMessage' => ['type' => 'string'], 'RequestId' => ['type' => 'string'], 'Success' => ['type' => 'boolean'], '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'], ], ], ], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.GetAccountInfoFailed', 'errorMessage' => 'Get account info failed.', 'description' => '查询账号详情信息失败。'], ['errorCode' => 'iot.vision.AccountNotFound', 'errorMessage' => 'Account not found.', 'description' => '找不到账号。'], ['errorCode' => 'iot.vision.TenantMismatch', 'errorMessage' => 'Caller tenant and account belong tenant mismatch.', 'description' => '接口调用方的租户和账号归属的租户不一致。'], ['errorCode' => 'iot.vision.IdentityAppKeyProductNotBind', 'errorMessage' => 'The app associated with the identityId does not have permission to access the product.', 'description' => '账号对应AppKey没有关联产品。'], ['errorCode' => 'iot.vision.BindFailed', 'errorMessage' => 'Bind account and device failed.', 'description' => '账号和设备绑定失败。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], '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' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true,\\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' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'EventRecordDuration', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '30', 'minimum' => '0', 'default' => '10'], ], [ 'name' => 'OrderId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'EventRecordProlong', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false'], ], [ 'name' => 'UserName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'UserId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'MaxRecordFileDuration', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '3600', 'minimum' => '600', 'default' => '1800'], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'EnableDefaultPlan', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false'], ], [ 'name' => 'PreRecordDuration', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5', 'minimum' => '0', 'default' => '0'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string'], 'ErrorMessage' => ['type' => 'string'], 'RequestId' => ['type' => 'string'], 'Success' => ['type' => 'boolean'], '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'], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => '设备没有绑定管理员。'], ['errorCode' => 'iot.vision.InvalidStorageOrder', 'errorMessage' => 'Invalid storage order.', 'description' => '无效的云存储订单。'], ['errorCode' => 'iot.vision.DeviceOwnerChanged', 'errorMessage' => 'Device owner changed.', 'description' => '设备的管理员用户变更。'], ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => '获取云存储订单分布式锁失败,请稍后重试。'], ['errorCode' => 'iot.vision.GetOwnerIdentityInfoFailed', 'errorMessage' => 'Get owner identity info failed.', 'description' => '查询设备管理员用户信息失败。'], ['errorCode' => 'iot.vision.SetDefaultRecordPlanFailed', 'errorMessage' => 'Set default record plan failed.', 'description' => '设置默认的录像计划失败。'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => '设备不存在。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], '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' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true,\\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'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string'], 'ErrorMessage' => ['type' => 'string'], 'RequestId' => ['type' => 'string'], 'Success' => ['type' => 'boolean'], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => '设备没有绑定管理员。'], ['errorCode' => 'iot.vision.FreeStorageQuotaLimit', 'errorMessage' => 'No enough free storage quota or exceed limit.', 'description' => '免费试用的云存储配额不足或超限制。'], ['errorCode' => 'iot.vision.InvalidStorageCommodity', 'errorMessage' => 'Invalid storage commodity.', 'description' => '无效的云存储商品规格。'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => '设备不存在。'], ['errorCode' => 'iot.vision.GetDeviceInfoFailed', 'errorMessage' => 'Get device info failed.', 'description' => '查询设备详情失败。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], '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' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', ], 'ConsumeFreeStorage' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'EventRecordProlong', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false'], ], [ 'name' => 'EventRecordDuration', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '30', 'minimum' => '0', 'default' => '10'], ], [ 'name' => 'ImmediateUse', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false'], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'EnableDefaultPlan', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false'], ], [ 'name' => 'PreRecordDuration', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5', 'minimum' => '0', 'default' => '0'], ], [ 'name' => 'Quota', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string'], 'ErrorMessage' => ['type' => 'string'], 'RequestId' => ['type' => 'string'], 'Success' => ['type' => 'boolean'], 'Data' => [ 'type' => 'object', 'properties' => [ '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'], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => '设备没有绑定管理员。'], ['errorCode' => 'iot.vision.FreeStorageQuotaLimit', 'errorMessage' => 'No enough free storage quota or exceed limit.', 'description' => '免费试用的云存储配额不足或超限制。'], ['errorCode' => 'iot.vision.GetOwnerIdentityInfoFailed', 'errorMessage' => 'Get owner identity info failed.', 'description' => '查询设备管理员用户信息失败。'], ['errorCode' => 'iot.vision.GetDeviceInfoFailed', 'errorMessage' => 'Get device info failed.', 'description' => '查询设备详情失败。'], ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => '获取云存储订单分布式锁失败,请稍后重试。'], ['errorCode' => 'iot.vision.SetDefaultRecordPlanFailed', 'errorMessage' => 'Set default record plan failed.', 'description' => '设置默认的录像计划失败。'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => '设备不存在。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:ConsumeFreeStorage', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true,\\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'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'DeviceNoOwner', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false'], ], [ 'name' => 'EventRecordDuration', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '30', 'minimum' => '0', 'default' => '10'], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'Copies', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1'], ], [ 'name' => 'CommodityCode', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'EventRecordProlong', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false'], ], [ 'name' => 'Specification', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'ImmediateUse', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false'], ], [ 'name' => 'UserName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'UserId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'MaxRecordFileDuration', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '3600', 'minimum' => '600', 'default' => '1800'], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'EnableDefaultPlan', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false'], ], [ 'name' => 'PreRecordDuration', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5', 'minimum' => '0', 'default' => '0'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string'], 'ErrorMessage' => ['type' => 'string'], 'RequestId' => ['type' => 'string'], 'Success' => ['type' => 'boolean'], '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'], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => '设备没有绑定管理员。'], ['errorCode' => 'iot.vision.CreateStorageOrderFailed', 'errorMessage' => 'Create storage order failed.', 'description' => '创建云存储订单失败。'], ['errorCode' => 'iot.vision.GetDeviceInfoFailed', 'errorMessage' => 'Get device info failed.', 'description' => '查询设备详情失败。'], ['errorCode' => 'iot.vision.InvalidStorageCommodity', 'errorMessage' => 'Invalid storage commodity.', 'description' => '无效的云存储商品规格。'], ['errorCode' => 'iot.vision.StorageCommodityUnavailable', 'errorMessage' => 'Storage commodity unavailable.', 'description' => '云存储商品不支持使用。'], ['errorCode' => 'iot.vision.GetOwnerIdentityInfoFailed', 'errorMessage' => 'Get owner identity info failed.', 'description' => '查询设备管理员用户信息失败。'], ['errorCode' => 'iot.vision.SetDefaultRecordPlanFailed', 'errorMessage' => 'Set default record plan failed.', 'description' => '设置默认的录像计划失败。'], ['errorCode' => 'iot.vision.QueryCommodityPriceFailed', 'errorMessage' => 'Query commodity price failed.', 'description' => '查询云存储商品价格失败。'], ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => '获取云存储订单分布式锁失败,请稍后重试。'], ['errorCode' => 'iot.vision.InvalidStorageOrder', 'errorMessage' => 'Invalid storage order.', 'description' => '无效的云存储订单。'], ['errorCode' => 'iot.vision.StorageOrderAlreadyPaid', 'errorMessage' => 'Storage order had been paid.', 'description' => '云存储订单已经支付。'], ['errorCode' => 'iot.vision.StorageOrderPayFailed', 'errorMessage' => 'Storage order pay failed.', 'description' => '云存储订单支付失败。'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => '设备不存在。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], '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' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true,\\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'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string'], 'ErrorMessage' => ['type' => 'string'], 'RequestId' => ['type' => 'string'], 'Success' => ['type' => 'boolean'], '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'], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => '设备没有绑定管理员。'], ['errorCode' => 'iot.vision.FreeStorageQuotaLimit', 'errorMessage' => 'No enough free storage quota or exceed limit.', 'description' => '免费试用的云存储配额不足或超限制。'], ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => '获取云存储订单分布式锁失败,请稍后重试。'], ['errorCode' => 'iot.vision.InvalidStorageOrder', 'errorMessage' => 'Invalid storage order.', 'description' => '无效的云存储订单。'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => '设备不存在。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], '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' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true,\\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'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'OrderId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string'], 'ErrorMessage' => ['type' => 'string'], 'RequestId' => ['type' => 'string'], 'Success' => ['type' => 'boolean'], 'Data' => [ 'type' => 'object', 'properties' => [ 'Status' => ['type' => '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'], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => '设备没有绑定管理员。'], ['errorCode' => 'iot.vision.InvalidStorageOrder', 'errorMessage' => 'Invalid storage order.', 'description' => '无效的云存储订单。'], ['errorCode' => 'iot.vision.DeviceOwnerChanged', 'errorMessage' => 'Device owner changed.', 'description' => '设备的管理员用户变更。'], ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => '获取云存储订单分布式锁失败,请稍后重试。'], ['errorCode' => 'iot.vision.StorageOrderStatusInvalid', 'errorMessage' => 'Storage order status invalid.', 'description' => '当前云存储订单状态不支持操作。'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => '设备不存在。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], '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' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true,\\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'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string'], 'ErrorMessage' => ['type' => 'string'], 'RequestId' => ['type' => 'string'], 'Success' => ['type' => 'boolean'], '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'], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => '设备没有绑定管理员。'], ['errorCode' => 'iot.vision.FreeStorageQuotaLimit', 'errorMessage' => 'No enough free storage quota or exceed limit.', 'description' => '免费试用的云存储配额不足或超限制。'], ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => '获取云存储订单分布式锁失败,请稍后重试。'], ['errorCode' => 'iot.vision.InvalidStorageOrder', 'errorMessage' => 'Invalid storage order.', 'description' => '无效的云存储订单。'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => '设备不存在。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'FreezeFreeStorage'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:FreezeFreeStorage', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true,\\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'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'DeviceNoOwner', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false'], ], [ 'name' => 'OrderId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string'], 'ErrorMessage' => ['type' => 'string'], 'RequestId' => ['type' => 'string'], 'Success' => ['type' => 'boolean'], 'Data' => [ 'type' => 'object', 'properties' => [ 'Status' => ['type' => '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'], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => '设备没有绑定管理员。'], ['errorCode' => 'iot.vision.DeviceOwnerChanged', 'errorMessage' => 'Device owner changed.', 'description' => '设备的管理员用户变更。'], ['errorCode' => 'iot.vision.InvalidStorageOrder', 'errorMessage' => 'Invalid storage order.', 'description' => '无效的云存储订单。'], ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => '获取云存储订单分布式锁失败,请稍后重试。'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => '设备不存在。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'FreezeStorageOrder'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:FreezeStorageOrder', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true,\\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' => [], ], ], '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], ], [ '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'], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.ActiveCodeInsufficient', 'errorMessage' => 'Active code quota is insufficient.', 'description' => '可用激活码不足。'], ['errorCode' => 'iot.vision.DevicesCountExceedLimit', 'errorMessage' => 'The devices count exceed the limit.', 'description' => '创建设备数量超过限制。'], ['errorCode' => 'iot.vision.DevicesExceedUnreleasedProductLimit', 'errorMessage' => 'Devices count exceed the limit of unreleased product.', 'description' => '创建设备数量超过未发布产品的试产设备数量。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GenerateDevice'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GenerateDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"BatchId\\": \\"\\"\\n }\\n}","type":"json"}]', ], 'GenerateDeviceByBatchId' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'BatchId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true], ], [ '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'], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.ParamBatchIdInvalid', 'errorMessage' => 'Parameter batchId is invalid.', 'description' => '参数批次ID无效。'], ['errorCode' => 'iot.vision.BatchHasCreated', 'errorMessage' => 'This batch task has been created.', 'description' => '该批次已经创建设备。'], ['errorCode' => 'iot.vision.DeviceNameChecking', 'errorMessage' => 'Device names are checking.', 'description' => '设备名称校验未完成。'], ['errorCode' => 'iot.vision.DeviceNameCheckFailed', 'errorMessage' => 'Device names check failed.', 'description' => '设备名称校验失败。'], ['errorCode' => 'iot.vision.ActiveCodeInsufficient', 'errorMessage' => 'Active code quota is insufficient.', 'description' => '可用激活码不足。'], ['errorCode' => 'iot.vision.DevicesCountExceedLimit', 'errorMessage' => 'The devices count exceed the limit.', 'description' => '创建设备数量超过限制。'], ['errorCode' => 'iot.vision.DevicesExceedUnreleasedProductLimit', 'errorMessage' => 'Devices count exceed the limit of unreleased product.', 'description' => '创建设备数量超过未发布产品的试产设备数量。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GenerateDeviceByBatchId'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GenerateDeviceByBatchId', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"BatchId\\": \\"\\"\\n }\\n}","type":"json"}]', ], 'GetAccountById' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'OpenId', 'in' => 'query', 'schema' => ['description' => '三方平台用户ID。'."\n" .'> 如果传入该参数,需同时传入**OpenIdAppKey**。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => '60yqjd1**************************561da00851'], ], [ 'name' => 'OpenIdAppKey', 'in' => 'query', 'schema' => ['description' => '三方平台颁发的AppKey。'."\n" ."\n" .'> 如果传入该参数,需同时传入**OpenId**。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => '76****57'], ], [ 'name' => 'IdentityId', 'in' => 'query', 'schema' => ['description' => '用户身份ID。'."\n" ."\n" .'> **IdentityId**作为用户标识符,和**OpenId**与**OpenIdAppKey**组合是一一对应的关系。如果传入该参数,则无需传入**OpenId**和**OpenIdAppKey**。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => '5035op97******************a63994'], ], ], 'responses' => [ 200 => [ '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' => '是否调用成功。'."\n" ."\n" .'- **true**:调用成功。'."\n" .'- **false**:调用失败。', 'type' => 'boolean', 'example' => 'true'], 'Data' => [ 'description' => '调用成功,返回的数据。', 'type' => 'object', 'properties' => [ 'LoginName' => ['description' => '账号登录名称。', 'type' => 'string', 'example' => '18*******20'], 'Email' => ['description' => '邮箱地址。', 'type' => 'string', 'example' => '******'], 'IdentityId' => ['description' => '用户身份ID。', 'type' => 'string', 'example' => '5035op97******************a63994'], 'LastLoginTime' => ['description' => '最后登录时间,13位毫秒级时间戳。', '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'], ], ], ], 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.GetAccountInfoFailed', 'errorMessage' => 'Get account info failed.', 'description' => '查询账号详情信息失败。'], ['errorCode' => 'iot.vision.AccountNotFound', 'errorMessage' => 'Account not found.', 'description' => '找不到账号。'], ['errorCode' => 'iot.vision.TenantMismatch', 'errorMessage' => 'Caller tenant and account belong tenant mismatch.', 'description' => '接口调用方的租户和账号归属的租户不一致。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], '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":"\\nE55***B7-4***-4***-8***-D3******F565\\n\\n 1700209499000\\n 18*******20\\n 1700189358000\\n ******\\n 18*******20\\n 1700209499000\\n 5035op97******************a63994\\n 18*******20\\n\\ntrue\\n","errorExample":""}]', 'title' => 'GetAccountById', 'summary' => '调用该接口根据用户身份ID(IdentityId)或三方平台用户ID(OpenId)查询用户账号信息。', 'description' => '## QPS限制'."\n" ."\n" .'单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为50。'."\n" ."\n" .'> 单个阿里云账号下的所有RAM用户共享该阿里云账号的配额。', 'requestParamsDescription' => '调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAccountById'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GetAccountById', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], ], 'GetDeviceStatus' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => '视频设备所属产品的**ProductKey**。'."\n" ."\n" .'>如果传入该参数,需同时传入**DeviceName**。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'a1Bw******'], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => '视频设备的设备名称。'."\n" ."\n" .'>如果传入该参数,需同时传入**ProductKey**。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'Device01'], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => '视频设备的设备ID。'."\n" .'>'."\n" .'**IotId**作为设备唯一标识符,和**ProductKey**与**DeviceName**组合是一一对应的关系。如果传入该参数,则无需传入**ProductKey**和**DeviceName**。如果您同时传入**IotId**和**ProductKey**与**DeviceName**组合,则以**IotId**为准。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'C47T6xwp6ms4bNlkHRWCg4****'], ], ], 'responses' => [ 200 => [ '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' => '是否调用成功。'."\n" ."\n" .'- **true**:调用成功。'."\n" .'- **false**:调用失败。', 'type' => 'boolean', 'example' => 'true'], 'Data' => [ 'description' => '调用成功,返回的数据。', 'type' => 'object', 'properties' => [ 'Status' => ['description' => '设备当前状态。'."\n" ."\n" .'- **ONLINE**:设备在线。'."\n" .'- **OFFLINE**:设备离线。'."\n" .'- **UNACTIVE**:设备未激活。'."\n" .'- **DISABLE**:设备已禁用。', 'type' => 'string', 'example' => 'ONLINE'], ], ], ], 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.InvalidIotInstance', 'errorMessage' => 'Invalid iot instance.', 'description' => '无效的实例或者找不到对应实例。'], ['errorCode' => 'iot.vision.ProductNotExist', 'errorMessage' => 'Product not exist.', 'description' => '产品不存在。'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => '设备不存在。'], ['errorCode' => 'iot.vision.InstanceArrearage', 'errorMessage' => 'Instance arrearage.', 'description' => '实例已欠费。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ['errorCode' => 'iot.vision.HasNoAccessPermission', 'errorMessage' => 'Has no access permission.', 'description' => '没有访问权限。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], '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":"\\nE55***B7-4***-4***-8***-D3******F565\\n\\n ONLINE\\n\\ntrue\\n","errorExample":""}]', 'title' => 'GetDeviceStatus', 'summary' => '调用该接口查询设备的状态。', 'description' => '## QPS限制'."\n" ."\n" .'单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为50。'."\n" ."\n" .'> 单个阿里云账号下的所有RAM用户共享该阿里云账号的配额。', 'requestParamsDescription' => '调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDeviceStatus'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GetDeviceStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], ], 'GetSubDeviceList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => '指定返回结果中每页显示的记录数量,最大值是50。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '50', 'minimum' => '1', 'example' => '5'], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => '网关设备所属产品的**ProductKey**。'."\n" ."\n" .'>如果传入该参数,需同时传入**DeviceName**。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'a1Bw******'], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => '网关设备的设备名称。'."\n" ."\n" .'>如果传入该参数,需同时传入**ProductKey**。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'Device01'], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => '网关设备的设备ID。'."\n" .'>'."\n" .'**IotId**作为设备唯一标识符,和**ProductKey**与**DeviceName**组合是一一对应的关系。如果传入该参数,则无需传入**ProductKey**和**DeviceName**。如果您同时传入**IotId**和**ProductKey**与**DeviceName**组合,则以**IotId**为准。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'C47T6xwp6ms4bNlkHRWCg4****'], ], [ 'name' => 'PageNo', 'in' => 'query', 'schema' => ['description' => '指定显示返回结果中的第几页,最大值为100。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1'], ], ], 'responses' => [ 200 => [ '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' => '是否调用成功。'."\n" ."\n" .'- **true**:调用成功。'."\n" .'- **false**:调用失败。', 'type' => 'boolean', 'example' => 'true'], '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' => 'int64', 'example' => '1'], 'SubDeviceList' => [ 'description' => '子设备列表信息。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => '设备所属产品的**ProductKey**。', 'type' => 'string', 'example' => 'wse5******'], 'DeviceName' => ['description' => '设备名称。', 'type' => 'string', 'example' => 'device-test'], 'IotId' => ['description' => '设备ID。', 'type' => 'string', 'example' => 'qswdfrttgg*********'], ], 'description' => '', ], ], ], ], ], 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.InvalidIotInstance', 'errorMessage' => 'Invalid iot instance.', 'description' => '无效的实例或者找不到对应实例。'], ['errorCode' => 'iot.vision.ProductNotExist', 'errorMessage' => 'Product not exist.', 'description' => '产品不存在。'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => '设备不存在。'], ['errorCode' => 'iot.vision.InstanceArrearage', 'errorMessage' => 'Instance arrearage.', 'description' => '实例已欠费。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ['errorCode' => 'iot.vision.HasNoAccessPermission', 'errorMessage' => 'Has no access permission.', 'description' => '没有访问权限。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], '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":"\\nE55***B7-4***-4***-8***-D3******F565\\n\\n \\n 1\\n \\n \\n qswdfrttgg*********\\n wse5******\\n device-test\\n \\n\\ntrue\\n","errorExample":""}]', 'title' => 'GetSubDeviceList', 'summary' => '调用该接口查询网关设备的子设备列表。', 'description' => '## QPS限制'."\n" ."\n" .'单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为50。'."\n" ."\n" .'> 单个阿里云账号下的所有RAM用户共享该阿里云账号的配额。', 'requestParamsDescription' => '调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSubDeviceList'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GetSubDeviceList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], ], 'GetThingEventSnapshot' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'Identifier', 'in' => 'query', 'schema' => ['description' => '物模型的事件标识符。', 'type' => 'string', 'required' => true, 'example' => 'AlarmType'], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => '视频设备所属产品的**ProductKey**。'."\n" ."\n" .'>如果传入该参数,需同时传入**DeviceName**。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'a1Bw******'], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => '视频设备的设备名称。'."\n" ."\n" .'>如果传入该参数,需同时传入**ProductKey**。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'Device01'], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => '视频设备的设备ID。'."\n" .'>'."\n" .'**IotId**作为设备唯一标识符,和**ProductKey**与**DeviceName**组合是一一对应的关系。如果传入该参数,则无需传入**ProductKey**和**DeviceName**。如果您同时传入**IotId**和**ProductKey**与**DeviceName**组合,则以**IotId**为准。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'C47T6xwp6ms4bNlkHRWCg4****'], ], ], 'responses' => [ 200 => [ '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' => '是否调用成功。'."\n" ."\n" .'- **true**:调用成功。'."\n" .'- **false**:调用失败。', 'type' => 'boolean', 'example' => 'true'], 'Data' => [ 'description' => '调用成功,返回的数据。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'EventType' => ['description' => '事件类型。'."\n" ."\n" .'- **info**:信息。'."\n" .'- **alert**:告警。'."\n" .'- **error**:故障。', 'type' => 'string', 'example' => 'alert'], 'EventCode' => ['description' => '事件Code。', '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' => '设备ID。', 'type' => 'string', 'example' => 'C47T6xwp6ms4bNlkHRWCg4****'], ], 'description' => '', ], ], ], 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.InvalidIotInstance', 'errorMessage' => 'Invalid iot instance.', 'description' => '无效的实例或者找不到对应实例。'], ['errorCode' => 'iot.vision.ProductNotExist', 'errorMessage' => 'Product not exist.', 'description' => '产品不存在。'], ['errorCode' => 'iot.vision.ThingModelNotExist', 'errorMessage' => 'Thing model not exist.', 'description' => '物模型功能不存在。'], ['errorCode' => 'iot.vision.ThingModelIdentifierNotExist', 'errorMessage' => 'Thing model identifier not exist.', 'description' => '物模型功能标识符不存在。'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => '设备不存在。'], ['errorCode' => 'iot.vision.InstanceArrearage', 'errorMessage' => 'Instance arrearage.', 'description' => '实例已欠费。'], ['errorCode' => 'iot.vision.GetThingEventSnapshotFailed', 'errorMessage' => 'Get thing event snapshot failed.', 'description' => '查询物模型事件快照失败。'], ['errorCode' => 'iot.vision.ThingEventNotFound', 'errorMessage' => 'Thing event not found.', 'description' => '物模型事件不存在。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ['errorCode' => 'iot.vision.HasNoAccessPermission', 'errorMessage' => 'Has no access permission.', 'description' => '没有访问权限。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], '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":"\\nE55***B7-4***-4***-8***-D3******F565\\n\\n C47T6xwp6ms4bNlkHRWCg4****\\n IntelligentAlarm\\n {\\"EventList \\":[{\\"AlarmPicID \\":\\"\\",\\"EventTime \\":\\"1700010288542 \\",\\"AlarmType \\":1,\\"AlarmPicSize \\":1,\\"Data \\":\\"test \\"}]}\\n alert\\n 1700010288668\\n IntelligentAlarm\\n\\ntrue\\n","errorExample":""}]', 'title' => '查询物模型事件的快照', 'description' => '## QPS限制'."\n" ."\n" .'单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为50。'."\n" ."\n" .'> 单个阿里云账号下的所有RAM用户共享该阿里云账号的配额。', 'requestParamsDescription' => '调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetThingEventSnapshot'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GetThingEventSnapshot', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], ], 'GetThingPropertySnapshot' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => '视频设备所属产品的**ProductKey**。'."\n" ."\n" .'>如果传入该参数,需同时传入**DeviceName**。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'a1Bw******'], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => '视频设备的设备名称。'."\n" ."\n" .'>如果传入该参数,需同时传入**ProductKey**。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'Device01'], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => '视频设备的设备ID。'."\n" .'>'."\n" .'**IotId**作为设备唯一标识符,和**ProductKey**与**DeviceName**组合是一一对应的关系。如果传入该参数,则无需传入**ProductKey**和**DeviceName**。如果您同时传入**IotId**和**ProductKey**与**DeviceName**组合,则以**IotId**为准。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'C47T6xwp6ms4bNlkHRWCg4****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => ' 调用失败时,返回错误码。详细信息,请参见下文**错误码**。', 'type' => 'string', 'example' => '400'], 'Data' => ['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' => '是否调用成功。'."\n" ."\n" .'- **true**:调用成功。'."\n" .'- **false**:调用失败。', 'type' => 'boolean', 'example' => 'true'], ], 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.InvalidIotInstance', 'errorMessage' => 'Invalid iot instance.', 'description' => '无效的实例或者找不到对应实例。'], ['errorCode' => 'iot.vision.ProductNotExist', 'errorMessage' => 'Product not exist.', 'description' => '产品不存在。'], ['errorCode' => 'iot.vision.ThingModelNotExist', 'errorMessage' => 'Thing model not exist.', 'description' => '物模型功能不存在。'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => '设备不存在。'], ['errorCode' => 'iot.vision.InstanceArrearage', 'errorMessage' => 'Instance arrearage.', 'description' => '实例已欠费。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ['errorCode' => 'iot.vision.HasNoAccessPermission', 'errorMessage' => 'Has no access permission.', 'description' => '没有访问权限。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], '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":"\\nE55***B7-4***-4***-8***-D3******F565\\n{\\"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\\"}}\\ntrue\\n","errorExample":""}]', 'title' => 'GetThingPropertySnapshot', 'summary' => '调用该接口查询指定设备的所有物模型属性快照,返回物模型属性的最新数据。', 'description' => '## QPS限制'."\n" ."\n" .'单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为50。'."\n" ."\n" .'> 单个阿里云账号下的所有RAM用户共享该阿里云账号的配额。', 'requestParamsDescription' => '调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetThingPropertySnapshot'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GetThingPropertySnapshot', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], ], 'InvokeThingService' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'Identifier', 'in' => 'query', 'schema' => ['description' => '物模型的服务标识符。', 'type' => 'string', 'required' => true, 'example' => 'SetNum'], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => '视频设备所属产品的**ProductKey**。'."\n" ."\n" .'>如果传入该参数,需同时传入**DeviceName**。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'a1Bw******'], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => '视频设备的设备名称。'."\n" ."\n" .'>如果传入该参数,需同时传入**ProductKey**。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'Device01'], ], [ 'name' => 'Args', 'in' => 'query', 'schema' => ['description' => '要启用服务的入参信息,数据格式为JSON String,例如**Args={"param1":1}**。', 'type' => 'string', 'required' => false, 'example' => '{"param1":1}'], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => '视频设备的设备ID。'."\n" .'>'."\n" .'**IotId**作为设备唯一标识符,和**ProductKey**与**DeviceName**组合是一一对应的关系。如果传入该参数,则无需传入**ProductKey**和**DeviceName**。如果您同时传入**IotId**和**ProductKey**与**DeviceName**组合,则以**IotId**为准。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'C47T6xwp6ms4bNlkHRWCg4****'], ], ], 'responses' => [ 200 => [ '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' => '是否调用成功。'."\n" ."\n" .'- **true**:调用成功。'."\n" .'- **false**:调用失败。', 'type' => 'boolean', 'example' => 'true'], 'Data' => [ 'description' => '调用成功,返回的数据。', 'type' => 'object', 'properties' => [ 'Data' => ['description' => '调用服务结果,JSON字符串。', 'type' => 'string', 'example' => '{"param1":1}'], 'MessageId' => ['description' => '云端向设备下发服务调用的消息ID。', 'type' => 'string', 'example' => 'abcabcabc1234****'], ], ], ], 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.InvalidIotInstance', 'errorMessage' => 'Invalid iot instance.', 'description' => '无效的实例或者找不到对应实例。'], ['errorCode' => 'iot.vision.ProductNotExist', 'errorMessage' => 'Product not exist.', 'description' => '产品不存在。'], ['errorCode' => 'iot.vision.ThingModelNotExist', 'errorMessage' => 'Thing model not exist.', 'description' => '物模型功能不存在。'], ['errorCode' => 'iot.vision.ThingModelIdentifierNotExist', 'errorMessage' => 'Thing model identifier not exist.', 'description' => '物模型功能标识符不存在。'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => '设备不存在。'], ['errorCode' => 'iot.vision.InstanceArrearage', 'errorMessage' => 'Instance arrearage.', 'description' => '实例已欠费。'], ['errorCode' => 'iot.vision.ServiceParamNotExist', 'errorMessage' => 'Invoke service failed as service param not exist.', 'description' => '物模型服务参数不存在。'], ['errorCode' => 'iot.vision.ServiceNotFound', 'errorMessage' => 'Invoke service failed as service not found.', 'description' => '物模型服务不存在。'], ['errorCode' => 'iot.vision.DeviceInactive', 'errorMessage' => 'Device inactive.', 'description' => '设备未激活。'], ['errorCode' => 'iot.vision.DevcieOffline', 'errorMessage' => 'Device offline.', 'description' => '设备不在线。'], ['errorCode' => 'iot.vision.ServiceEnumSpecError', 'errorMessage' => 'Service enum spec error.', 'description' => '物模型服务枚举参数错误。'], ['errorCode' => 'iot.vision.ServiceResponseTimeout', 'errorMessage' => 'Invoke service response timeout.', 'description' => '超时未收到设备响应。'], ['errorCode' => 'iot.vision.InvokeServiceFailed', 'errorMessage' => 'Invoke service failed:%s', 'description' => '物模型服务调用失败。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ['errorCode' => 'iot.vision.HasNoAccessPermission', 'errorMessage' => 'Has no access permission.', 'description' => '没有访问权限。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], '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":"\\nE55***B7-4***-4***-8***-D3******F565\\n\\n {\\"param1\\":1}\\n abcabcabc1234****\\n\\ntrue\\n","errorExample":""}]', 'title' => 'InvokeThingService', 'summary' => '调用该接口在单个设备上调用指定服务。', 'description' => '## QPS限制'."\n" ."\n" .'单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为200。'."\n" ."\n" .'> 单个阿里云账号下的所有RAM用户共享该阿里云账号的配额。', 'requestParamsDescription' => '调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InvokeThingService'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:InvokeThingService', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], ], 'ListBindingAccountByDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => '指定返回结果中每页显示的记录数量,最大值是50。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '50', 'minimum' => '1', 'example' => '5'], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => '视频设备所属产品的**ProductKey**。'."\n" ."\n" .'>如果传入该参数,需同时传入**DeviceName**。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'a1Bw******'], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => '视频设备的设备名称。'."\n" ."\n" .'>如果传入该参数,需同时传入**ProductKey**。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'Device01'], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => '视频设备的设备ID。'."\n" .'>'."\n" .'**IotId**作为设备唯一标识符,和**ProductKey**与**DeviceName**组合是一一对应的关系。如果传入该参数,则无需传入**ProductKey**和**DeviceName**。如果您同时传入**IotId**和**ProductKey**与**DeviceName**组合,则以**IotId**为准。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'C47T6xwp6ms4bNlkHRWCg4****'], ], [ 'name' => 'PageNo', 'in' => 'query', 'schema' => ['description' => '指定显示返回结果中的第几页,最大值为100。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1'], ], [ 'name' => 'Owned', 'in' => 'query', 'schema' => ['description' => '用户和设备绑定类型。'."\n" ."\n" .'- **0**:表示分享用户。'."\n" .'- **1**:表示管理员用户。'."\n" .'- 不传则查询所有用户。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1', 'minimum' => '0', 'example' => '0'], ], ], 'responses' => [ 200 => [ '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' => '是否调用成功。'."\n" ."\n" .'- **true**:调用成功。'."\n" .'- **false**:调用失败。', 'type' => 'boolean', 'example' => 'true'], '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' => '用户列表信息。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'IdentityAlias' => ['description' => '用户显示名称。', 'type' => 'string', 'example' => '18*******20'], 'IdentityId' => ['description' => '用户身份ID。', 'type' => 'string', 'example' => '5035op97******************a63994'], 'BindTime' => ['description' => '设备绑定用户的时间,13位毫秒级时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '2222220000000'], ], 'description' => '', ], ], ], ], ], 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.TenantMismatch', 'errorMessage' => 'Caller tenant and account belong tenant mismatch.', 'description' => '接口调用方的租户和账号归属的租户不一致。'], ['errorCode' => 'iot.vision.QueryBindingAccountFailed', 'errorMessage' => 'Query binding account failed.', 'description' => '查询绑定的用户失败。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], '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":"\\nE55***B7-4***-4***-8***-D3******F565\\n\\n 1\\n 1\\n 1\\n \\n 1700209801000\\n 5035op97******************a63994\\n 18*******20\\n \\n\\ntrue\\n","errorExample":""}]', 'title' => 'ListBindingAccountByDevice', 'summary' => '调用该接口查询指定设备所绑定的用户列表。', 'description' => '## QPS限制'."\n" ."\n" .'单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为50。'."\n" ."\n" .'> 单个阿里云账号下的所有RAM用户共享该阿里云账号的配额。', 'requestParamsDescription' => '调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListBindingAccountByDevice'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:ListBindingAccountByDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], ], 'ListBindingDeviceByAccount' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'OpenId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'OpenIdAppKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '50', 'minimum' => '1'], ], [ 'name' => 'IdentityId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'PageNo', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1'], ], [ 'name' => 'SubDevice', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string'], 'ErrorMessage' => ['type' => 'string'], 'RequestId' => ['type' => 'string'], 'Success' => ['type' => 'boolean'], 'Data' => [ 'type' => 'object', 'properties' => [ 'PageNo' => ['type' => 'integer', 'format' => 'int32'], 'PageSize' => ['type' => 'integer', 'format' => 'int32'], 'Total' => ['type' => 'integer', 'format' => 'int64'], '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'], ], ], ], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.QueryBindingDeviceFailed', 'errorMessage' => 'Query binding device failed.', 'description' => '查询绑定设备列表失败。'], ['errorCode' => 'iot.vision.GetAccountInfoFailed', 'errorMessage' => 'Get account info failed.', 'description' => '查询账号详情信息失败。'], ['errorCode' => 'iot.vision.AccountNotFound', 'errorMessage' => 'Account not found.', 'description' => '找不到账号。'], ['errorCode' => 'iot.vision.TenantMismatch', 'errorMessage' => 'Caller tenant and account belong tenant mismatch.', 'description' => '接口调用方的租户和账号归属的租户不一致。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListBindingDeviceByAccount'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:ListBindingDeviceByAccount', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true,\\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' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'BatchId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true], ], [ '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' => [ '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'], ], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryBatchStatus'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryBatchStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true,\\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' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => '视频设备所属产品的**ProductKey**。'."\n" ."\n" .'>如果传入该参数,需同时传入**DeviceName**。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'a1Bw******'], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => '视频设备的设备名称。'."\n" ."\n" .'>如果传入该参数,需同时传入**ProductKey**。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'Device01'], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => '视频设备的设备ID。'."\n" .'>'."\n" .'**IotId**作为设备唯一标识符,和**ProductKey**与**DeviceName**组合是一一对应的关系。如果传入该参数,则无需传入**ProductKey**和**DeviceName**。如果您同时传入**IotId**和**ProductKey**与**DeviceName**组合,则以**IotId**为准。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'C47T6xwp6ms4bNlkHRWCg4****'], ], [ 'name' => 'ProjectId', 'in' => 'query', 'schema' => ['description' => '项目ID。', 'type' => 'string', 'required' => true, 'example' => 'a123qs*****sy4QU'], ], ], 'responses' => [ 200 => [ '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' => '是否调用成功。'."\n" ."\n" .'- **true**:调用成功。'."\n" .'- **false**:调用失败。', 'type' => 'boolean', 'example' => 'true'], 'Data' => [ 'description' => '调用成功,返回的数据。', 'type' => 'object', 'properties' => [ 'Status' => ['description' => '设备状态。取值:'."\n" ."\n" .'- **ONLINE**:设备在线。'."\n" .'- **OFFLINE**:设备离线。'."\n" .'- **UNACTIVE**:设备未激活。'."\n" .'- **DISABLE**:设备已禁用。', 'type' => 'string', 'example' => 'ONLINE'], 'ProductName' => ['description' => '设备所属产品的名称。', 'type' => 'string', 'example' => 'test'], 'DeviceName' => ['description' => '设备名称。', 'type' => 'string', 'example' => 'Device01'], 'CreateTime' => ['description' => '设备的创建时间,13位毫秒级时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1834500000000'], 'FirmwareVersion' => ['description' => '设备默认(default)OTA模块的版本号。', 'type' => 'string', 'example' => 'V1.0.0.0'], 'OnlineTime' => ['description' => '设备最后上线时间,13位毫秒级时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '2298700000000'], 'ActiveTime' => ['description' => '设备的激活时间,13位毫秒级时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1934500000000'], 'ProductKey' => ['description' => '设备所属产品的**ProductKey**。', 'type' => 'string', 'example' => 'a1Bw******'], 'IpAddress' => ['description' => '设备的IP地址。', 'type' => 'string', 'example' => '10.***.***.***'], 'NodeType' => ['description' => '节点类型,取值:'."\n" ."\n" .'- **0**:设备。设备不能挂载子设备。'."\n" .'- **1**:网关。网关可以挂载子设备。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], 'Region' => ['description' => '设备所在地域的ID。', 'type' => 'string', 'example' => 'cn-shanghai'], 'DeviceSecret' => ['description' => '设备密钥。', 'type' => 'string', 'example' => 'mz2Canp4GB7qRVf1OYPNtRqB2anu****'], 'Nickname' => ['description' => '设备的备注名称。', 'type' => 'string', 'example' => 'detectors_in_beijing'], 'IotId' => ['description' => '设备ID。', 'type' => 'string', 'example' => 'C47T6xwp6ms4bNlkHRWCg4****'], ], ], ], 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.InvalidIotInstance', 'errorMessage' => 'Invalid iot instance.', 'description' => '无效的实例或者找不到对应实例。'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => '设备不存在。'], ['errorCode' => 'iot.vision.ProductNotExist', 'errorMessage' => 'Product not exist.', 'description' => '产品不存在。'], ['errorCode' => 'iot.vision.DeviceNameFormatInvalid', 'errorMessage' => 'Device name format invalid.', 'description' => '设备名称格式无效。'], ['errorCode' => 'iot.vision.InstanceArrearage', 'errorMessage' => 'Instance arrearage.', 'description' => '实例已欠费。'], ['errorCode' => 'iot.vision.ProductKeyFormatInvalid', 'errorMessage' => 'Product key format invalid.', 'description' => '产品Key格式无效。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ['errorCode' => 'iot.vision.HasNoAccessPermission', 'errorMessage' => 'Has no access permission.', 'description' => '没有访问权限。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], '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":"\\nE55***B7-4***-4***-8***-D3******F565\\n\\n ONLINE\\n test\\n mz2Canp4GB7qRVf1OYPNtRqB2anu****\\n 1834500000000\\n 2298700000000\\n V1.0.0.0\\n C47T6xwp6ms4bNlkHRWCg4****\\n 1934500000000\\n 0\\n cn-shanghai\\n 10.***.***.***\\n a1Bw******\\n detectors_in_beijing\\n Device01\\n\\ntrue\\n","errorExample":""}]', 'title' => 'QueryDeviceDetail', 'summary' => '调用该接口查询指定设备的详细信息。', 'description' => '## QPS限制'."\n" ."\n" .'单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为50。'."\n" ."\n" .'> 单个阿里云账号下的所有RAM用户共享该阿里云账号的配额。', 'requestParamsDescription' => '调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceDetail'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryDeviceDetail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], ], 'QueryDevicesDownloadUrl' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ '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'], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => ''], ['errorCode' => 'iot.common.AuthActionPermissionDeny', 'errorMessage' => 'The authorization fails.', 'description' => '鉴权失败。'], ], 403 => [ ['errorCode' => 'iot.lv.requestAuthError', 'errorMessage' => 'Request auth error.', 'description' => '认证出错。'], ['errorCode' => 'iot.lv.requestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ], ], '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' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"OssDownloadUrl\\": \\"\\"\\n }\\n}","type":"json"}]', ], 'QueryFreeStorage' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string'], 'ErrorMessage' => ['type' => 'string'], 'RequestId' => ['type' => 'string'], 'Success' => ['type' => 'boolean'], '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'], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => '设备没有绑定管理员。'], ['errorCode' => 'iot.vision.FreeStorageQuotaLimit', 'errorMessage' => 'No enough free storage quota or exceed limit.', 'description' => '免费试用的云存储配额不足或超限制。'], ['errorCode' => 'iot.vision.GetDeviceInfoFailed', 'errorMessage' => 'Get device info failed.', 'description' => '查询设备详情失败。'], ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => '获取云存储订单分布式锁失败,请稍后重试。'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => '设备不存在。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryFreeStorage'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryFreeStorage', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true,\\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' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '50', 'minimum' => '1'], ], [ 'name' => 'BatchId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'PageNo', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '1000', 'minimum' => '1'], ], [ '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' => [ 'PageNo' => ['type' => 'integer', 'format' => 'int32'], 'PageSize' => ['type' => 'integer', 'format' => 'int32'], 'Total' => ['type' => 'integer', 'format' => 'int32'], 'ListData' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'DeviceName' => ['type' => 'string'], 'IotId' => ['type' => 'string'], 'DeviceSecret' => ['type' => 'string'], ], ], ], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.common.RamActionPermissionDeny', 'errorMessage' => 'You do not have the RAM permission.', 'description' => '没有资源访问控制(RAM)权限。'], ['errorCode' => 'iot.vision.ProductNotExist', 'errorMessage' => 'Product not exist.', 'description' => '产品不存在。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryGenerateDevicesInfoList'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryGenerateDevicesInfoList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true,\\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' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'PageSize', 'in' => 'formData', 'schema' => ['description' => '指定返回结果中每页显示的记录数量,最大值是100。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1'], ], [ 'name' => 'PageNo', 'in' => 'formData', 'schema' => ['description' => '指定显示返回结果中的第几页,最大值为1,000。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '1000', 'minimum' => '1', 'example' => '1'], ], [ 'name' => 'StartTime', 'in' => 'formData', 'schema' => ['description' => '起始时间的毫秒级时间戳。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '9999999999999', 'minimum' => '1', 'example' => '1690819200000'], ], [ 'name' => 'EndTime', 'in' => 'formData', 'schema' => ['description' => '结束时间的毫秒级时间戳。'."\n" ."\n" .'> 起止时间间隔不能超过30天。'."\n" .'>', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '9999999999999', 'minimum' => '1', 'example' => '1659283200000'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => '调用结果状态码:'."\n" .'- 调用成功,返回200。'."\n" .'- 调用失败,返回错误码。详细信息,请参见下文**错误码**。', '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' => '是否调用成功。'."\n" .'- **true**:调用成功。'."\n" .'- **false**:调用失败。', 'type' => 'boolean', 'example' => 'true'], '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' => '激活码规格Code。取值:'."\n" ."\n" .'- **Consumer_IPC_512Kbps**:消费类IPC 512Kbps。'."\n" .'- **Consumer_IPC_1Mbps**:消费类IPC 1Mbps。'."\n" .'- **Consumer_IPC_2Mbps**:消费类IPC 2Mbps。'."\n" .'- **Consumer_IPC_4Mbps**:消费类IPC 4Mbps。'."\n" .'- **Industry_IPC**:行业类IPC。'."\n" .'- **NVR_Less64**:NVR小于等于64路。'."\n" .'- **NVR_Higher64**:NVR大于64路。', 'type' => 'string', 'example' => 'Consumer_IPC_512Kbps'], 'ProductKey' => ['description' => '设备所属产品的**ProductKey**。', 'type' => 'string', 'example' => 'a3w******'], 'ProductName' => ['description' => '设备所属产品的名称。', 'type' => 'string', 'example' => '电饭煲'], 'CreateTime' => ['description' => '批量注册设备任务的提交时间,格式为毫秒级时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1690819200000'], 'BatchStatus' => ['description' => '批量注册的批次状态。'."\n" ."\n" .'- **CREATE**:正在创建设备。'."\n" .'- **CREATE_SUCCESS**:申请单中的所有设备创建成功。'."\n" .'- **CREATE_FAILED**:申请单中有设备创建失败。', 'type' => 'string', 'example' => 'CREATE'], 'NetworkType' => ['description' => '产品的连网方式。取值:'."\n" ."\n" .'- **WIFI**:Wi-Fi。'."\n" .'- **CELLULAR**:蜂窝GPRS/3G/4G/5G。'."\n" .'- **ETHERNET**:以太网。'."\n" .'- **OTHER**:其他网络类型。', 'type' => 'string', 'example' => 'WIFI'], 'OperateUid' => ['description' => '操作账号的UID。', 'type' => 'integer', 'format' => 'int64', 'example' => '110000000000'], 'SuccessCount' => ['description' => '批量注册设备成功的设备数量。', 'type' => 'integer', 'format' => 'int64', 'example' => '5'], 'BatchId' => ['description' => '申请的批次ID。', 'type' => 'string', 'example' => '1508******195'], ], 'description' => '', ], ], ], ], ], 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], '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":"\\nE5******-4***-***B-8**E-D3********65\\n\\n 1\\n 5\\n 1\\n \\n Consumer_IPC_512Kbps\\n 110000000000\\n 电饭煲\\n WIFI\\n CREATE\\n 1690819200000\\n 1508******195\\n 5\\n a3w******\\n 133\\n \\n\\n200\\ntrue\\n","errorExample":""}]', 'title' => 'QueryGenerateDevicesRecord', 'summary' => '调用该接口查询设备批量注册的记录信息。', 'description' => '## QPS限制'."\n" ."\n" .'单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为20。'."\n" ."\n" .'> 单个阿里云账号下的所有RAM用户共享该阿里云账号的配额。', 'requestParamsDescription' => '调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryGenerateDevicesRecord'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryGenerateDevicesRecord', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], ], 'QueryStorageCommodityList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [], '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'], ], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryStorageCommodityList'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryStorageCommodityList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true,\\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' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'DeviceNoOwner', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false'], ], [ 'name' => 'OrderId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string'], 'ErrorMessage' => ['type' => 'string'], 'RequestId' => ['type' => 'string'], 'Success' => ['type' => 'boolean'], 'Data' => [ 'type' => 'object', 'properties' => [ 'Status' => ['type' => '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'], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => '设备没有绑定管理员。'], ['errorCode' => 'iot.vision.InvalidStorageOrder', 'errorMessage' => 'Invalid storage order.', 'description' => '无效的云存储订单。'], ['errorCode' => 'iot.vision.DeviceOwnerChanged', 'errorMessage' => 'Device owner changed.', 'description' => '设备的管理员用户变更。'], ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => '获取云存储订单分布式锁失败,请稍后重试。'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => '设备不存在。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryStorageOrder'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryStorageOrder', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true,\\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' => [], ], ], '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'], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'PageNo', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '1000', 'minimum' => '1'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string'], 'ErrorMessage' => ['type' => 'string'], 'RequestId' => ['type' => 'string'], 'Success' => ['type' => 'boolean'], 'Data' => [ 'type' => 'object', 'properties' => [ 'PageNo' => ['type' => 'integer', 'format' => 'int32'], 'PageSize' => ['type' => 'integer', 'format' => 'int32'], 'Total' => ['type' => 'integer', 'format' => 'int32'], 'PageCount' => ['type' => 'integer', 'format' => 'int32'], 'StorageOrderList' => [ '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'], ], ], ], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => '设备没有绑定管理员。'], ['errorCode' => 'iot.vision.DeviceOwnerChanged', 'errorMessage' => 'Device owner changed.', 'description' => '设备的管理员用户变更。'], ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => '获取云存储订单分布式锁失败,请稍后重试。'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => '设备不存在。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryStorageOrderList'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryStorageOrderList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true,\\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' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => '视频设备所属产品的**ProductKey**。'."\n" ."\n" .'>如果传入该参数,需同时传入**DeviceName**。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'a1Bw******'], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => '视频设备的设备名称。'."\n" ."\n" .'>如果传入该参数,需同时传入**ProductKey**。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'Device01'], ], [ 'name' => 'Args', 'in' => 'query', 'schema' => ['description' => '要设置的属性信息,数据格式为JSON。'."\n" ."\n" .'每个属性信息由**标识符**与**属性值**(**key:value**)构成,多个属性用英文逗号隔开。', 'type' => 'string', 'required' => true, 'example' => '{"Switch":1,"Color":"blue"}'], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => '视频设备的设备ID。'."\n" .'>'."\n" .'**IotId**作为设备唯一标识符,和**ProductKey**与**DeviceName**组合是一一对应的关系。如果传入该参数,则无需传入**ProductKey**和**DeviceName**。如果您同时传入**IotId**和**ProductKey**与**DeviceName**组合,则以**IotId**为准。'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'C47T6xwp6ms4bNlkHRWCg4****'], ], ], 'responses' => [ 200 => [ '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' => '是否调用成功。'."\n" ."\n" .'- **true**:调用成功。'."\n" .'- **false**:调用失败。', 'type' => 'boolean', 'example' => 'true'], ], 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.InvalidIotInstance', 'errorMessage' => 'Invalid iot instance.', 'description' => '无效的实例或者找不到对应实例。'], ['errorCode' => 'iot.vision.ProductNotExist', 'errorMessage' => 'Product not exist.', 'description' => '产品不存在。'], ['errorCode' => 'iot.vision.ThingModelNotExist', 'errorMessage' => 'Thing model not exist.', 'description' => '物模型功能不存在。'], ['errorCode' => 'iot.vision.ThingModelIdentifierNotExist', 'errorMessage' => 'Thing model identifier not exist.', 'description' => '物模型功能标识符不存在。'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => '设备不存在。'], ['errorCode' => 'iot.vision.InstanceArrearage', 'errorMessage' => 'Instance arrearage.', 'description' => '实例已欠费。'], ['errorCode' => 'iot.vision.SetPropertyFailed', 'errorMessage' => 'Set property failed.', 'description' => '设置物模型属性失败。'], ['errorCode' => 'iot.vision.PropertyNotFound', 'errorMessage' => 'Property not found.', 'description' => '物模型属性不存在。'], ['errorCode' => 'iot.vision.PropertyReadOnly', 'errorMessage' => 'Property is read only.', 'description' => '物模型属性是只读的。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ['errorCode' => 'iot.vision.HasNoAccessPermission', 'errorMessage' => 'Has no access permission.', 'description' => '没有访问权限。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], '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":"\\nE55***B7-4***-4***-8***-D3******F565\\ntrue\\n","errorExample":""}]', 'title' => 'SetThingProperty', 'summary' => '调用该接口为指定设备设置属性值。', 'description' => '## QPS限制'."\n" ."\n" .'单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为50。'."\n" ."\n" .'> 单个阿里云账号下的所有RAM用户共享该阿里云账号的配额。', 'requestParamsDescription' => '调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetThingProperty'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:SetThingProperty', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], ], 'TransferStorageOrder' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], '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', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'SrcOrderId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'EventRecordProlong', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false'], ], [ 'name' => 'ImmediateUse', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false'], ], [ 'name' => 'UserName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'UserId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'EnableDefaultPlan', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false'], ], [ 'name' => 'PreRecordDuration', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5', 'minimum' => '0', 'default' => '0'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string'], 'ErrorMessage' => ['type' => 'string'], 'RequestId' => ['type' => 'string'], 'Success' => ['type' => 'boolean'], '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'], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => '设备没有绑定管理员。'], ['errorCode' => 'iot.vision.DeviceOwnerChanged', 'errorMessage' => 'Device owner changed.', 'description' => '设备的管理员用户变更。'], ['errorCode' => 'iot.vision.InvalidStorageOrder', 'errorMessage' => 'Invalid storage order.', 'description' => '无效的云存储订单。'], ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => '获取云存储订单分布式锁失败,请稍后重试。'], ['errorCode' => 'iot.vision.StorageOrderStatusInvalid', 'errorMessage' => 'Storage order status invalid.', 'description' => '当前云存储订单状态不支持操作。'], ['errorCode' => 'iot.vision.TargetDeviceOwnerDifferent', 'errorMessage' => 'Target device owner is different.', 'description' => '目标设备的管理员用户与待转移订单的管理员用户不一致。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], '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' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true,\\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'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'UnbindSubDevice', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string'], 'ErrorMessage' => ['type' => 'string'], 'RequestId' => ['type' => 'string'], 'Success' => ['type' => 'boolean'], 'Data' => [ 'type' => 'object', 'properties' => [ 'SubDeviceUnbindResult' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'UnbindResultMessage' => ['type' => 'string'], 'ProductKey' => ['type' => 'string'], 'DeviceName' => ['type' => 'string'], 'UnbindResultCode' => ['type' => 'integer', 'format' => 'int32'], 'IotId' => ['type' => 'string'], ], ], ], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.GetAccountInfoFailed', 'errorMessage' => 'Get account info failed.', 'description' => '查询账号详情信息失败。'], ['errorCode' => 'iot.vision.AccountNotFound', 'errorMessage' => 'Account not found.', 'description' => '找不到账号。'], ['errorCode' => 'iot.vision.TenantMismatch', 'errorMessage' => 'Caller tenant and account belong tenant mismatch.', 'description' => '接口调用方的租户和账号归属的租户不一致。'], ['errorCode' => 'iot.vision.UnbindFailed', 'errorMessage' => 'Unbind account and device failed.', 'description' => '账号和设备解绑失败。'], ['errorCode' => 'iot.vision.BindingRelationNotFound', 'errorMessage' => 'Account and device binding relation not found.', 'description' => '账号和设备不存在绑定关系。'], ['errorCode' => 'iot.vision.QueryBindingAccountFailed', 'errorMessage' => 'Query binding account failed.', 'description' => '查询绑定的用户失败。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], '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' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true,\\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'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'OpenId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'OpenIdAppKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'IdentityId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'UnbindSubDevice', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'true'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string'], 'ErrorMessage' => ['type' => 'string'], 'RequestId' => ['type' => 'string'], 'Success' => ['type' => 'boolean'], 'Data' => [ 'type' => 'object', 'properties' => [ 'SubDeviceUnbindResult' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'UnbindResultMessage' => ['type' => 'string'], 'ProductKey' => ['type' => 'string'], 'DeviceName' => ['type' => 'string'], 'UnbindResultCode' => ['type' => 'integer', 'format' => 'int32'], 'IotId' => ['type' => 'string'], ], ], ], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => '请求失败。'], ['errorCode' => 'iot.vision.GetAccountInfoFailed', 'errorMessage' => 'Get account info failed.', 'description' => '查询账号详情信息失败。'], ['errorCode' => 'iot.vision.AccountNotFound', 'errorMessage' => 'Account not found.', 'description' => '找不到账号。'], ['errorCode' => 'iot.vision.TenantMismatch', 'errorMessage' => 'Caller tenant and account belong tenant mismatch.', 'description' => '接口调用方的租户和账号归属的租户不一致。'], ['errorCode' => 'iot.vision.BindingRelationNotFound', 'errorMessage' => 'Account and device binding relation not found.', 'description' => '账号和设备不存在绑定关系。'], ['errorCode' => 'iot.vision.UnbindFailed', 'errorMessage' => 'Unbind account and device failed.', 'description' => '账号和设备解绑失败。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], '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' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true,\\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'], 'required' => true, 'maxItems' => 10000, ], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true], ], [ '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'], 'InvalidDetailList' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'DeviceName' => ['type' => 'string'], 'ErrorMsg' => ['type' => 'string'], ], ], ], 'RepeatedDeviceNameList' => [ 'type' => 'array', 'items' => ['type' => 'string'], ], 'InvalidDeviceNameList' => [ 'type' => 'array', 'items' => ['type' => 'string'], ], ], ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => '请求参数错误。'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => '未知内部错误。'], ['errorCode' => 'iot.vision.ActiveCodeInsufficient', 'errorMessage' => 'Active code quota is insufficient.', 'description' => '可用激活码不足。'], ['errorCode' => 'iot.vision.DevicesCountExceedLimit', 'errorMessage' => 'The devices count exceed the limit.', 'description' => '创建设备数量超过限制。'], ['errorCode' => 'iot.vision.DevicesExceedUnreleasedProductLimit', 'errorMessage' => 'Devices count exceed the limit of unreleased product.', 'description' => '创建设备数量超过未发布产品的试产设备数量。'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => '请求鉴权失败。'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => '请求被禁止。'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => '请求太频繁被限流。'], ], ], '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' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true,\\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' => 'ap-northeast-1', 'regionName' => '日本(东京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', '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' => '新加坡', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'ap-southeast-2', 'regionName' => '澳大利亚(悉尼)已关停', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'ap-southeast-3', 'regionName' => '马来西亚(吉隆坡)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'ap-southeast-5', 'regionName' => '印度尼西亚(雅加达)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-beijing', 'regionName' => '华北2(北京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-hangzhou', 'regionName' => '华东1(杭州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'linkvisual.cn-hangzhou.aliyuncs.com', 'endpoint' => 'linkvisual.cn-hangzhou.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-hongkong', 'regionName' => '中国香港', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-huhehaote', 'regionName' => '华北5(呼和浩特)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-qingdao', 'regionName' => '华北1(青岛)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-shanghai', 'regionName' => '华东2(上海)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'linkvisual.cn-shanghai.aliyuncs.com', 'endpoint' => 'linkvisual.cn-shanghai.aliyuncs.com', 'vpc' => 'linkvisual-vpc.cn-shanghai.aliyuncs.com'], ['regionId' => 'cn-shenzhen', 'regionName' => '华南1(深圳)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-zhangjiakou', 'regionName' => '华北3(张家口)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'us-west-1', 'regionName' => '美国(硅谷)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'us-east-1', 'regionName' => '美国(弗吉尼亚)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'eu-west-1', 'regionName' => '英国(伦敦)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'eu-central-1', 'regionName' => '德国(法兰克福)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'me-east-1', 'regionName' => '阿联酋(迪拜)', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'ap-south-1', 'regionName' => '印度(孟买)已关停', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ], 'errorCodes' => [ ['code' => '403', 'message' => 'tenant auth error', 'http_code' => 200, 'description' => '请求因设备或用户信息鉴权失败被禁止'], ['code' => '403', 'message' => 'request forbidden.', 'http_code' => 200, 'description' => '请求因参数鉴权失败被禁止'], ['code' => '460', 'message' => 'picture type error.', 'http_code' => 200, 'description' => '图片类型错误'], ['code' => '460', 'message' => 'RAM system auth error.', 'http_code' => 200, 'description' => 'RAM鉴权失败'], ['code' => '460', 'message' => 'beginTime can not bigger or equal endTime.', 'http_code' => 200, 'description' => '开始时间不得晚于结束时间'], ['code' => '460', 'message' => 'beginTime or endTime can not be null.', 'http_code' => 200, 'description' => ' 起止时间不能为空'."\n"], ['code' => '460', 'message' => 'product is not active.', 'http_code' => 200, 'description' => '设备产品未激活视频服务'."\n"], ['code' => '466', 'message' => 'request too frequently.', 'http_code' => 200, 'description' => '请求过于频繁'], ['code' => '466', 'message' => 'alarm picture exist.', 'http_code' => 200, 'description' => '报警图片已经存在,不允许重复上传'], ['code' => '466', 'message' => 'device offline.', 'http_code' => 200, 'description' => ' 设备不在线'], ['code' => '466', 'message' => 'deviceList lifecycle not exist.', 'http_code' => 200, 'description' => '设备存储生命周期不存在'], ['code' => '466', 'message' => 'triggerPicture failed.', 'http_code' => 200, 'description' => '设备抓图失败'], ['code' => '466', 'message' => 'push stream fail.', 'http_code' => 200, 'description' => '设备推流失败'], ['code' => '466', 'message' => 'device status is disable.', 'http_code' => 200, 'description' => '设备物联网通道被禁用'], ['code' => '466', 'message' => 'device status is initial.', 'http_code' => 200, 'description' => '设备未激活物联网通道(第一次上线后激活)'], ['code' => '466', 'message' => 'device status is offline.', 'http_code' => 200, 'description' => '设备不在线'], ['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' => '服务端未知错误。'], ['code' => 'iot.common.AuthActionPermissionDeny', 'message' => 'The authorization fails.', 'http_code' => 400, 'description' => '鉴权失败。'], ['code' => 'iot.common.RamActionPermissionDeny', 'message' => 'You do not have the RAM permission.', 'http_code' => 400, 'description' => '没有资源访问控制(RAM)权限。'], ['code' => 'iot.lv.requestAuthError', 'message' => 'Request auth error.', 'http_code' => 403, 'description' => '认证出错。'], ['code' => 'iot.lv.requestError', 'message' => 'Post-paid change limit.', 'http_code' => 400, 'description' => '按量计费功能变更次数超限制。'], ['code' => 'iot.lv.requestError', 'message' => 'Request error.', 'http_code' => 400, 'description' => '请求出错'], ['code' => 'iot.lv.requestError', 'message' => 'Request error', 'http_code' => 400, 'description' => '请求出错'], ['code' => 'iot.lv.requestParamError', 'message' => 'Request parameter error.', 'http_code' => 403, 'description' => '请求参数错误。'], ['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' => '实例ID不存在。'], ['code' => 'iot.system.UidNotFound', 'message' => 'The Alibaba Cloud account does not exist or the IoT Platform service is not activated.', 'http_code' => 400, 'description' => '阿里云账号不存在或未开通物联网服务。'], ['code' => 'iot.vision.AccountAlreadyExist', 'message' => 'Account already exist.', 'http_code' => 400, 'description' => '账号已存在。'], ['code' => 'iot.vision.AccountNotFound', 'message' => 'Account not found.', 'http_code' => 400, 'description' => '找不到账号。'], ['code' => 'iot.vision.AccountRegistryAddFailed', 'message' => 'Add account registry failed.', 'http_code' => 400, 'description' => '新增账号注册信息失败。'], ['code' => 'iot.vision.AccountRegistryLockFailed', 'message' => 'Get account registry lock failed.', 'http_code' => 400, 'description' => '账号注册获取分布式锁失败。'], ['code' => 'iot.vision.AccountRegistryRemoveFailed', 'message' => 'Remove account registry failed.', 'http_code' => 400, 'description' => '删除账号注册信息失败。'], ['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' => '应用名称已存在。'], ['code' => 'iot.vision.BatchHasCreated', 'message' => 'This batch task has been created.', 'http_code' => 400, 'description' => '该批次已经创建设备。'], ['code' => 'iot.vision.BatchUpgradeDeviceFailed', 'message' => 'Batch upgrade device failed:%s', 'http_code' => 400, 'description' => '批量升级设备失败。'], ['code' => 'iot.vision.BindFailed', 'message' => 'Bind account and device failed.', 'http_code' => 400, 'description' => '账号和设备绑定失败。'], ['code' => 'iot.vision.BindingRelationNotFound', 'message' => 'Account and device binding relation not found.', 'http_code' => 400, 'description' => '账号和设备不存在绑定关系。'], ['code' => 'iot.vision.CancelOTATaskFailed', 'message' => 'Cancel ota task failed:%s', 'http_code' => 400, 'description' => '取消升级任务失败。'], ['code' => 'iot.vision.CancelUpgradeTaskFailed', 'message' => 'Cancel upgrade task failed:%s', 'http_code' => 400, 'description' => '取消设备升级失败。'], ['code' => 'iot.vision.CheckDeviceFileFailed', 'message' => 'Check device file failed:%s', 'http_code' => 400, 'description' => '设备列表文件校验失败。'], ['code' => 'iot.vision.CheckDeviceFileRequestFailed', 'message' => 'Check device file request failed:%s', 'http_code' => 400, 'description' => '校验设备列表文件的请求失败。'], ['code' => 'iot.vision.ConcurrencyExceedLimit', 'message' => 'Concurrency exceed the limit.', 'http_code' => 400, 'description' => '并发数超过限额。'], ['code' => 'iot.vision.CreateDeviceFailed', 'message' => 'create device failed.', 'http_code' => 400, 'description' => '创建设备失败。'], ['code' => 'iot.vision.CreateFirmwareFailed', 'message' => 'Create firmware failed:%s', 'http_code' => 400, 'description' => '创建升级包失败。'], ['code' => 'iot.vision.CreateFirmwareModuleFailed', 'message' => 'Create firmware module failed:%s', 'http_code' => 400, 'description' => '创建升级包模块失败。'], ['code' => 'iot.vision.CreateProductFailed', 'message' => 'Create product failed.', 'http_code' => 400, 'description' => '创建产品失败。'], ['code' => 'iot.vision.CreateProductNotAllow', 'message' => 'Create product not allow.', 'http_code' => 400, 'description' => '不支持创建产品。'], ['code' => 'iot.vision.CreateProjectFailed', 'message' => 'Create project failed.', 'http_code' => 400, 'description' => '创建项目失败。'], ['code' => 'iot.vision.CreateStorageOrderFailed', 'message' => 'Create storage order failed.', 'http_code' => 400, 'description' => '创建云存储订单失败。'], ['code' => 'iot.vision.CreateSubscribeRelationFailed', 'message' => 'Create subscribe relation failed:%s', 'http_code' => 400, 'description' => '创建订阅关系失败。'], ['code' => 'iot.vision.DeleteDeviceFailed', 'message' => 'delete device failed.', 'http_code' => 400, 'description' => '删除设备失败。'], ['code' => 'iot.vision.DeleteFirmwareFailed', 'message' => 'Delete firmware failed:%s', 'http_code' => 400, 'description' => '删除升级包失败。'], ['code' => 'iot.vision.DeleteFirmwareModuleFailed', 'message' => 'Delete firmware module failed:%s', 'http_code' => 400, 'description' => '删除升级包模块失败。'], ['code' => 'iot.vision.DeleteProductFailed', 'message' => 'Delete product failed.', 'http_code' => 400, 'description' => '删除产品失败。'], ['code' => 'iot.vision.DeleteProjectFailed', 'message' => 'Delete project failed.', 'http_code' => 400, 'description' => '删除项目失败。'], ['code' => 'iot.vision.DeleteSubscribeRelationFailed', 'message' => 'Delete subscribe relation failed:%s', 'http_code' => 400, 'description' => '删除订阅关系失败。'], ['code' => 'iot.vision.DevcieOffline', 'message' => 'Device offline.', 'http_code' => 400, 'description' => '设备不在线。'], ['code' => 'iot.vision.DeviceInactive', 'message' => 'Device inactive.', 'http_code' => 400, 'description' => '设备未激活。'], ['code' => 'iot.vision.DeviceNameCheckFailed', 'message' => 'Device names check failed.', 'http_code' => 400, 'description' => '设备名称校验失败。'], ['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' => '设备名已存在。'], ['code' => 'iot.vision.DeviceNameFormatInvalid', 'message' => 'Device name format invalid.', 'http_code' => 400, 'description' => '设备名称格式无效。'], ['code' => 'iot.vision.DeviceNicknameInvalid', 'message' => 'Device nickname invalid.', 'http_code' => 400, 'description' => '设备昵称无效。'], ['code' => 'iot.vision.DeviceNoOwner', 'message' => 'Device has no owner.', 'http_code' => 400, 'description' => '设备没有绑定管理员。'], ['code' => 'iot.vision.DeviceNotExist', 'message' => 'Device not exist.', 'http_code' => 400, 'description' => '设备不存在。'], ['code' => 'iot.vision.DeviceNotStreaming', 'message' => 'Device is not streaming.', 'http_code' => 400, 'description' => '设备未推流。'], ['code' => 'iot.vision.DeviceNumLimit', 'message' => 'device num exceed limit.', 'http_code' => 400, 'description' => '设备数量超限。'], ['code' => 'iot.vision.DeviceOffline', 'message' => 'Device is offline.', 'http_code' => 400, 'description' => '设备不在线。'], ['code' => 'iot.vision.DeviceOwnerChanged', 'message' => 'Device owner changed.', 'http_code' => 400, 'description' => '设备的管理员用户变更。'], ['code' => 'iot.vision.DevicePropertyFormatInvalid', 'message' => 'Device property format invalid.', 'http_code' => 400, 'description' => '设备属性格式无效。'], ['code' => 'iot.vision.DevicesCountExceedLimit', 'message' => 'The devices count exceed the limit.', 'http_code' => 400, 'description' => '创建设备数量超过限制。'], ['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' => '下载任务异常。'], ['code' => 'iot.vision.FirmwareNotFound', 'message' => 'The specified firmware does not exist.', 'http_code' => 400, 'description' => '该版本升级包不存在。'], ['code' => 'iot.vision.FirmwareNotVerified', 'message' => 'Firmware validation not completed.', 'http_code' => 400, 'description' => '升级包验证未完成。'], ['code' => 'iot.vision.FirmwareSourceVersionMismatch', 'message' => 'Current firmware version of device does not match source version of firmware.', 'http_code' => 400, 'description' => '设备当前版本号与升级包的源版本号不匹配。'], ['code' => 'iot.vision.FirmwareVerifyFailed', 'message' => 'Firmware verify failed.', 'http_code' => 400, 'description' => '升级包验证失败。'], ['code' => 'iot.vision.FirmwareVersionMismatch', 'message' => 'The version of firmware mismatch.', 'http_code' => 400, 'description' => '升级包版本号不匹配。'], ['code' => 'iot.vision.FreeStorageLimit', 'message' => 'Free storage quota exceed limit.', 'http_code' => 400, 'description' => '无免费试用的云存储配额。'], ['code' => 'iot.vision.FreeStorageQuotaLimit', 'message' => 'No enough free storage quota or exceed limit.', 'http_code' => 400, 'description' => '免费试用的云存储配额不足或超限制。'], ['code' => 'iot.vision.GbIdDuplicate', 'message' => 'The GB28181 deviceId is duplicated.', 'http_code' => 400, 'description' => '国标ID重复。'], ['code' => 'iot.vision.GbServiceNotEnabled', 'message' => 'The GB28181 service has not been enabled.', 'http_code' => 400, 'description' => '国标服务未开启。'], ['code' => 'iot.vision.GenerateDeviceNameListUrlFailed', 'message' => 'Generate device name list url failed:%s', 'http_code' => 400, 'description' => '生成设备列表上传URL请求失败。'], ['code' => 'iot.vision.GenerateFirmwareUploadUrlFailed', 'message' => 'Generate firmware upload url failed:%s', 'http_code' => 400, 'description' => '生成固件上传URL失败。'], ['code' => 'iot.vision.GetAccountInfoFailed', 'message' => 'Get account info failed.', 'http_code' => 400, 'description' => '查询账号详情信息失败。'], ['code' => 'iot.vision.GetDeviceInfoFailed', 'message' => 'Get device info failed.', 'http_code' => 400, 'description' => '查询设备详情失败。'], ['code' => 'iot.vision.GetOwnerIdentityInfoFailed', 'message' => 'Get owner identity info failed.', 'http_code' => 400, 'description' => '查询设备管理员用户信息失败。'], ['code' => 'iot.vision.GetThingEventSnapshotFailed', 'message' => 'Get thing event snapshot failed.', 'http_code' => 400, 'description' => '查询物模型事件快照失败。'], ['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' => '仍有关联产品不能删除。'], ['code' => 'iot.vision.IdentityAppKeyProductNotBind', 'message' => 'The app associated with the identityId does not have permission to access the product.', 'http_code' => 400, 'description' => '账号对应AppKey没有关联产品。'], ['code' => 'iot.vision.ImportProjectFailed', 'message' => 'Import project failed.', 'http_code' => 400, 'description' => '导入项目失败。'], ['code' => 'iot.vision.InstanceArrearage', 'message' => 'Instance arrearage.', 'http_code' => 400, 'description' => '实例已欠费。'], ['code' => 'iot.vision.InvalidCallerType', 'message' => 'Invalid caller type.', 'http_code' => 400, 'description' => '无效的调用类型参数。'], ['code' => 'iot.vision.InvalidFirmwareId', 'message' => 'Invalid firmware Id.', 'http_code' => 400, 'description' => '无效的升级包ID。'], ['code' => 'iot.vision.InvalidIotInstance', 'message' => 'Invalid iot instance.', 'http_code' => 400, 'description' => '无效的实例或者找不到对应实例。'], ['code' => 'iot.vision.InvalidStorageCommodity', 'message' => 'Invalid storage commodity.', 'http_code' => 400, 'description' => '无效的云存储商品规格。'], ['code' => 'iot.vision.InvalidStorageOrder', 'message' => 'Invalid storage order.', 'http_code' => 400, 'description' => '无效的云存储订单。'], ['code' => 'iot.vision.InvokeServiceFailed', 'message' => '%s', 'http_code' => 400, 'description' => '物模型服务调用失败。'], ['code' => 'iot.vision.InvokeServiceFailed', 'message' => '%s failed.', 'http_code' => 400, 'description' => '物模型服务调用失败。'], ['code' => 'iot.vision.InvokeServiceFailed', 'message' => 'Invoke service failed:%s', 'http_code' => 400, 'description' => '物模型服务调用失败。'], ['code' => 'iot.vision.JobNotExist', 'message' => 'Job not exist or expired.', 'http_code' => 400, 'description' => '任务不存在或已过期。'], ['code' => 'iot.vision.ModifyFirmwareFailed', 'message' => 'Modify firmware failed:%s', 'http_code' => 400, 'description' => '修改升级包失败。'], ['code' => 'iot.vision.NoAvailableActiveCode', 'message' => 'No available active codes.', 'http_code' => 400, 'description' => '没有可用的激活码。'], ['code' => 'iot.vision.NoStorageQuota', 'message' => 'No storage quota.', 'http_code' => 400, 'description' => '无存储配额。'], ['code' => 'iot.vision.ParamBatchIdInvalid', 'message' => 'Parameter batchId is invalid.', 'http_code' => 400, 'description' => '参数批次ID无效。'], ['code' => 'iot.vision.PreviousImportProjectTaskNotFinished', 'message' => 'Previous import project task not finished.', 'http_code' => 400, 'description' => '之前的项目导入任务尚未完成。'], ['code' => 'iot.vision.ProductCancelReleaseFailed.', 'message' => 'Product cancel release failed.', 'http_code' => 400, 'description' => '产品撤销发布失败。'], ['code' => 'iot.vision.ProductHasRelatedAuthorization', 'message' => 'Product has related authorization.', 'http_code' => 400, 'description' => '产品存在关联授权。'], ['code' => 'iot.vision.ProductHasRelatedResource', 'message' => 'Product has related resource.', 'http_code' => 400, 'description' => '产品存在关联的资源。'], ['code' => 'iot.vision.ProductKeyFormatInvalid', 'message' => 'Product key format invalid.', 'http_code' => 400, 'description' => '产品Key格式无效。'], ['code' => 'iot.vision.ProductNameDuplicated', 'message' => 'Product name duplicated.', 'http_code' => 400, 'description' => '产品名称重复。'], ['code' => 'iot.vision.ProductNameFormatInvalid', 'message' => 'Product name format invalid.', 'http_code' => 400, 'description' => '产品名称格式错误。'], ['code' => 'iot.vision.ProductNameLengthInvalid', 'message' => 'Product name length invalid.', 'http_code' => 400, 'description' => '产品名称长度无效。'], ['code' => 'iot.vision.ProductNotExist', 'message' => 'Product not exist.', 'http_code' => 400, 'description' => '产品不存在。'], ['code' => 'iot.vision.ProductNotRelease', 'message' => 'Product not release.', 'http_code' => 400, 'description' => '产品未发布。'], ['code' => 'iot.vision.ProductNumLimit', 'message' => 'Product number exceed limit.', 'http_code' => 400, 'description' => '产品数量超上限。'], ['code' => 'iot.vision.ProductReleased', 'message' => 'Product had been released.', 'http_code' => 400, 'description' => '产品已经发布。'], ['code' => 'iot.vision.ProductReleaseFailed', 'message' => 'Product release failed.', 'http_code' => 400, 'description' => '产品发布失败。'], ['code' => 'iot.vision.ProductShouldNotDelete', 'message' => 'Product should not delete.', 'http_code' => 400, 'description' => '产品不支持删除。'], ['code' => 'iot.vision.ProductShouldNotEdit', 'message' => 'Product should not edit.', 'http_code' => 400, 'description' => '产品不支持编辑。'], ['code' => 'iot.vision.ProductTagDuplicated', 'message' => 'Product tag duplicated.', 'http_code' => 400, 'description' => '产品标签重复。'], ['code' => 'iot.vision.ProductTagLengthInvalid', 'message' => 'Product tag length invalid.', 'http_code' => 400, 'description' => '产品标签的长度无效。'], ['code' => 'iot.vision.ProductTagNotFound', 'message' => 'Product tag not found.', 'http_code' => 400, 'description' => '产品标签不存在。'], ['code' => 'iot.vision.ProductTagNumLimit', 'message' => 'Product tag num limit.', 'http_code' => 400, 'description' => '产品标签数量超过限制。'], ['code' => 'iot.vision.ProductTypeMismatch', 'message' => 'Product type mismatch.', 'http_code' => 400, 'description' => '产品类型不匹配。'], ['code' => 'iot.vision.ProductUpdateFailed', 'message' => 'Product update failed.', 'http_code' => 400, 'description' => '产品更新失败。'], ['code' => 'iot.vision.ProjectCreateLimit', 'message' => 'Project still in initializing please try again later.', 'http_code' => 400, 'description' => '您还有项目处于创建中,请稍后再试。'], ['code' => 'iot.vision.ProjectHasNoProducts', 'message' => 'Project has no products.', 'http_code' => 400, 'description' => '项目下没有产品。'], ['code' => 'iot.vision.ProjectHasRelatedResource', 'message' => 'Project has related resource.', 'http_code' => 400, 'description' => '项目存在关联的资源。'], ['code' => 'iot.vision.ProjectNameDuplicated', 'message' => 'Project name duplicated.', 'http_code' => 400, 'description' => '项目名称重复。'], ['code' => 'iot.vision.ProjectNameLengthInvalid', 'message' => 'Project name length invalid.', 'http_code' => 400, 'description' => '项目名称长度无效。'], ['code' => 'iot.vision.ProjectNotExist', 'message' => 'Project does not exist.', 'http_code' => 400, 'description' => '项目不存在。'], ['code' => 'iot.vision.ProjectNumLimit', 'message' => 'Project num exceed limit.', 'http_code' => 400, 'description' => '项目数量超上限。'], ['code' => 'iot.vision.PropertyNotFound', 'message' => 'Property not found.', 'http_code' => 400, 'description' => '物模型属性不存在。'], ['code' => 'iot.vision.PropertyReadOnly', 'message' => 'Property is read only.', 'http_code' => 400, 'description' => '物模型属性是只读的。'], ['code' => 'iot.vision.QueryAppListError', 'message' => 'No Result.', 'http_code' => 400, 'description' => '请求无数据。'], ['code' => 'iot.vision.QueryBindingAccountFailed', 'message' => 'Query binding account failed.', 'http_code' => 400, 'description' => '查询绑定的用户失败。'], ['code' => 'iot.vision.QueryBindingDeviceFailed', 'message' => 'Query binding device failed.', 'http_code' => 400, 'description' => '查询绑定设备列表失败。'], ['code' => 'iot.vision.QueryCommodityPriceFailed', 'message' => 'Query commodity price failed.', 'http_code' => 400, 'description' => '查询云存储商品价格失败。'], ['code' => 'iot.vision.QueryConsumerGroupFailed', 'message' => 'Query consumer group failed:%s', 'http_code' => 400, 'description' => '查询消费组失败。'], ['code' => 'iot.vision.QueryDeviceFailed', 'message' => 'query device failed.', 'http_code' => 400, 'description' => '查询设备失败。'], ['code' => 'iot.vision.QueryDeviceGroupFailed', 'message' => 'Query device group failed:%s', 'http_code' => 400, 'description' => '查询设备分组失败。'], ['code' => 'iot.vision.QueryDeviceUpgradeCountFailed', 'message' => 'Query device upgrade count failed:%s', 'http_code' => 400, 'description' => '查询设备升级数量失败。'], ['code' => 'iot.vision.QueryDeviceUpgradeInfoFailed', 'message' => 'Query device upgrade info failed:%s', 'http_code' => 400, 'description' => '查询设备升级情况失败。'], ['code' => 'iot.vision.QueryDeviceVersionStatisticsFailed', 'message' => 'Query device version statistics failed:%s', 'http_code' => 400, 'description' => '查询设备版本分布详情失败。'], ['code' => 'iot.vision.QueryFirmwareFailed', 'message' => 'Query firmware failed:%s', 'http_code' => 400, 'description' => '查询固件失败。'], ['code' => 'iot.vision.QueryFirmwareModuleFailed', 'message' => 'Query firmware module failed:%s', 'http_code' => 400, 'description' => '查询升级包模块失败。'], ['code' => 'iot.vision.QueryFirmwareVersionFailed', 'message' => 'Query firmware version failed:%s', 'http_code' => 400, 'description' => '查询升级包版本失败。'], ['code' => 'iot.vision.QueryProductRelatedDeviceFailed', 'message' => 'Query product related device failed.', 'http_code' => 400, 'description' => '查询产品关联的设备失败。'], ['code' => 'iot.vision.QuerySubscribeRelationFailed', 'message' => 'Query subscribe relation failed:%s', 'http_code' => 400, 'description' => '查询订阅列表失败。'], ['code' => 'iot.vision.QueryUpgradeDefaultTimeoutFailed', 'message' => 'Query upgrade default timeout failed:%s', 'http_code' => 400, 'description' => '查询升级默认超时时间请求失败。'], ['code' => 'iot.vision.QueryUpgradeDeviceFailed', 'message' => 'Query upgrade device failed:%s', 'http_code' => 400, 'description' => '查询待升级设备失败。'], ['code' => 'iot.vision.QueryUpgradeStatisticsInfoFailed', 'message' => 'Query upgrade statistics info failed:%s', 'http_code' => 400, 'description' => '查询升级统计信息失败。'], ['code' => 'iot.vision.QueryUpgradeTaskFailed', 'message' => 'Query upgrade task failed:%s', 'http_code' => 400, 'description' => '查询升级任务失败。'], ['code' => 'iot.vision.RecordNotExist', 'message' => 'Record not exist.', 'http_code' => 400, 'description' => '录像文件不存在。'], ['code' => 'iot.vision.RefreshTooFrequently', 'message' => 'Refresh too frequently.', 'http_code' => 400, 'description' => '刷新太频繁。'], ['code' => 'iot.vision.RequestAuthFailed', 'message' => 'Request auth failed.', 'http_code' => 403, 'description' => '请求鉴权失败。'], ['code' => 'iot.vision.RequestError', 'message' => 'Request error.', 'http_code' => 400, 'description' => '请求失败。'], ['code' => 'iot.vision.RequestFailed', 'message' => 'Request failed.', 'http_code' => 400, 'description' => '请求失败。'], ['code' => 'iot.vision.RequestFailed', 'message' => 'product already publish operation not allowed.', 'http_code' => 400, 'description' => '产品已发布不支持此操作。'], ['code' => 'iot.vision.RequestFailed', 'message' => 'product not exist.', 'http_code' => 400, 'description' => '产品不存在。'], ['code' => 'iot.vision.RequestForbidden', 'message' => 'Request forbidden.', 'http_code' => 403, 'description' => '请求被禁止。'], ['code' => 'iot.vision.RequestParamError', 'message' => 'Request parameter error.', 'http_code' => 400, 'description' => '请求参数错误。'], ['code' => 'iot.vision.RequestParamError', 'message' => 'Request parameter error:%s', 'http_code' => 400, 'description' => '请求参数错误。'], ['code' => 'iot.vision.RequestParameterError', 'message' => 'Request parameter error:%s', 'http_code' => 400, 'description' => '请求参数错误。'], ['code' => 'iot.vision.RequestTrafficControl', 'message' => 'Request traffic control.', 'http_code' => 429, 'description' => '请求太频繁被限流。'], ['code' => 'iot.vision.ReUpgradeDeviceFailed', 'message' => 'ReUpgrade device failed:%s', 'http_code' => 400, 'description' => '重新升级设备失败。'], ['code' => 'iot.vision.RtmpKeyNotSet', 'message' => 'Rtmp key not set.', 'http_code' => 400, 'description' => '鉴权密钥未设置。'], ['code' => 'iot.vision.ServerError', 'message' => 'server error.', 'http_code' => 400, 'description' => '服务器端出错。'], ['code' => 'iot.vision.ServiceEnumSpecError', 'message' => 'Service enum spec error.', 'http_code' => 400, 'description' => '物模型服务枚举参数错误。'], ['code' => 'iot.vision.ServiceNotFound', 'message' => 'Invoke service failed as service not found.', 'http_code' => 400, 'description' => '物模型服务不存在。'], ['code' => 'iot.vision.ServiceParamNotExist', 'message' => 'Invoke service failed as service param not exist.', 'http_code' => 400, 'description' => '物模型服务参数不存在。'], ['code' => 'iot.vision.ServiceResponseTimeout', 'message' => 'Invoke service response timeout.', 'http_code' => 400, 'description' => '超时未收到设备响应。'], ['code' => 'iot.vision.SetAccountFailed', 'message' => 'Set account failed.', 'http_code' => 400, 'description' => '配置自有账号失败。'], ['code' => 'iot.vision.SetDefaultRecordPlanFailed', 'message' => 'Set default record plan failed.', 'http_code' => 400, 'description' => '设置默认的录像计划失败。'], ['code' => 'iot.vision.SetPropertyFailed', 'message' => 'Set property failed.', 'http_code' => 400, 'description' => '设置物模型属性失败。'], ['code' => 'iot.vision.StorageCommodityUnavailable', 'message' => 'Storage commodity unavailable.', 'http_code' => 400, 'description' => '云存储商品不支持使用。'], ['code' => 'iot.vision.StorageOrderAlreadyPaid', 'message' => 'Storage order had been paid.', 'http_code' => 400, 'description' => '云存储订单已经支付。'], ['code' => 'iot.vision.StorageOrderGetLockFailed', 'message' => 'Get storage order lock failed try again later.', 'http_code' => 400, 'description' => '获取云存储订单分布式锁失败,请稍后重试。'], ['code' => 'iot.vision.StorageOrderPayFailed', 'message' => 'Storage order pay failed.', 'http_code' => 400, 'description' => '云存储订单支付失败。'], ['code' => 'iot.vision.StorageOrderStatusInvalid', 'message' => 'Storage order status invalid.', 'http_code' => 400, 'description' => '当前云存储订单状态不支持操作。'], ['code' => 'iot.vision.StreamNameDuplicate', 'message' => 'Stream name duplicate.', 'http_code' => 400, 'description' => '流名称重复。'], ['code' => 'iot.vision.StreamPushFailed', 'message' => 'Stream push failed.', 'http_code' => 400, 'description' => '推流失败。'], ['code' => 'iot.vision.TargetDeviceOwnerDifferent', 'message' => 'Target device owner is different.', 'http_code' => 400, 'description' => '目标设备的管理员用户与待转移订单的管理员用户不一致。'], ['code' => 'iot.vision.TemplateMacroInvalid', 'message' => 'macro invalid.', 'http_code' => 400, 'description' => '宏格式错误。'], ['code' => 'iot.vision.TemplateTextInvalid', 'message' => 'var or text invalid.', 'http_code' => 400, 'description' => '变量或文本格式错误。'], ['code' => 'iot.vision.TenantMismatch', 'message' => 'Caller tenant and account belong tenant mismatch.', 'http_code' => 400, 'description' => '接口调用方的租户和账号归属的租户不一致。'], ['code' => 'iot.vision.ThingAbilityNameDuplicated', 'message' => 'Thing model ability name duplicated.', 'http_code' => 400, 'description' => '物模型功能名称重复。'], ['code' => 'iot.vision.ThingEventNotFound', 'message' => 'Thing event not found.', 'http_code' => 400, 'description' => '物模型事件不存在。'], ['code' => 'iot.vision.ThingModelAbilityDuplicated', 'message' => 'Thing model ability duplicated.', 'http_code' => 400, 'description' => '物模型功能重复。'], ['code' => 'iot.vision.ThingModelIdentifierNotExist', 'message' => 'Thing model identifier not exist.', 'http_code' => 400, 'description' => '物模型功能标识符不存在。'], ['code' => 'iot.vision.ThingModelNotExist', 'message' => 'Thing model not exist.', 'http_code' => 400, 'description' => '物模型功能不存在。'], ['code' => 'iot.vision.ThingModelParamsFormatInvalid', 'message' => 'Thing model params format invalid.', 'http_code' => 400, 'description' => '物模型参数格式无效。'], ['code' => 'iot.vision.ThingModelParamsInvalid', 'message' => 'Thing model params invalid.', 'http_code' => 400, 'description' => '物模型参数无效。'], ['code' => 'iot.vision.ThingModelUpdateFailed', 'message' => 'Thing model update failed.', 'http_code' => 400, 'description' => '物模型编辑更新失败。'], ['code' => 'iot.vision.UnbindFailed', 'message' => 'Unbind account and device failed.', 'http_code' => 400, 'description' => '账号和设备解绑失败。'], ['code' => 'iot.vision.UnexpectedInternalError', 'message' => 'Unexpected internal error.', 'http_code' => 400, 'description' => '未知内部错误。'], ['code' => 'iot.vision.UpdateConsumerGroupFailed', 'message' => 'Update consumer group failed:%s', 'http_code' => 400, 'description' => '更新消费组失败。'], ['code' => 'iot.vision.UpdateFirmwareModuleFailed', 'message' => 'Update firmware module failed:%s', 'http_code' => 400, 'description' => '更新升级包模块失败。'], ['code' => 'iot.vision.UpdateOTATaskStrategyFailed', 'message' => 'Update ota task strategy failed:%s', 'http_code' => 400, 'description' => '更新OTA升级任务策略失败。'], ['code' => 'iot.vision.UpdateSubscribeRelationFailed', 'message' => 'Update subscribe relation failed:%s', 'http_code' => 400, 'description' => '更新订阅关系失败。'], ['code' => 'iot.vision.VerifyFirmwareRequestFailed', 'message' => 'Verify firmware request failed:%s', 'http_code' => 400, 'description' => '验证升级包请求失败。'], ], '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'], ], ], 'ram' => [ 'productCode' => 'LinkVisual', 'productName' => '物联网智能视频服务', 'ramCodes' => ['linkvisual'], 'ramLevel' => '资源级', 'ramConditions' => [], 'ramActions' => [ [ 'apiName' => 'FreezeStorageOrder', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:FreezeStorageOrder', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'GenerateDeviceByBatchId', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GenerateDeviceByBatchId', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'EnableFreeStorage', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:EnableFreeStorage', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryFreeStorage', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryFreeStorage', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateAndPayStorageOrder', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:CreateAndPayStorageOrder', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'SetThingProperty', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:SetThingProperty', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListBindingDeviceByAccount', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:ListBindingDeviceByAccount', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'EnableStorageOrder', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:EnableStorageOrder', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetThingEventSnapshot', 'description' => '查询物模型事件的快照', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GetThingEventSnapshot', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryStorageOrder', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryStorageOrder', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'GenerateDevice', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GenerateDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceDetail', 'description' => 'QueryDeviceDetail', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryDeviceDetail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'UploadDeviceNameList', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:UploadDeviceNameList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'FreezeFreeStorage', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:FreezeFreeStorage', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryGenerateDevicesRecord', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryGenerateDevicesRecord', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryStorageCommodityList', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryStorageCommodityList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'CheckFreeStorageValid', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:CheckFreeStorageValid', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'UnbindDevice', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:UnbindDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'InvokeThingService', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:InvokeThingService', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'UnbindAllUserByDevice', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:UnbindAllUserByDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'TransferStorageOrder', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:TransferStorageOrder', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryGenerateDevicesInfoList', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryGenerateDevicesInfoList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDevicesDownloadUrl', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryDevicesDownloadUrl', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'BindStorageOrder', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:BindStorageOrder', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetSubDeviceList', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GetSubDeviceList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetThingPropertySnapshot', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GetThingPropertySnapshot', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetDeviceStatus', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GetDeviceStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetAccountById', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GetAccountById', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryBatchStatus', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryBatchStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchBindDevice', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:BatchBindDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'ConsumeFreeStorage', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:ConsumeFreeStorage', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListBindingAccountByDevice', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:ListBindingAccountByDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryStorageOrderList', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryStorageOrderList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], 'resourceTypes' => [], ], ];