antchain-bot 1.12.40__py3-none-any.whl → 1.12.53__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -696,6 +696,42 @@ class DataVerifyFailureData(TeaModel):
696
696
  return self
697
697
 
698
698
 
699
+ class TripDuration(TeaModel):
700
+ def __init__(
701
+ self,
702
+ value: str = None,
703
+ unit: str = None,
704
+ ):
705
+ # 时间
706
+ self.value = value
707
+ # 时间单位
708
+ self.unit = unit
709
+
710
+ def validate(self):
711
+ self.validate_required(self.value, 'value')
712
+ self.validate_required(self.unit, 'unit')
713
+
714
+ def to_map(self):
715
+ _map = super().to_map()
716
+ if _map is not None:
717
+ return _map
718
+
719
+ result = dict()
720
+ if self.value is not None:
721
+ result['value'] = self.value
722
+ if self.unit is not None:
723
+ result['unit'] = self.unit
724
+ return result
725
+
726
+ def from_map(self, m: dict = None):
727
+ m = m or dict()
728
+ if m.get('value') is not None:
729
+ self.value = m.get('value')
730
+ if m.get('unit') is not None:
731
+ self.unit = m.get('unit')
732
+ return self
733
+
734
+
699
735
  class PermissionedTenantModel(TeaModel):
700
736
  def __init__(
701
737
  self,
@@ -5207,6 +5243,114 @@ class DistributeDataPackage(TeaModel):
5207
5243
  return self
5208
5244
 
5209
5245
 
5246
+ class DeviceTripProperties(TeaModel):
5247
+ def __init__(
5248
+ self,
5249
+ report_time: str = None,
5250
+ power_status: str = None,
5251
+ endurance_mileage: str = None,
5252
+ total_mileage: str = None,
5253
+ speed: str = None,
5254
+ coord: str = None,
5255
+ location: str = None,
5256
+ rein: str = None,
5257
+ spd_bd: str = None,
5258
+ cs: str = None,
5259
+ eqst: str = None,
5260
+ ):
5261
+ # 上报时间
5262
+ self.report_time = report_time
5263
+ # 1
5264
+ self.power_status = power_status
5265
+ # 1
5266
+ self.endurance_mileage = endurance_mileage
5267
+ # 1
5268
+ self.total_mileage = total_mileage
5269
+ # 1
5270
+ self.speed = speed
5271
+ # 1
5272
+ self.coord = coord
5273
+ # 1
5274
+ self.location = location
5275
+ # 1
5276
+ self.rein = rein
5277
+ # 1
5278
+ self.spd_bd = spd_bd
5279
+ # 1
5280
+ self.cs = cs
5281
+ # 1
5282
+ self.eqst = eqst
5283
+
5284
+ def validate(self):
5285
+ self.validate_required(self.report_time, 'report_time')
5286
+ self.validate_required(self.power_status, 'power_status')
5287
+ self.validate_required(self.endurance_mileage, 'endurance_mileage')
5288
+ self.validate_required(self.total_mileage, 'total_mileage')
5289
+ self.validate_required(self.speed, 'speed')
5290
+ self.validate_required(self.coord, 'coord')
5291
+ self.validate_required(self.location, 'location')
5292
+ self.validate_required(self.rein, 'rein')
5293
+ self.validate_required(self.spd_bd, 'spd_bd')
5294
+ self.validate_required(self.cs, 'cs')
5295
+ self.validate_required(self.eqst, 'eqst')
5296
+
5297
+ def to_map(self):
5298
+ _map = super().to_map()
5299
+ if _map is not None:
5300
+ return _map
5301
+
5302
+ result = dict()
5303
+ if self.report_time is not None:
5304
+ result['report_time'] = self.report_time
5305
+ if self.power_status is not None:
5306
+ result['power_status'] = self.power_status
5307
+ if self.endurance_mileage is not None:
5308
+ result['endurance_mileage'] = self.endurance_mileage
5309
+ if self.total_mileage is not None:
5310
+ result['total_mileage'] = self.total_mileage
5311
+ if self.speed is not None:
5312
+ result['speed'] = self.speed
5313
+ if self.coord is not None:
5314
+ result['coord'] = self.coord
5315
+ if self.location is not None:
5316
+ result['location'] = self.location
5317
+ if self.rein is not None:
5318
+ result['rein'] = self.rein
5319
+ if self.spd_bd is not None:
5320
+ result['spd_bd'] = self.spd_bd
5321
+ if self.cs is not None:
5322
+ result['cs'] = self.cs
5323
+ if self.eqst is not None:
5324
+ result['eqst'] = self.eqst
5325
+ return result
5326
+
5327
+ def from_map(self, m: dict = None):
5328
+ m = m or dict()
5329
+ if m.get('report_time') is not None:
5330
+ self.report_time = m.get('report_time')
5331
+ if m.get('power_status') is not None:
5332
+ self.power_status = m.get('power_status')
5333
+ if m.get('endurance_mileage') is not None:
5334
+ self.endurance_mileage = m.get('endurance_mileage')
5335
+ if m.get('total_mileage') is not None:
5336
+ self.total_mileage = m.get('total_mileage')
5337
+ if m.get('speed') is not None:
5338
+ self.speed = m.get('speed')
5339
+ if m.get('coord') is not None:
5340
+ self.coord = m.get('coord')
5341
+ if m.get('location') is not None:
5342
+ self.location = m.get('location')
5343
+ if m.get('rein') is not None:
5344
+ self.rein = m.get('rein')
5345
+ if m.get('spd_bd') is not None:
5346
+ self.spd_bd = m.get('spd_bd')
5347
+ if m.get('cs') is not None:
5348
+ self.cs = m.get('cs')
5349
+ if m.get('eqst') is not None:
5350
+ self.eqst = m.get('eqst')
5351
+ return self
5352
+
5353
+
5210
5354
  class IotbasicCategoryIndustrySceneInfo(TeaModel):
5211
5355
  def __init__(
5212
5356
  self,
@@ -5307,6 +5451,117 @@ class IotbasicDeviceModelFixedAttributeInfo(TeaModel):
5307
5451
  return self
5308
5452
 
5309
5453
 
5454
+ class TripDetail(TeaModel):
5455
+ def __init__(
5456
+ self,
5457
+ trip_id: str = None,
5458
+ start_time: int = None,
5459
+ end_time: int = None,
5460
+ mileage: str = None,
5461
+ duration: TripDuration = None,
5462
+ max_speed: str = None,
5463
+ avg_speed: str = None,
5464
+ first_address: str = None,
5465
+ last_address: str = None,
5466
+ first_location_time: int = None,
5467
+ last_location_time: int = None,
5468
+ ):
5469
+ # 行程id
5470
+ self.trip_id = trip_id
5471
+ # 开始时间
5472
+ self.start_time = start_time
5473
+ # 结束时间
5474
+ self.end_time = end_time
5475
+ # 行驶里程
5476
+ self.mileage = mileage
5477
+ # 单次用时
5478
+ self.duration = duration
5479
+ # 最高速度
5480
+ self.max_speed = max_speed
5481
+ # 平均速度
5482
+ self.avg_speed = avg_speed
5483
+ # 开始地址
5484
+ self.first_address = first_address
5485
+ # 结束地址
5486
+ self.last_address = last_address
5487
+ # 最开始定位时间
5488
+ self.first_location_time = first_location_time
5489
+ # 最后结束定位时间
5490
+ self.last_location_time = last_location_time
5491
+
5492
+ def validate(self):
5493
+ self.validate_required(self.trip_id, 'trip_id')
5494
+ self.validate_required(self.start_time, 'start_time')
5495
+ self.validate_required(self.end_time, 'end_time')
5496
+ self.validate_required(self.mileage, 'mileage')
5497
+ self.validate_required(self.duration, 'duration')
5498
+ if self.duration:
5499
+ self.duration.validate()
5500
+ self.validate_required(self.max_speed, 'max_speed')
5501
+ self.validate_required(self.avg_speed, 'avg_speed')
5502
+ self.validate_required(self.first_address, 'first_address')
5503
+ self.validate_required(self.last_address, 'last_address')
5504
+ self.validate_required(self.first_location_time, 'first_location_time')
5505
+ self.validate_required(self.last_location_time, 'last_location_time')
5506
+
5507
+ def to_map(self):
5508
+ _map = super().to_map()
5509
+ if _map is not None:
5510
+ return _map
5511
+
5512
+ result = dict()
5513
+ if self.trip_id is not None:
5514
+ result['trip_id'] = self.trip_id
5515
+ if self.start_time is not None:
5516
+ result['start_time'] = self.start_time
5517
+ if self.end_time is not None:
5518
+ result['end_time'] = self.end_time
5519
+ if self.mileage is not None:
5520
+ result['mileage'] = self.mileage
5521
+ if self.duration is not None:
5522
+ result['duration'] = self.duration.to_map()
5523
+ if self.max_speed is not None:
5524
+ result['max_speed'] = self.max_speed
5525
+ if self.avg_speed is not None:
5526
+ result['avg_speed'] = self.avg_speed
5527
+ if self.first_address is not None:
5528
+ result['first_address'] = self.first_address
5529
+ if self.last_address is not None:
5530
+ result['last_address'] = self.last_address
5531
+ if self.first_location_time is not None:
5532
+ result['first_location_time'] = self.first_location_time
5533
+ if self.last_location_time is not None:
5534
+ result['last_location_time'] = self.last_location_time
5535
+ return result
5536
+
5537
+ def from_map(self, m: dict = None):
5538
+ m = m or dict()
5539
+ if m.get('trip_id') is not None:
5540
+ self.trip_id = m.get('trip_id')
5541
+ if m.get('start_time') is not None:
5542
+ self.start_time = m.get('start_time')
5543
+ if m.get('end_time') is not None:
5544
+ self.end_time = m.get('end_time')
5545
+ if m.get('mileage') is not None:
5546
+ self.mileage = m.get('mileage')
5547
+ if m.get('duration') is not None:
5548
+ temp_model = TripDuration()
5549
+ self.duration = temp_model.from_map(m['duration'])
5550
+ if m.get('max_speed') is not None:
5551
+ self.max_speed = m.get('max_speed')
5552
+ if m.get('avg_speed') is not None:
5553
+ self.avg_speed = m.get('avg_speed')
5554
+ if m.get('first_address') is not None:
5555
+ self.first_address = m.get('first_address')
5556
+ if m.get('last_address') is not None:
5557
+ self.last_address = m.get('last_address')
5558
+ if m.get('first_location_time') is not None:
5559
+ self.first_location_time = m.get('first_location_time')
5560
+ if m.get('last_location_time') is not None:
5561
+ self.last_location_time = m.get('last_location_time')
5562
+ return self
5563
+
5564
+
5310
5565
  class XrTicketPoolFailList(TeaModel):
5311
5566
  def __init__(
5312
5567
  self,
@@ -5855,27 +6110,27 @@ class JtMedia(TeaModel):
5855
6110
  class TripStatistics(TeaModel):
5856
6111
  def __init__(
5857
6112
  self,
5858
- trip_day: str = None,
5859
- total_distance: int = None,
5860
- total_duration: int = None,
5861
- trip_count: int = None,
6113
+ total_mileage: str = None,
6114
+ total_duration: TripDuration = None,
6115
+ total_count: int = None,
6116
+ period_code: int = None,
5862
6117
  ):
5863
- # 行驶天数
5864
- self.trip_day = trip_day
5865
6118
  # 总里程
5866
- self.total_distance = total_distance
5867
- # 总用时
6119
+ self.total_mileage = total_mileage
6120
+ # 时间体
5868
6121
  self.total_duration = total_duration
5869
- # 行驶次数
5870
- self.trip_count = trip_count
6122
+ # 总次数
6123
+ self.total_count = total_count
6124
+ # 时期码
6125
+ self.period_code = period_code
5871
6126
 
5872
6127
  def validate(self):
5873
- self.validate_required(self.trip_day, 'trip_day')
5874
- if self.trip_day is not None:
5875
- self.validate_pattern(self.trip_day, 'trip_day', '\\d{4}[-]\\d{1,2}[-]\\d{1,2}[T]\\d{2}:\\d{2}:\\d{2}([Z]|([\\.]\\d{1,9})?[\\+]\\d{2}[\\:]?\\d{2})')
5876
- self.validate_required(self.total_distance, 'total_distance')
6128
+ self.validate_required(self.total_mileage, 'total_mileage')
5877
6129
  self.validate_required(self.total_duration, 'total_duration')
5878
- self.validate_required(self.trip_count, 'trip_count')
6130
+ if self.total_duration:
6131
+ self.total_duration.validate()
6132
+ self.validate_required(self.total_count, 'total_count')
6133
+ self.validate_required(self.period_code, 'period_code')
5879
6134
 
5880
6135
  def to_map(self):
5881
6136
  _map = super().to_map()
@@ -5883,26 +6138,27 @@ class TripStatistics(TeaModel):
5883
6138
  return _map
5884
6139
 
5885
6140
  result = dict()
5886
- if self.trip_day is not None:
5887
- result['trip_day'] = self.trip_day
5888
- if self.total_distance is not None:
5889
- result['total_distance'] = self.total_distance
6141
+ if self.total_mileage is not None:
6142
+ result['total_mileage'] = self.total_mileage
5890
6143
  if self.total_duration is not None:
5891
- result['total_duration'] = self.total_duration
5892
- if self.trip_count is not None:
5893
- result['trip_count'] = self.trip_count
6144
+ result['total_duration'] = self.total_duration.to_map()
6145
+ if self.total_count is not None:
6146
+ result['total_count'] = self.total_count
6147
+ if self.period_code is not None:
6148
+ result['period_code'] = self.period_code
5894
6149
  return result
5895
6150
 
5896
6151
  def from_map(self, m: dict = None):
5897
6152
  m = m or dict()
5898
- if m.get('trip_day') is not None:
5899
- self.trip_day = m.get('trip_day')
5900
- if m.get('total_distance') is not None:
5901
- self.total_distance = m.get('total_distance')
6153
+ if m.get('total_mileage') is not None:
6154
+ self.total_mileage = m.get('total_mileage')
5902
6155
  if m.get('total_duration') is not None:
5903
- self.total_duration = m.get('total_duration')
5904
- if m.get('trip_count') is not None:
5905
- self.trip_count = m.get('trip_count')
6156
+ temp_model = TripDuration()
6157
+ self.total_duration = temp_model.from_map(m['total_duration'])
6158
+ if m.get('total_count') is not None:
6159
+ self.total_count = m.get('total_count')
6160
+ if m.get('period_code') is not None:
6161
+ self.period_code = m.get('period_code')
5906
6162
  return self
5907
6163
 
5908
6164
 
@@ -6517,6 +6773,94 @@ class XrTicketPoolItem(TeaModel):
6517
6773
  return self
6518
6774
 
6519
6775
 
6776
+ class KytApplyParams(TeaModel):
6777
+ def __init__(
6778
+ self,
6779
+ device_type: str = None,
6780
+ cred_type: str = None,
6781
+ brand_id: str = None,
6782
+ generate_code: str = None,
6783
+ protocol_type: str = None,
6784
+ key_less: str = None,
6785
+ mac: str = None,
6786
+ ble_name: str = None,
6787
+ channel: str = None,
6788
+ ):
6789
+ # 设备类型
6790
+ self.device_type = device_type
6791
+ # 凭证类型
6792
+ self.cred_type = cred_type
6793
+ # 品牌
6794
+ self.brand_id = brand_id
6795
+ # 凭证内容
6796
+ self.generate_code = generate_code
6797
+ # 协议类型
6798
+ self.protocol_type = protocol_type
6799
+ # 无感参数
6800
+ self.key_less = key_less
6801
+ # mac
6802
+ self.mac = mac
6803
+ # ble_name
6804
+ self.ble_name = ble_name
6805
+ # 通道
6806
+ self.channel = channel
6807
+
6808
+ def validate(self):
6809
+ self.validate_required(self.brand_id, 'brand_id')
6810
+ self.validate_required(self.protocol_type, 'protocol_type')
6811
+ self.validate_required(self.key_less, 'key_less')
6812
+ self.validate_required(self.mac, 'mac')
6813
+ self.validate_required(self.ble_name, 'ble_name')
6814
+
6815
+ def to_map(self):
6816
+ _map = super().to_map()
6817
+ if _map is not None:
6818
+ return _map
6819
+
6820
+ result = dict()
6821
+ if self.device_type is not None:
6822
+ result['device_type'] = self.device_type
6823
+ if self.cred_type is not None:
6824
+ result['cred_type'] = self.cred_type
6825
+ if self.brand_id is not None:
6826
+ result['brand_id'] = self.brand_id
6827
+ if self.generate_code is not None:
6828
+ result['generate_code'] = self.generate_code
6829
+ if self.protocol_type is not None:
6830
+ result['protocol_type'] = self.protocol_type
6831
+ if self.key_less is not None:
6832
+ result['key_less'] = self.key_less
6833
+ if self.mac is not None:
6834
+ result['mac'] = self.mac
6835
+ if self.ble_name is not None:
6836
+ result['ble_name'] = self.ble_name
6837
+ if self.channel is not None:
6838
+ result['channel'] = self.channel
6839
+ return result
6840
+
6841
+ def from_map(self, m: dict = None):
6842
+ m = m or dict()
6843
+ if m.get('device_type') is not None:
6844
+ self.device_type = m.get('device_type')
6845
+ if m.get('cred_type') is not None:
6846
+ self.cred_type = m.get('cred_type')
6847
+ if m.get('brand_id') is not None:
6848
+ self.brand_id = m.get('brand_id')
6849
+ if m.get('generate_code') is not None:
6850
+ self.generate_code = m.get('generate_code')
6851
+ if m.get('protocol_type') is not None:
6852
+ self.protocol_type = m.get('protocol_type')
6853
+ if m.get('key_less') is not None:
6854
+ self.key_less = m.get('key_less')
6855
+ if m.get('mac') is not None:
6856
+ self.mac = m.get('mac')
6857
+ if m.get('ble_name') is not None:
6858
+ self.ble_name = m.get('ble_name')
6859
+ if m.get('channel') is not None:
6860
+ self.channel = m.get('channel')
6861
+ return self
6862
+
6863
+
6520
6864
  class EvidenceBaseModel(TeaModel):
6521
6865
  def __init__(
6522
6866
  self,
@@ -28904,76 +29248,934 @@ class RegisterCarkeyscorpCustomerResponse(TeaModel):
28904
29248
  return self
28905
29249
 
28906
29250
 
28907
- class CreateElectrocarApplycarkeycertificateRequest(TeaModel):
29251
+ class CreateElectrocarApplycarkeycertificateRequest(TeaModel):
29252
+ def __init__(
29253
+ self,
29254
+ auth_token: str = None,
29255
+ product_instance_id: str = None,
29256
+ request_id: str = None,
29257
+ online_flag: str = None,
29258
+ device_type: str = None,
29259
+ cred_type: str = None,
29260
+ brand_id: str = None,
29261
+ generate_code: str = None,
29262
+ protocol_type: str = None,
29263
+ key_less: str = None,
29264
+ mac: str = None,
29265
+ ble_name: str = None,
29266
+ device_sn: str = None,
29267
+ access_scene: str = None,
29268
+ aliyun_iot_enabled: bool = None,
29269
+ channel: str = None,
29270
+ ):
29271
+ # OAuth模式下的授权token
29272
+ self.auth_token = auth_token
29273
+ self.product_instance_id = product_instance_id
29274
+ # 请求唯一标识Id 调用方生成,需要保证唯一性
29275
+ self.request_id = request_id
29276
+ # 模式 默认为false,产线申请为true
29277
+ self.online_flag = online_flag
29278
+ # 设备类型 默认为4-芯片SE,联系技术配置具体的设备类型
29279
+ self.device_type = device_type
29280
+ # 凭证类型,默认se_dk_cred,如果是MCU,则mcu_dk_cred
29281
+ self.cred_type = cred_type
29282
+ # 品牌Id
29283
+ self.brand_id = brand_id
29284
+ # 凭证内容
29285
+ # 集合结构[0,1,2,3]
29286
+ # 0:IIFAA根密钥
29287
+ # 1:企业业务密钥
29288
+ # 2:设备密钥
29289
+ # 3:无感控车
29290
+ # 如果此字段为空,则默认生成0,1,2
29291
+ self.generate_code = generate_code
29292
+ # 协议类型
29293
+ # 蓝牙:ble
29294
+ # 4G: 4G
29295
+ # 蓝牙+4G:ble|4G
29296
+ # 如果此字段为空,默认为ble
29297
+ self.protocol_type = protocol_type
29298
+ # 无感控车设备端数据,当generateCode包含3的时候,此字段不能为空
29299
+ self.key_less = key_less
29300
+ # mac
29301
+ self.mac = mac
29302
+ # ble_name
29303
+ self.ble_name = ble_name
29304
+ # 设备sn
29305
+ self.device_sn = device_sn
29306
+ # 接入场景码
29307
+ self.access_scene = access_scene
29308
+ # 标识是否启用了阿里云物联网平台
29309
+ self.aliyun_iot_enabled = aliyun_iot_enabled
29310
+ # 设备接入 4g 渠道
29311
+ self.channel = channel
29312
+
29313
+ def validate(self):
29314
+ self.validate_required(self.request_id, 'request_id')
29315
+ self.validate_required(self.brand_id, 'brand_id')
29316
+ self.validate_required(self.protocol_type, 'protocol_type')
29317
+ self.validate_required(self.mac, 'mac')
29318
+ self.validate_required(self.ble_name, 'ble_name')
29319
+ self.validate_required(self.device_sn, 'device_sn')
29320
+ self.validate_required(self.access_scene, 'access_scene')
29321
+
29322
+ def to_map(self):
29323
+ _map = super().to_map()
29324
+ if _map is not None:
29325
+ return _map
29326
+
29327
+ result = dict()
29328
+ if self.auth_token is not None:
29329
+ result['auth_token'] = self.auth_token
29330
+ if self.product_instance_id is not None:
29331
+ result['product_instance_id'] = self.product_instance_id
29332
+ if self.request_id is not None:
29333
+ result['request_id'] = self.request_id
29334
+ if self.online_flag is not None:
29335
+ result['online_flag'] = self.online_flag
29336
+ if self.device_type is not None:
29337
+ result['device_type'] = self.device_type
29338
+ if self.cred_type is not None:
29339
+ result['cred_type'] = self.cred_type
29340
+ if self.brand_id is not None:
29341
+ result['brand_id'] = self.brand_id
29342
+ if self.generate_code is not None:
29343
+ result['generate_code'] = self.generate_code
29344
+ if self.protocol_type is not None:
29345
+ result['protocol_type'] = self.protocol_type
29346
+ if self.key_less is not None:
29347
+ result['key_less'] = self.key_less
29348
+ if self.mac is not None:
29349
+ result['mac'] = self.mac
29350
+ if self.ble_name is not None:
29351
+ result['ble_name'] = self.ble_name
29352
+ if self.device_sn is not None:
29353
+ result['device_sn'] = self.device_sn
29354
+ if self.access_scene is not None:
29355
+ result['access_scene'] = self.access_scene
29356
+ if self.aliyun_iot_enabled is not None:
29357
+ result['aliyun_iot_enabled'] = self.aliyun_iot_enabled
29358
+ if self.channel is not None:
29359
+ result['channel'] = self.channel
29360
+ return result
29361
+
29362
+ def from_map(self, m: dict = None):
29363
+ m = m or dict()
29364
+ if m.get('auth_token') is not None:
29365
+ self.auth_token = m.get('auth_token')
29366
+ if m.get('product_instance_id') is not None:
29367
+ self.product_instance_id = m.get('product_instance_id')
29368
+ if m.get('request_id') is not None:
29369
+ self.request_id = m.get('request_id')
29370
+ if m.get('online_flag') is not None:
29371
+ self.online_flag = m.get('online_flag')
29372
+ if m.get('device_type') is not None:
29373
+ self.device_type = m.get('device_type')
29374
+ if m.get('cred_type') is not None:
29375
+ self.cred_type = m.get('cred_type')
29376
+ if m.get('brand_id') is not None:
29377
+ self.brand_id = m.get('brand_id')
29378
+ if m.get('generate_code') is not None:
29379
+ self.generate_code = m.get('generate_code')
29380
+ if m.get('protocol_type') is not None:
29381
+ self.protocol_type = m.get('protocol_type')
29382
+ if m.get('key_less') is not None:
29383
+ self.key_less = m.get('key_less')
29384
+ if m.get('mac') is not None:
29385
+ self.mac = m.get('mac')
29386
+ if m.get('ble_name') is not None:
29387
+ self.ble_name = m.get('ble_name')
29388
+ if m.get('device_sn') is not None:
29389
+ self.device_sn = m.get('device_sn')
29390
+ if m.get('access_scene') is not None:
29391
+ self.access_scene = m.get('access_scene')
29392
+ if m.get('aliyun_iot_enabled') is not None:
29393
+ self.aliyun_iot_enabled = m.get('aliyun_iot_enabled')
29394
+ if m.get('channel') is not None:
29395
+ self.channel = m.get('channel')
29396
+ return self
29397
+
29398
+
29399
+ class CreateElectrocarApplycarkeycertificateResponse(TeaModel):
29400
+ def __init__(
29401
+ self,
29402
+ req_msg_id: str = None,
29403
+ result_code: str = None,
29404
+ result_msg: str = None,
29405
+ tuid: str = None,
29406
+ device_did: str = None,
29407
+ mqtt_content: str = None,
29408
+ car_key_init_data: str = None,
29409
+ success: bool = None,
29410
+ ):
29411
+ # 请求唯一ID,用于链路跟踪和问题排查
29412
+ self.req_msg_id = req_msg_id
29413
+ # 结果码,一般OK表示调用成功
29414
+ self.result_code = result_code
29415
+ # 异常信息的文本描述
29416
+ self.result_msg = result_msg
29417
+ # sn
29418
+ self.tuid = tuid
29419
+ # deviceDid
29420
+ self.device_did = device_did
29421
+ # 三元组+连接实例id
29422
+ self.mqtt_content = mqtt_content
29423
+ # 凭证接口返回参数
29424
+ self.car_key_init_data = car_key_init_data
29425
+ # 成功/失败
29426
+ self.success = success
29427
+
29428
+ def validate(self):
29429
+ pass
29430
+
29431
+ def to_map(self):
29432
+ _map = super().to_map()
29433
+ if _map is not None:
29434
+ return _map
29435
+
29436
+ result = dict()
29437
+ if self.req_msg_id is not None:
29438
+ result['req_msg_id'] = self.req_msg_id
29439
+ if self.result_code is not None:
29440
+ result['result_code'] = self.result_code
29441
+ if self.result_msg is not None:
29442
+ result['result_msg'] = self.result_msg
29443
+ if self.tuid is not None:
29444
+ result['tuid'] = self.tuid
29445
+ if self.device_did is not None:
29446
+ result['device_did'] = self.device_did
29447
+ if self.mqtt_content is not None:
29448
+ result['mqtt_content'] = self.mqtt_content
29449
+ if self.car_key_init_data is not None:
29450
+ result['car_key_init_data'] = self.car_key_init_data
29451
+ if self.success is not None:
29452
+ result['success'] = self.success
29453
+ return result
29454
+
29455
+ def from_map(self, m: dict = None):
29456
+ m = m or dict()
29457
+ if m.get('req_msg_id') is not None:
29458
+ self.req_msg_id = m.get('req_msg_id')
29459
+ if m.get('result_code') is not None:
29460
+ self.result_code = m.get('result_code')
29461
+ if m.get('result_msg') is not None:
29462
+ self.result_msg = m.get('result_msg')
29463
+ if m.get('tuid') is not None:
29464
+ self.tuid = m.get('tuid')
29465
+ if m.get('device_did') is not None:
29466
+ self.device_did = m.get('device_did')
29467
+ if m.get('mqtt_content') is not None:
29468
+ self.mqtt_content = m.get('mqtt_content')
29469
+ if m.get('car_key_init_data') is not None:
29470
+ self.car_key_init_data = m.get('car_key_init_data')
29471
+ if m.get('success') is not None:
29472
+ self.success = m.get('success')
29473
+ return self
29474
+
29475
+
29476
+ class PushDeviceAudioRequest(TeaModel):
29477
+ def __init__(
29478
+ self,
29479
+ auth_token: str = None,
29480
+ product_instance_id: str = None,
29481
+ device_sn: str = None,
29482
+ device_corp: str = None,
29483
+ topic_identifer: str = None,
29484
+ mesage_type: str = None,
29485
+ message_content: str = None,
29486
+ biz_scene: str = None,
29487
+ device_did: str = None,
29488
+ tuid: str = None,
29489
+ ):
29490
+ # OAuth模式下的授权token
29491
+ self.auth_token = auth_token
29492
+ self.product_instance_id = product_instance_id
29493
+ # 设备序列化
29494
+ self.device_sn = device_sn
29495
+ # 设备厂商
29496
+ self.device_corp = device_corp
29497
+ # 推送消息主题
29498
+ self.topic_identifer = topic_identifer
29499
+ # 推送消息类型
29500
+ self.mesage_type = mesage_type
29501
+ # 消息内容
29502
+ self.message_content = message_content
29503
+ # 业务场景-项目
29504
+ self.biz_scene = biz_scene
29505
+ # 设备唯一ID
29506
+ self.device_did = device_did
29507
+ # kyt硬件唯一ID
29508
+ self.tuid = tuid
29509
+
29510
+ def validate(self):
29511
+ self.validate_required(self.topic_identifer, 'topic_identifer')
29512
+ self.validate_required(self.mesage_type, 'mesage_type')
29513
+ self.validate_required(self.message_content, 'message_content')
29514
+ self.validate_required(self.biz_scene, 'biz_scene')
29515
+
29516
+ def to_map(self):
29517
+ _map = super().to_map()
29518
+ if _map is not None:
29519
+ return _map
29520
+
29521
+ result = dict()
29522
+ if self.auth_token is not None:
29523
+ result['auth_token'] = self.auth_token
29524
+ if self.product_instance_id is not None:
29525
+ result['product_instance_id'] = self.product_instance_id
29526
+ if self.device_sn is not None:
29527
+ result['device_sn'] = self.device_sn
29528
+ if self.device_corp is not None:
29529
+ result['device_corp'] = self.device_corp
29530
+ if self.topic_identifer is not None:
29531
+ result['topic_identifer'] = self.topic_identifer
29532
+ if self.mesage_type is not None:
29533
+ result['mesage_type'] = self.mesage_type
29534
+ if self.message_content is not None:
29535
+ result['message_content'] = self.message_content
29536
+ if self.biz_scene is not None:
29537
+ result['biz_scene'] = self.biz_scene
29538
+ if self.device_did is not None:
29539
+ result['device_did'] = self.device_did
29540
+ if self.tuid is not None:
29541
+ result['tuid'] = self.tuid
29542
+ return result
29543
+
29544
+ def from_map(self, m: dict = None):
29545
+ m = m or dict()
29546
+ if m.get('auth_token') is not None:
29547
+ self.auth_token = m.get('auth_token')
29548
+ if m.get('product_instance_id') is not None:
29549
+ self.product_instance_id = m.get('product_instance_id')
29550
+ if m.get('device_sn') is not None:
29551
+ self.device_sn = m.get('device_sn')
29552
+ if m.get('device_corp') is not None:
29553
+ self.device_corp = m.get('device_corp')
29554
+ if m.get('topic_identifer') is not None:
29555
+ self.topic_identifer = m.get('topic_identifer')
29556
+ if m.get('mesage_type') is not None:
29557
+ self.mesage_type = m.get('mesage_type')
29558
+ if m.get('message_content') is not None:
29559
+ self.message_content = m.get('message_content')
29560
+ if m.get('biz_scene') is not None:
29561
+ self.biz_scene = m.get('biz_scene')
29562
+ if m.get('device_did') is not None:
29563
+ self.device_did = m.get('device_did')
29564
+ if m.get('tuid') is not None:
29565
+ self.tuid = m.get('tuid')
29566
+ return self
29567
+
29568
+
29569
+ class PushDeviceAudioResponse(TeaModel):
29570
+ def __init__(
29571
+ self,
29572
+ req_msg_id: str = None,
29573
+ result_code: str = None,
29574
+ result_msg: str = None,
29575
+ success: bool = None,
29576
+ message_id: str = None,
29577
+ result: str = None,
29578
+ ):
29579
+ # 请求唯一ID,用于链路跟踪和问题排查
29580
+ self.req_msg_id = req_msg_id
29581
+ # 结果码,一般OK表示调用成功
29582
+ self.result_code = result_code
29583
+ # 异常信息的文本描述
29584
+ self.result_msg = result_msg
29585
+ # 调用结果
29586
+ self.success = success
29587
+ # 云端向设备下发服务调用的消息ID
29588
+ self.message_id = message_id
29589
+ # 指令执行 响应结果
29590
+ self.result = result
29591
+
29592
+ def validate(self):
29593
+ pass
29594
+
29595
+ def to_map(self):
29596
+ _map = super().to_map()
29597
+ if _map is not None:
29598
+ return _map
29599
+
29600
+ result = dict()
29601
+ if self.req_msg_id is not None:
29602
+ result['req_msg_id'] = self.req_msg_id
29603
+ if self.result_code is not None:
29604
+ result['result_code'] = self.result_code
29605
+ if self.result_msg is not None:
29606
+ result['result_msg'] = self.result_msg
29607
+ if self.success is not None:
29608
+ result['success'] = self.success
29609
+ if self.message_id is not None:
29610
+ result['message_id'] = self.message_id
29611
+ if self.result is not None:
29612
+ result['result'] = self.result
29613
+ return result
29614
+
29615
+ def from_map(self, m: dict = None):
29616
+ m = m or dict()
29617
+ if m.get('req_msg_id') is not None:
29618
+ self.req_msg_id = m.get('req_msg_id')
29619
+ if m.get('result_code') is not None:
29620
+ self.result_code = m.get('result_code')
29621
+ if m.get('result_msg') is not None:
29622
+ self.result_msg = m.get('result_msg')
29623
+ if m.get('success') is not None:
29624
+ self.success = m.get('success')
29625
+ if m.get('message_id') is not None:
29626
+ self.message_id = m.get('message_id')
29627
+ if m.get('result') is not None:
29628
+ self.result = m.get('result')
29629
+ return self
29630
+
29631
+
29632
+ class QueryElectrocarTripstatisticsRequest(TeaModel):
29633
+ def __init__(
29634
+ self,
29635
+ auth_token: str = None,
29636
+ product_instance_id: str = None,
29637
+ tuid: str = None,
29638
+ time_dimension: str = None,
29639
+ time_value: int = None,
29640
+ past_days: int = None,
29641
+ ):
29642
+ # OAuth模式下的授权token
29643
+ self.auth_token = auth_token
29644
+ self.product_instance_id = product_instance_id
29645
+ # tuid
29646
+ self.tuid = tuid
29647
+ # String MONTH(月)
29648
+ # WEEK(周)
29649
+ # DAY(日)
29650
+ self.time_dimension = time_dimension
29651
+ # 时间戳(每月的第一天00:00, 每周的第一天00:00, 每日的00:00)
29652
+ self.time_value = time_value
29653
+ # 前 n 月/周/日, 包含当前月/周/日(默认9)
29654
+ self.past_days = past_days
29655
+
29656
+ def validate(self):
29657
+ self.validate_required(self.tuid, 'tuid')
29658
+ self.validate_required(self.time_dimension, 'time_dimension')
29659
+ self.validate_required(self.time_value, 'time_value')
29660
+ self.validate_required(self.past_days, 'past_days')
29661
+
29662
+ def to_map(self):
29663
+ _map = super().to_map()
29664
+ if _map is not None:
29665
+ return _map
29666
+
29667
+ result = dict()
29668
+ if self.auth_token is not None:
29669
+ result['auth_token'] = self.auth_token
29670
+ if self.product_instance_id is not None:
29671
+ result['product_instance_id'] = self.product_instance_id
29672
+ if self.tuid is not None:
29673
+ result['tuid'] = self.tuid
29674
+ if self.time_dimension is not None:
29675
+ result['time_dimension'] = self.time_dimension
29676
+ if self.time_value is not None:
29677
+ result['time_value'] = self.time_value
29678
+ if self.past_days is not None:
29679
+ result['past_days'] = self.past_days
29680
+ return result
29681
+
29682
+ def from_map(self, m: dict = None):
29683
+ m = m or dict()
29684
+ if m.get('auth_token') is not None:
29685
+ self.auth_token = m.get('auth_token')
29686
+ if m.get('product_instance_id') is not None:
29687
+ self.product_instance_id = m.get('product_instance_id')
29688
+ if m.get('tuid') is not None:
29689
+ self.tuid = m.get('tuid')
29690
+ if m.get('time_dimension') is not None:
29691
+ self.time_dimension = m.get('time_dimension')
29692
+ if m.get('time_value') is not None:
29693
+ self.time_value = m.get('time_value')
29694
+ if m.get('past_days') is not None:
29695
+ self.past_days = m.get('past_days')
29696
+ return self
29697
+
29698
+
29699
+ class QueryElectrocarTripstatisticsResponse(TeaModel):
29700
+ def __init__(
29701
+ self,
29702
+ req_msg_id: str = None,
29703
+ result_code: str = None,
29704
+ result_msg: str = None,
29705
+ success: bool = None,
29706
+ trip_statistics: List[TripStatistics] = None,
29707
+ ):
29708
+ # 请求唯一ID,用于链路跟踪和问题排查
29709
+ self.req_msg_id = req_msg_id
29710
+ # 结果码,一般OK表示调用成功
29711
+ self.result_code = result_code
29712
+ # 异常信息的文本描述
29713
+ self.result_msg = result_msg
29714
+ # 状态
29715
+ self.success = success
29716
+ # [{总里程、总用时、总次数、 时期码},{总里程、总用时、总次数、 时期码},......]
29717
+ # 备注:返回前八个加上当前共九个的统计数据(按时间正排)
29718
+ # 时期码说明:
29719
+ # 月维度:
29720
+ # eg1: 12,11,10,9...
29721
+ # eg2: 3, 2, 1, 12(去年12月), 11...
29722
+ # 周维度:
29723
+ # eg1: 52,51,50,49...
29724
+ # eg2: 3,2,1,52(去年最后一周), 51...
29725
+ # 日维度:
29726
+ # eg1: 30,29,28,27...
29727
+ # eg2: 3,2,1,30(上个月最后一天),29...
29728
+ self.trip_statistics = trip_statistics
29729
+
29730
+ def validate(self):
29731
+ if self.trip_statistics:
29732
+ for k in self.trip_statistics:
29733
+ if k:
29734
+ k.validate()
29735
+
29736
+ def to_map(self):
29737
+ _map = super().to_map()
29738
+ if _map is not None:
29739
+ return _map
29740
+
29741
+ result = dict()
29742
+ if self.req_msg_id is not None:
29743
+ result['req_msg_id'] = self.req_msg_id
29744
+ if self.result_code is not None:
29745
+ result['result_code'] = self.result_code
29746
+ if self.result_msg is not None:
29747
+ result['result_msg'] = self.result_msg
29748
+ if self.success is not None:
29749
+ result['success'] = self.success
29750
+ result['trip_statistics'] = []
29751
+ if self.trip_statistics is not None:
29752
+ for k in self.trip_statistics:
29753
+ result['trip_statistics'].append(k.to_map() if k else None)
29754
+ return result
29755
+
29756
+ def from_map(self, m: dict = None):
29757
+ m = m or dict()
29758
+ if m.get('req_msg_id') is not None:
29759
+ self.req_msg_id = m.get('req_msg_id')
29760
+ if m.get('result_code') is not None:
29761
+ self.result_code = m.get('result_code')
29762
+ if m.get('result_msg') is not None:
29763
+ self.result_msg = m.get('result_msg')
29764
+ if m.get('success') is not None:
29765
+ self.success = m.get('success')
29766
+ self.trip_statistics = []
29767
+ if m.get('trip_statistics') is not None:
29768
+ for k in m.get('trip_statistics'):
29769
+ temp_model = TripStatistics()
29770
+ self.trip_statistics.append(temp_model.from_map(k))
29771
+ return self
29772
+
29773
+
29774
+ class QueryElectrocarTriplistRequest(TeaModel):
29775
+ def __init__(
29776
+ self,
29777
+ auth_token: str = None,
29778
+ product_instance_id: str = None,
29779
+ tuid: str = None,
29780
+ time_dimension: str = None,
29781
+ time_value: int = None,
29782
+ page_num: int = None,
29783
+ page_size: int = None,
29784
+ ):
29785
+ # OAuth模式下的授权token
29786
+ self.auth_token = auth_token
29787
+ self.product_instance_id = product_instance_id
29788
+ # tuid
29789
+ self.tuid = tuid
29790
+ # MONTH(月)
29791
+ # WEEK(周)
29792
+ # DAY(日)
29793
+ self.time_dimension = time_dimension
29794
+ # Long 时间戳(每月的第一天00:00, 每周的第一天00:00, 每日的00:00)
29795
+ self.time_value = time_value
29796
+ # 分页
29797
+ self.page_num = page_num
29798
+ # 分页
29799
+ self.page_size = page_size
29800
+
29801
+ def validate(self):
29802
+ self.validate_required(self.tuid, 'tuid')
29803
+ self.validate_required(self.time_dimension, 'time_dimension')
29804
+ self.validate_required(self.time_value, 'time_value')
29805
+ self.validate_required(self.page_num, 'page_num')
29806
+ self.validate_required(self.page_size, 'page_size')
29807
+
29808
+ def to_map(self):
29809
+ _map = super().to_map()
29810
+ if _map is not None:
29811
+ return _map
29812
+
29813
+ result = dict()
29814
+ if self.auth_token is not None:
29815
+ result['auth_token'] = self.auth_token
29816
+ if self.product_instance_id is not None:
29817
+ result['product_instance_id'] = self.product_instance_id
29818
+ if self.tuid is not None:
29819
+ result['tuid'] = self.tuid
29820
+ if self.time_dimension is not None:
29821
+ result['time_dimension'] = self.time_dimension
29822
+ if self.time_value is not None:
29823
+ result['time_value'] = self.time_value
29824
+ if self.page_num is not None:
29825
+ result['page_num'] = self.page_num
29826
+ if self.page_size is not None:
29827
+ result['page_size'] = self.page_size
29828
+ return result
29829
+
29830
+ def from_map(self, m: dict = None):
29831
+ m = m or dict()
29832
+ if m.get('auth_token') is not None:
29833
+ self.auth_token = m.get('auth_token')
29834
+ if m.get('product_instance_id') is not None:
29835
+ self.product_instance_id = m.get('product_instance_id')
29836
+ if m.get('tuid') is not None:
29837
+ self.tuid = m.get('tuid')
29838
+ if m.get('time_dimension') is not None:
29839
+ self.time_dimension = m.get('time_dimension')
29840
+ if m.get('time_value') is not None:
29841
+ self.time_value = m.get('time_value')
29842
+ if m.get('page_num') is not None:
29843
+ self.page_num = m.get('page_num')
29844
+ if m.get('page_size') is not None:
29845
+ self.page_size = m.get('page_size')
29846
+ return self
29847
+
29848
+
29849
+ class QueryElectrocarTriplistResponse(TeaModel):
29850
+ def __init__(
29851
+ self,
29852
+ req_msg_id: str = None,
29853
+ result_code: str = None,
29854
+ result_msg: str = None,
29855
+ success: bool = None,
29856
+ trip_detail_list: List[TripDetail] = None,
29857
+ ):
29858
+ # 请求唯一ID,用于链路跟踪和问题排查
29859
+ self.req_msg_id = req_msg_id
29860
+ # 结果码,一般OK表示调用成功
29861
+ self.result_code = result_code
29862
+ # 异常信息的文本描述
29863
+ self.result_msg = result_msg
29864
+ # 状态
29865
+ self.success = success
29866
+ # 行程列表
29867
+ self.trip_detail_list = trip_detail_list
29868
+
29869
+ def validate(self):
29870
+ if self.trip_detail_list:
29871
+ for k in self.trip_detail_list:
29872
+ if k:
29873
+ k.validate()
29874
+
29875
+ def to_map(self):
29876
+ _map = super().to_map()
29877
+ if _map is not None:
29878
+ return _map
29879
+
29880
+ result = dict()
29881
+ if self.req_msg_id is not None:
29882
+ result['req_msg_id'] = self.req_msg_id
29883
+ if self.result_code is not None:
29884
+ result['result_code'] = self.result_code
29885
+ if self.result_msg is not None:
29886
+ result['result_msg'] = self.result_msg
29887
+ if self.success is not None:
29888
+ result['success'] = self.success
29889
+ result['trip_detail_list'] = []
29890
+ if self.trip_detail_list is not None:
29891
+ for k in self.trip_detail_list:
29892
+ result['trip_detail_list'].append(k.to_map() if k else None)
29893
+ return result
29894
+
29895
+ def from_map(self, m: dict = None):
29896
+ m = m or dict()
29897
+ if m.get('req_msg_id') is not None:
29898
+ self.req_msg_id = m.get('req_msg_id')
29899
+ if m.get('result_code') is not None:
29900
+ self.result_code = m.get('result_code')
29901
+ if m.get('result_msg') is not None:
29902
+ self.result_msg = m.get('result_msg')
29903
+ if m.get('success') is not None:
29904
+ self.success = m.get('success')
29905
+ self.trip_detail_list = []
29906
+ if m.get('trip_detail_list') is not None:
29907
+ for k in m.get('trip_detail_list'):
29908
+ temp_model = TripDetail()
29909
+ self.trip_detail_list.append(temp_model.from_map(k))
29910
+ return self
29911
+
29912
+
29913
+ class QueryElectrocarTrippointsRequest(TeaModel):
29914
+ def __init__(
29915
+ self,
29916
+ auth_token: str = None,
29917
+ product_instance_id: str = None,
29918
+ tuid: str = None,
29919
+ trip_id: str = None,
29920
+ ):
29921
+ # OAuth模式下的授权token
29922
+ self.auth_token = auth_token
29923
+ self.product_instance_id = product_instance_id
29924
+ # tuid
29925
+ self.tuid = tuid
29926
+ # 行程id
29927
+ self.trip_id = trip_id
29928
+
29929
+ def validate(self):
29930
+ self.validate_required(self.tuid, 'tuid')
29931
+ self.validate_required(self.trip_id, 'trip_id')
29932
+
29933
+ def to_map(self):
29934
+ _map = super().to_map()
29935
+ if _map is not None:
29936
+ return _map
29937
+
29938
+ result = dict()
29939
+ if self.auth_token is not None:
29940
+ result['auth_token'] = self.auth_token
29941
+ if self.product_instance_id is not None:
29942
+ result['product_instance_id'] = self.product_instance_id
29943
+ if self.tuid is not None:
29944
+ result['tuid'] = self.tuid
29945
+ if self.trip_id is not None:
29946
+ result['trip_id'] = self.trip_id
29947
+ return result
29948
+
29949
+ def from_map(self, m: dict = None):
29950
+ m = m or dict()
29951
+ if m.get('auth_token') is not None:
29952
+ self.auth_token = m.get('auth_token')
29953
+ if m.get('product_instance_id') is not None:
29954
+ self.product_instance_id = m.get('product_instance_id')
29955
+ if m.get('tuid') is not None:
29956
+ self.tuid = m.get('tuid')
29957
+ if m.get('trip_id') is not None:
29958
+ self.trip_id = m.get('trip_id')
29959
+ return self
29960
+
29961
+
29962
+ class QueryElectrocarTrippointsResponse(TeaModel):
29963
+ def __init__(
29964
+ self,
29965
+ req_msg_id: str = None,
29966
+ result_code: str = None,
29967
+ result_msg: str = None,
29968
+ success: bool = None,
29969
+ trip_points: List[str] = None,
29970
+ ):
29971
+ # 请求唯一ID,用于链路跟踪和问题排查
29972
+ self.req_msg_id = req_msg_id
29973
+ # 结果码,一般OK表示调用成功
29974
+ self.result_code = result_code
29975
+ # 异常信息的文本描述
29976
+ self.result_msg = result_msg
29977
+ # 状态
29978
+ self.success = success
29979
+ # List<String> ["123.1223456_12.123456", "123.1223456_12.123456"]
29980
+ self.trip_points = trip_points
29981
+
29982
+ def validate(self):
29983
+ pass
29984
+
29985
+ def to_map(self):
29986
+ _map = super().to_map()
29987
+ if _map is not None:
29988
+ return _map
29989
+
29990
+ result = dict()
29991
+ if self.req_msg_id is not None:
29992
+ result['req_msg_id'] = self.req_msg_id
29993
+ if self.result_code is not None:
29994
+ result['result_code'] = self.result_code
29995
+ if self.result_msg is not None:
29996
+ result['result_msg'] = self.result_msg
29997
+ if self.success is not None:
29998
+ result['success'] = self.success
29999
+ if self.trip_points is not None:
30000
+ result['trip_points'] = self.trip_points
30001
+ return result
30002
+
30003
+ def from_map(self, m: dict = None):
30004
+ m = m or dict()
30005
+ if m.get('req_msg_id') is not None:
30006
+ self.req_msg_id = m.get('req_msg_id')
30007
+ if m.get('result_code') is not None:
30008
+ self.result_code = m.get('result_code')
30009
+ if m.get('result_msg') is not None:
30010
+ self.result_msg = m.get('result_msg')
30011
+ if m.get('success') is not None:
30012
+ self.success = m.get('success')
30013
+ if m.get('trip_points') is not None:
30014
+ self.trip_points = m.get('trip_points')
30015
+ return self
30016
+
30017
+
30018
+ class QueryElectrocarTriplastRequest(TeaModel):
30019
+ def __init__(
30020
+ self,
30021
+ auth_token: str = None,
30022
+ product_instance_id: str = None,
30023
+ tuid: str = None,
30024
+ time_dimension: str = None,
30025
+ time_value: int = None,
30026
+ ):
30027
+ # OAuth模式下的授权token
30028
+ self.auth_token = auth_token
30029
+ self.product_instance_id = product_instance_id
30030
+ # tuid
30031
+ self.tuid = tuid
30032
+ # MONTH(月)
30033
+ # WEEK(周)
30034
+ # DAY(日)
30035
+ self.time_dimension = time_dimension
30036
+ # 时间戳
30037
+ self.time_value = time_value
30038
+
30039
+ def validate(self):
30040
+ self.validate_required(self.tuid, 'tuid')
30041
+ self.validate_required(self.time_dimension, 'time_dimension')
30042
+ self.validate_required(self.time_value, 'time_value')
30043
+
30044
+ def to_map(self):
30045
+ _map = super().to_map()
30046
+ if _map is not None:
30047
+ return _map
30048
+
30049
+ result = dict()
30050
+ if self.auth_token is not None:
30051
+ result['auth_token'] = self.auth_token
30052
+ if self.product_instance_id is not None:
30053
+ result['product_instance_id'] = self.product_instance_id
30054
+ if self.tuid is not None:
30055
+ result['tuid'] = self.tuid
30056
+ if self.time_dimension is not None:
30057
+ result['time_dimension'] = self.time_dimension
30058
+ if self.time_value is not None:
30059
+ result['time_value'] = self.time_value
30060
+ return result
30061
+
30062
+ def from_map(self, m: dict = None):
30063
+ m = m or dict()
30064
+ if m.get('auth_token') is not None:
30065
+ self.auth_token = m.get('auth_token')
30066
+ if m.get('product_instance_id') is not None:
30067
+ self.product_instance_id = m.get('product_instance_id')
30068
+ if m.get('tuid') is not None:
30069
+ self.tuid = m.get('tuid')
30070
+ if m.get('time_dimension') is not None:
30071
+ self.time_dimension = m.get('time_dimension')
30072
+ if m.get('time_value') is not None:
30073
+ self.time_value = m.get('time_value')
30074
+ return self
30075
+
30076
+
30077
+ class QueryElectrocarTriplastResponse(TeaModel):
30078
+ def __init__(
30079
+ self,
30080
+ req_msg_id: str = None,
30081
+ result_code: str = None,
30082
+ result_msg: str = None,
30083
+ success: bool = None,
30084
+ last_trip_detail: TripDetail = None,
30085
+ ):
30086
+ # 请求唯一ID,用于链路跟踪和问题排查
30087
+ self.req_msg_id = req_msg_id
30088
+ # 结果码,一般OK表示调用成功
30089
+ self.result_code = result_code
30090
+ # 异常信息的文本描述
30091
+ self.result_msg = result_msg
30092
+ # 状态
30093
+ self.success = success
30094
+ # {
30095
+ # "startTime":1733841600000,
30096
+ # "tripId":"T20251210140000001",
30097
+ # "endTime":1733845200000,
30098
+ # "mileage":36.8,
30099
+ # "duration":{
30100
+ # "value":"79",
30101
+ # "unit":"h"
30102
+ # },
30103
+ # "maxSpeed":85.5,
30104
+ # "avgSpeed":36.8,
30105
+ # "firstAddress":"上海市浦东新区张江高科技园区博云路",
30106
+ # "lastAddress":"上海市徐汇区漕河泾开发区桂平路",
30107
+ # "firstLocationTime":1733841605000,
30108
+ # "lastLocationTime":1733845195000
30109
+ # }
30110
+ self.last_trip_detail = last_trip_detail
30111
+
30112
+ def validate(self):
30113
+ if self.last_trip_detail:
30114
+ self.last_trip_detail.validate()
30115
+
30116
+ def to_map(self):
30117
+ _map = super().to_map()
30118
+ if _map is not None:
30119
+ return _map
30120
+
30121
+ result = dict()
30122
+ if self.req_msg_id is not None:
30123
+ result['req_msg_id'] = self.req_msg_id
30124
+ if self.result_code is not None:
30125
+ result['result_code'] = self.result_code
30126
+ if self.result_msg is not None:
30127
+ result['result_msg'] = self.result_msg
30128
+ if self.success is not None:
30129
+ result['success'] = self.success
30130
+ if self.last_trip_detail is not None:
30131
+ result['last_trip_detail'] = self.last_trip_detail.to_map()
30132
+ return result
30133
+
30134
+ def from_map(self, m: dict = None):
30135
+ m = m or dict()
30136
+ if m.get('req_msg_id') is not None:
30137
+ self.req_msg_id = m.get('req_msg_id')
30138
+ if m.get('result_code') is not None:
30139
+ self.result_code = m.get('result_code')
30140
+ if m.get('result_msg') is not None:
30141
+ self.result_msg = m.get('result_msg')
30142
+ if m.get('success') is not None:
30143
+ self.success = m.get('success')
30144
+ if m.get('last_trip_detail') is not None:
30145
+ temp_model = TripDetail()
30146
+ self.last_trip_detail = temp_model.from_map(m['last_trip_detail'])
30147
+ return self
30148
+
30149
+
30150
+ class RegisterElectrocarDeviceRequest(TeaModel):
28908
30151
  def __init__(
28909
30152
  self,
28910
30153
  auth_token: str = None,
28911
30154
  product_instance_id: str = None,
28912
- request_id: str = None,
28913
- online_flag: str = None,
28914
- device_type: str = None,
28915
- cred_type: str = None,
28916
- brand_id: str = None,
28917
- generate_code: str = None,
28918
- protocol_type: str = None,
28919
- key_less: str = None,
28920
- mac: str = None,
28921
- ble_name: str = None,
28922
- device_sn: str = None,
28923
- access_scene: str = None,
28924
- aliyun_iot_enabled: bool = None,
28925
- channel: str = None,
30155
+ device_neme: str = None,
30156
+ nick_name: str = None,
30157
+ trust_product_key: str = None,
30158
+ kyt_apply_params: KytApplyParams = None,
28926
30159
  ):
28927
30160
  # OAuth模式下的授权token
28928
30161
  self.auth_token = auth_token
28929
30162
  self.product_instance_id = product_instance_id
28930
- # 请求唯一标识Id 调用方生成,需要保证唯一性
28931
- self.request_id = request_id
28932
- # 模式 默认为false,产线申请为true
28933
- self.online_flag = online_flag
28934
- # 设备类型 默认为4-芯片SE,联系技术配置具体的设备类型
28935
- self.device_type = device_type
28936
- # 凭证类型,默认se_dk_cred,如果是MCU,则mcu_dk_cred
28937
- self.cred_type = cred_type
28938
- # 品牌Id
28939
- self.brand_id = brand_id
28940
- # 凭证内容
28941
- # 集合结构[0,1,2,3]
28942
- # 0:IIFAA根密钥
28943
- # 1:企业业务密钥
28944
- # 2:设备密钥
28945
- # 3:无感控车
28946
- # 如果此字段为空,则默认生成0,1,2
28947
- self.generate_code = generate_code
28948
- # 协议类型
28949
- # 蓝牙:ble
28950
- # 4G: 4G
28951
- # 蓝牙+4G:ble|4G
28952
- # 如果此字段为空,默认为ble
28953
- self.protocol_type = protocol_type
28954
- # 无感控车设备端数据,当generateCode包含3的时候,此字段不能为空
28955
- self.key_less = key_less
28956
- # mac
28957
- self.mac = mac
28958
- # ble_name
28959
- self.ble_name = ble_name
28960
- # 设备sn
28961
- self.device_sn = device_sn
28962
- # 接入场景码
28963
- self.access_scene = access_scene
28964
- # 标识是否启用了阿里云物联网平台
28965
- self.aliyun_iot_enabled = aliyun_iot_enabled
28966
- # 设备接入 4g 渠道
28967
- self.channel = channel
30163
+ # 设备名称
30164
+ self.device_neme = device_neme
30165
+ # 设备名称
30166
+ self.nick_name = nick_name
30167
+ # 产品key
30168
+ self.trust_product_key = trust_product_key
30169
+ # 凭证申请参数
30170
+ self.kyt_apply_params = kyt_apply_params
28968
30171
 
28969
30172
  def validate(self):
28970
- self.validate_required(self.request_id, 'request_id')
28971
- self.validate_required(self.brand_id, 'brand_id')
28972
- self.validate_required(self.protocol_type, 'protocol_type')
28973
- self.validate_required(self.mac, 'mac')
28974
- self.validate_required(self.ble_name, 'ble_name')
28975
- self.validate_required(self.device_sn, 'device_sn')
28976
- self.validate_required(self.access_scene, 'access_scene')
30173
+ self.validate_required(self.device_neme, 'device_neme')
30174
+ self.validate_required(self.nick_name, 'nick_name')
30175
+ self.validate_required(self.trust_product_key, 'trust_product_key')
30176
+ self.validate_required(self.kyt_apply_params, 'kyt_apply_params')
30177
+ if self.kyt_apply_params:
30178
+ self.kyt_apply_params.validate()
28977
30179
 
28978
30180
  def to_map(self):
28979
30181
  _map = super().to_map()
@@ -28985,34 +30187,14 @@ class CreateElectrocarApplycarkeycertificateRequest(TeaModel):
28985
30187
  result['auth_token'] = self.auth_token
28986
30188
  if self.product_instance_id is not None:
28987
30189
  result['product_instance_id'] = self.product_instance_id
28988
- if self.request_id is not None:
28989
- result['request_id'] = self.request_id
28990
- if self.online_flag is not None:
28991
- result['online_flag'] = self.online_flag
28992
- if self.device_type is not None:
28993
- result['device_type'] = self.device_type
28994
- if self.cred_type is not None:
28995
- result['cred_type'] = self.cred_type
28996
- if self.brand_id is not None:
28997
- result['brand_id'] = self.brand_id
28998
- if self.generate_code is not None:
28999
- result['generate_code'] = self.generate_code
29000
- if self.protocol_type is not None:
29001
- result['protocol_type'] = self.protocol_type
29002
- if self.key_less is not None:
29003
- result['key_less'] = self.key_less
29004
- if self.mac is not None:
29005
- result['mac'] = self.mac
29006
- if self.ble_name is not None:
29007
- result['ble_name'] = self.ble_name
29008
- if self.device_sn is not None:
29009
- result['device_sn'] = self.device_sn
29010
- if self.access_scene is not None:
29011
- result['access_scene'] = self.access_scene
29012
- if self.aliyun_iot_enabled is not None:
29013
- result['aliyun_iot_enabled'] = self.aliyun_iot_enabled
29014
- if self.channel is not None:
29015
- result['channel'] = self.channel
30190
+ if self.device_neme is not None:
30191
+ result['device_neme'] = self.device_neme
30192
+ if self.nick_name is not None:
30193
+ result['nick_name'] = self.nick_name
30194
+ if self.trust_product_key is not None:
30195
+ result['trust_product_key'] = self.trust_product_key
30196
+ if self.kyt_apply_params is not None:
30197
+ result['kyt_apply_params'] = self.kyt_apply_params.to_map()
29016
30198
  return result
29017
30199
 
29018
30200
  def from_map(self, m: dict = None):
@@ -29021,48 +30203,28 @@ class CreateElectrocarApplycarkeycertificateRequest(TeaModel):
29021
30203
  self.auth_token = m.get('auth_token')
29022
30204
  if m.get('product_instance_id') is not None:
29023
30205
  self.product_instance_id = m.get('product_instance_id')
29024
- if m.get('request_id') is not None:
29025
- self.request_id = m.get('request_id')
29026
- if m.get('online_flag') is not None:
29027
- self.online_flag = m.get('online_flag')
29028
- if m.get('device_type') is not None:
29029
- self.device_type = m.get('device_type')
29030
- if m.get('cred_type') is not None:
29031
- self.cred_type = m.get('cred_type')
29032
- if m.get('brand_id') is not None:
29033
- self.brand_id = m.get('brand_id')
29034
- if m.get('generate_code') is not None:
29035
- self.generate_code = m.get('generate_code')
29036
- if m.get('protocol_type') is not None:
29037
- self.protocol_type = m.get('protocol_type')
29038
- if m.get('key_less') is not None:
29039
- self.key_less = m.get('key_less')
29040
- if m.get('mac') is not None:
29041
- self.mac = m.get('mac')
29042
- if m.get('ble_name') is not None:
29043
- self.ble_name = m.get('ble_name')
29044
- if m.get('device_sn') is not None:
29045
- self.device_sn = m.get('device_sn')
29046
- if m.get('access_scene') is not None:
29047
- self.access_scene = m.get('access_scene')
29048
- if m.get('aliyun_iot_enabled') is not None:
29049
- self.aliyun_iot_enabled = m.get('aliyun_iot_enabled')
29050
- if m.get('channel') is not None:
29051
- self.channel = m.get('channel')
30206
+ if m.get('device_neme') is not None:
30207
+ self.device_neme = m.get('device_neme')
30208
+ if m.get('nick_name') is not None:
30209
+ self.nick_name = m.get('nick_name')
30210
+ if m.get('trust_product_key') is not None:
30211
+ self.trust_product_key = m.get('trust_product_key')
30212
+ if m.get('kyt_apply_params') is not None:
30213
+ temp_model = KytApplyParams()
30214
+ self.kyt_apply_params = temp_model.from_map(m['kyt_apply_params'])
29052
30215
  return self
29053
30216
 
29054
30217
 
29055
- class CreateElectrocarApplycarkeycertificateResponse(TeaModel):
30218
+ class RegisterElectrocarDeviceResponse(TeaModel):
29056
30219
  def __init__(
29057
30220
  self,
29058
30221
  req_msg_id: str = None,
29059
30222
  result_code: str = None,
29060
30223
  result_msg: str = None,
30224
+ success: str = None,
29061
30225
  tuid: str = None,
29062
- device_did: str = None,
29063
- mqtt_content: str = None,
29064
30226
  car_key_init_data: str = None,
29065
- success: bool = None,
30227
+ mqtt_content: str = None,
29066
30228
  ):
29067
30229
  # 请求唯一ID,用于链路跟踪和问题排查
29068
30230
  self.req_msg_id = req_msg_id
@@ -29070,16 +30232,14 @@ class CreateElectrocarApplycarkeycertificateResponse(TeaModel):
29070
30232
  self.result_code = result_code
29071
30233
  # 异常信息的文本描述
29072
30234
  self.result_msg = result_msg
29073
- # sn
30235
+ # 状态
30236
+ self.success = success
30237
+ # tuid
29074
30238
  self.tuid = tuid
29075
- # deviceDid
29076
- self.device_did = device_did
29077
- # 三元组+连接实例id
29078
- self.mqtt_content = mqtt_content
29079
- # 凭证接口返回参数
30239
+ # kyt 返回的蓝牙凭证信息
29080
30240
  self.car_key_init_data = car_key_init_data
29081
- # 成功/失败
29082
- self.success = success
30241
+ # 物联网平台三元组加密
30242
+ self.mqtt_content = mqtt_content
29083
30243
 
29084
30244
  def validate(self):
29085
30245
  pass
@@ -29096,16 +30256,14 @@ class CreateElectrocarApplycarkeycertificateResponse(TeaModel):
29096
30256
  result['result_code'] = self.result_code
29097
30257
  if self.result_msg is not None:
29098
30258
  result['result_msg'] = self.result_msg
30259
+ if self.success is not None:
30260
+ result['success'] = self.success
29099
30261
  if self.tuid is not None:
29100
30262
  result['tuid'] = self.tuid
29101
- if self.device_did is not None:
29102
- result['device_did'] = self.device_did
29103
- if self.mqtt_content is not None:
29104
- result['mqtt_content'] = self.mqtt_content
29105
30263
  if self.car_key_init_data is not None:
29106
30264
  result['car_key_init_data'] = self.car_key_init_data
29107
- if self.success is not None:
29108
- result['success'] = self.success
30265
+ if self.mqtt_content is not None:
30266
+ result['mqtt_content'] = self.mqtt_content
29109
30267
  return result
29110
30268
 
29111
30269
  def from_map(self, m: dict = None):
@@ -29116,58 +30274,48 @@ class CreateElectrocarApplycarkeycertificateResponse(TeaModel):
29116
30274
  self.result_code = m.get('result_code')
29117
30275
  if m.get('result_msg') is not None:
29118
30276
  self.result_msg = m.get('result_msg')
30277
+ if m.get('success') is not None:
30278
+ self.success = m.get('success')
29119
30279
  if m.get('tuid') is not None:
29120
30280
  self.tuid = m.get('tuid')
29121
- if m.get('device_did') is not None:
29122
- self.device_did = m.get('device_did')
29123
- if m.get('mqtt_content') is not None:
29124
- self.mqtt_content = m.get('mqtt_content')
29125
30281
  if m.get('car_key_init_data') is not None:
29126
30282
  self.car_key_init_data = m.get('car_key_init_data')
29127
- if m.get('success') is not None:
29128
- self.success = m.get('success')
30283
+ if m.get('mqtt_content') is not None:
30284
+ self.mqtt_content = m.get('mqtt_content')
29129
30285
  return self
29130
30286
 
29131
30287
 
29132
- class PushDeviceAudioRequest(TeaModel):
30288
+ class QueryElectrocarDevicehistorypropertiesRequest(TeaModel):
29133
30289
  def __init__(
29134
30290
  self,
29135
30291
  auth_token: str = None,
29136
30292
  product_instance_id: str = None,
29137
- device_sn: str = None,
29138
- device_corp: str = None,
29139
- topic_identifer: str = None,
29140
- mesage_type: str = None,
29141
- message_content: str = None,
29142
- biz_scene: str = None,
29143
- device_did: str = None,
29144
30293
  tuid: str = None,
30294
+ start_time: int = None,
30295
+ end_time: int = None,
30296
+ page_num: int = None,
30297
+ page_size: int = None,
29145
30298
  ):
29146
30299
  # OAuth模式下的授权token
29147
30300
  self.auth_token = auth_token
29148
30301
  self.product_instance_id = product_instance_id
29149
- # 设备序列化
29150
- self.device_sn = device_sn
29151
- # 设备厂商
29152
- self.device_corp = device_corp
29153
- # 推送消息主题
29154
- self.topic_identifer = topic_identifer
29155
- # 推送消息类型
29156
- self.mesage_type = mesage_type
29157
- # 消息内容
29158
- self.message_content = message_content
29159
- # 业务场景-项目
29160
- self.biz_scene = biz_scene
29161
- # 设备唯一ID
29162
- self.device_did = device_did
29163
- # kyt硬件唯一ID
30302
+ # tuid
29164
30303
  self.tuid = tuid
30304
+ # 开始时间戳
30305
+ self.start_time = start_time
30306
+ # 结束时间戳
30307
+ self.end_time = end_time
30308
+ # 1
30309
+ self.page_num = page_num
30310
+ # 1
30311
+ self.page_size = page_size
29165
30312
 
29166
30313
  def validate(self):
29167
- self.validate_required(self.topic_identifer, 'topic_identifer')
29168
- self.validate_required(self.mesage_type, 'mesage_type')
29169
- self.validate_required(self.message_content, 'message_content')
29170
- self.validate_required(self.biz_scene, 'biz_scene')
30314
+ self.validate_required(self.tuid, 'tuid')
30315
+ self.validate_required(self.start_time, 'start_time')
30316
+ self.validate_required(self.end_time, 'end_time')
30317
+ self.validate_required(self.page_num, 'page_num')
30318
+ self.validate_required(self.page_size, 'page_size')
29171
30319
 
29172
30320
  def to_map(self):
29173
30321
  _map = super().to_map()
@@ -29179,22 +30327,16 @@ class PushDeviceAudioRequest(TeaModel):
29179
30327
  result['auth_token'] = self.auth_token
29180
30328
  if self.product_instance_id is not None:
29181
30329
  result['product_instance_id'] = self.product_instance_id
29182
- if self.device_sn is not None:
29183
- result['device_sn'] = self.device_sn
29184
- if self.device_corp is not None:
29185
- result['device_corp'] = self.device_corp
29186
- if self.topic_identifer is not None:
29187
- result['topic_identifer'] = self.topic_identifer
29188
- if self.mesage_type is not None:
29189
- result['mesage_type'] = self.mesage_type
29190
- if self.message_content is not None:
29191
- result['message_content'] = self.message_content
29192
- if self.biz_scene is not None:
29193
- result['biz_scene'] = self.biz_scene
29194
- if self.device_did is not None:
29195
- result['device_did'] = self.device_did
29196
30330
  if self.tuid is not None:
29197
30331
  result['tuid'] = self.tuid
30332
+ if self.start_time is not None:
30333
+ result['start_time'] = self.start_time
30334
+ if self.end_time is not None:
30335
+ result['end_time'] = self.end_time
30336
+ if self.page_num is not None:
30337
+ result['page_num'] = self.page_num
30338
+ if self.page_size is not None:
30339
+ result['page_size'] = self.page_size
29198
30340
  return result
29199
30341
 
29200
30342
  def from_map(self, m: dict = None):
@@ -29203,34 +30345,31 @@ class PushDeviceAudioRequest(TeaModel):
29203
30345
  self.auth_token = m.get('auth_token')
29204
30346
  if m.get('product_instance_id') is not None:
29205
30347
  self.product_instance_id = m.get('product_instance_id')
29206
- if m.get('device_sn') is not None:
29207
- self.device_sn = m.get('device_sn')
29208
- if m.get('device_corp') is not None:
29209
- self.device_corp = m.get('device_corp')
29210
- if m.get('topic_identifer') is not None:
29211
- self.topic_identifer = m.get('topic_identifer')
29212
- if m.get('mesage_type') is not None:
29213
- self.mesage_type = m.get('mesage_type')
29214
- if m.get('message_content') is not None:
29215
- self.message_content = m.get('message_content')
29216
- if m.get('biz_scene') is not None:
29217
- self.biz_scene = m.get('biz_scene')
29218
- if m.get('device_did') is not None:
29219
- self.device_did = m.get('device_did')
29220
30348
  if m.get('tuid') is not None:
29221
30349
  self.tuid = m.get('tuid')
30350
+ if m.get('start_time') is not None:
30351
+ self.start_time = m.get('start_time')
30352
+ if m.get('end_time') is not None:
30353
+ self.end_time = m.get('end_time')
30354
+ if m.get('page_num') is not None:
30355
+ self.page_num = m.get('page_num')
30356
+ if m.get('page_size') is not None:
30357
+ self.page_size = m.get('page_size')
29222
30358
  return self
29223
30359
 
29224
30360
 
29225
- class PushDeviceAudioResponse(TeaModel):
30361
+ class QueryElectrocarDevicehistorypropertiesResponse(TeaModel):
29226
30362
  def __init__(
29227
30363
  self,
29228
30364
  req_msg_id: str = None,
29229
30365
  result_code: str = None,
29230
30366
  result_msg: str = None,
29231
30367
  success: bool = None,
29232
- message_id: str = None,
29233
- result: str = None,
30368
+ trip_properties: List[DeviceTripProperties] = None,
30369
+ page_num: int = None,
30370
+ page_size: int = None,
30371
+ total_pages: int = None,
30372
+ total_size: int = None,
29234
30373
  ):
29235
30374
  # 请求唯一ID,用于链路跟踪和问题排查
29236
30375
  self.req_msg_id = req_msg_id
@@ -29238,15 +30377,24 @@ class PushDeviceAudioResponse(TeaModel):
29238
30377
  self.result_code = result_code
29239
30378
  # 异常信息的文本描述
29240
30379
  self.result_msg = result_msg
29241
- # 调用结果
30380
+ # success
29242
30381
  self.success = success
29243
- # 云端向设备下发服务调用的消息ID
29244
- self.message_id = message_id
29245
- # 指令执行 响应结果
29246
- self.result = result
30382
+ # 行程统计信息属性
30383
+ self.trip_properties = trip_properties
30384
+ # 1
30385
+ self.page_num = page_num
30386
+ # 1
30387
+ self.page_size = page_size
30388
+ # 1
30389
+ self.total_pages = total_pages
30390
+ # 记录总数
30391
+ self.total_size = total_size
29247
30392
 
29248
30393
  def validate(self):
29249
- pass
30394
+ if self.trip_properties:
30395
+ for k in self.trip_properties:
30396
+ if k:
30397
+ k.validate()
29250
30398
 
29251
30399
  def to_map(self):
29252
30400
  _map = super().to_map()
@@ -29262,10 +30410,18 @@ class PushDeviceAudioResponse(TeaModel):
29262
30410
  result['result_msg'] = self.result_msg
29263
30411
  if self.success is not None:
29264
30412
  result['success'] = self.success
29265
- if self.message_id is not None:
29266
- result['message_id'] = self.message_id
29267
- if self.result is not None:
29268
- result['result'] = self.result
30413
+ result['trip_properties'] = []
30414
+ if self.trip_properties is not None:
30415
+ for k in self.trip_properties:
30416
+ result['trip_properties'].append(k.to_map() if k else None)
30417
+ if self.page_num is not None:
30418
+ result['page_num'] = self.page_num
30419
+ if self.page_size is not None:
30420
+ result['page_size'] = self.page_size
30421
+ if self.total_pages is not None:
30422
+ result['total_pages'] = self.total_pages
30423
+ if self.total_size is not None:
30424
+ result['total_size'] = self.total_size
29269
30425
  return result
29270
30426
 
29271
30427
  def from_map(self, m: dict = None):
@@ -29278,10 +30434,19 @@ class PushDeviceAudioResponse(TeaModel):
29278
30434
  self.result_msg = m.get('result_msg')
29279
30435
  if m.get('success') is not None:
29280
30436
  self.success = m.get('success')
29281
- if m.get('message_id') is not None:
29282
- self.message_id = m.get('message_id')
29283
- if m.get('result') is not None:
29284
- self.result = m.get('result')
30437
+ self.trip_properties = []
30438
+ if m.get('trip_properties') is not None:
30439
+ for k in m.get('trip_properties'):
30440
+ temp_model = DeviceTripProperties()
30441
+ self.trip_properties.append(temp_model.from_map(k))
30442
+ if m.get('page_num') is not None:
30443
+ self.page_num = m.get('page_num')
30444
+ if m.get('page_size') is not None:
30445
+ self.page_size = m.get('page_size')
30446
+ if m.get('total_pages') is not None:
30447
+ self.total_pages = m.get('total_pages')
30448
+ if m.get('total_size') is not None:
30449
+ self.total_size = m.get('total_size')
29285
30450
  return self
29286
30451
 
29287
30452
 
@@ -44389,6 +45554,140 @@ class SendTaskalarmResponse(TeaModel):
44389
45554
  return self
44390
45555
 
44391
45556
 
45557
+ class ApplyTechintegrationSkushipemptymodelbyuidRequest(TeaModel):
45558
+ def __init__(
45559
+ self,
45560
+ auth_token: str = None,
45561
+ product_instance_id: str = None,
45562
+ vendor_id: str = None,
45563
+ product_id: str = None,
45564
+ device_id: str = None,
45565
+ product_type: int = None,
45566
+ cert_type: int = None,
45567
+ id_2: str = None,
45568
+ ):
45569
+ # OAuth模式下的授权token
45570
+ self.auth_token = auth_token
45571
+ self.product_instance_id = product_instance_id
45572
+ # 场景码
45573
+ self.vendor_id = vendor_id
45574
+ # 设备型号
45575
+ self.product_id = product_id
45576
+ # 设备SN号
45577
+ self.device_id = device_id
45578
+ # 产品类型
45579
+ self.product_type = product_type
45580
+ # 凭证种类,高八位表示是否下发凭证,低八位表示安全方案
45581
+ self.cert_type = cert_type
45582
+ # id2 authCode
45583
+ self.id_2 = id_2
45584
+
45585
+ def validate(self):
45586
+ self.validate_required(self.vendor_id, 'vendor_id')
45587
+ self.validate_required(self.product_id, 'product_id')
45588
+ self.validate_required(self.device_id, 'device_id')
45589
+
45590
+ def to_map(self):
45591
+ _map = super().to_map()
45592
+ if _map is not None:
45593
+ return _map
45594
+
45595
+ result = dict()
45596
+ if self.auth_token is not None:
45597
+ result['auth_token'] = self.auth_token
45598
+ if self.product_instance_id is not None:
45599
+ result['product_instance_id'] = self.product_instance_id
45600
+ if self.vendor_id is not None:
45601
+ result['vendor_id'] = self.vendor_id
45602
+ if self.product_id is not None:
45603
+ result['product_id'] = self.product_id
45604
+ if self.device_id is not None:
45605
+ result['device_id'] = self.device_id
45606
+ if self.product_type is not None:
45607
+ result['product_type'] = self.product_type
45608
+ if self.cert_type is not None:
45609
+ result['cert_type'] = self.cert_type
45610
+ if self.id_2 is not None:
45611
+ result['id2'] = self.id_2
45612
+ return result
45613
+
45614
+ def from_map(self, m: dict = None):
45615
+ m = m or dict()
45616
+ if m.get('auth_token') is not None:
45617
+ self.auth_token = m.get('auth_token')
45618
+ if m.get('product_instance_id') is not None:
45619
+ self.product_instance_id = m.get('product_instance_id')
45620
+ if m.get('vendor_id') is not None:
45621
+ self.vendor_id = m.get('vendor_id')
45622
+ if m.get('product_id') is not None:
45623
+ self.product_id = m.get('product_id')
45624
+ if m.get('device_id') is not None:
45625
+ self.device_id = m.get('device_id')
45626
+ if m.get('product_type') is not None:
45627
+ self.product_type = m.get('product_type')
45628
+ if m.get('cert_type') is not None:
45629
+ self.cert_type = m.get('cert_type')
45630
+ if m.get('id2') is not None:
45631
+ self.id_2 = m.get('id2')
45632
+ return self
45633
+
45634
+
45635
+ class ApplyTechintegrationSkushipemptymodelbyuidResponse(TeaModel):
45636
+ def __init__(
45637
+ self,
45638
+ req_msg_id: str = None,
45639
+ result_code: str = None,
45640
+ result_msg: str = None,
45641
+ cert: str = None,
45642
+ id_2: str = None,
45643
+ ):
45644
+ # 请求唯一ID,用于链路跟踪和问题排查
45645
+ self.req_msg_id = req_msg_id
45646
+ # 结果码,一般OK表示调用成功
45647
+ self.result_code = result_code
45648
+ # 异常信息的文本描述
45649
+ self.result_msg = result_msg
45650
+ # 证书信息
45651
+ self.cert = cert
45652
+ # Id2信息
45653
+ self.id_2 = id_2
45654
+
45655
+ def validate(self):
45656
+ pass
45657
+
45658
+ def to_map(self):
45659
+ _map = super().to_map()
45660
+ if _map is not None:
45661
+ return _map
45662
+
45663
+ result = dict()
45664
+ if self.req_msg_id is not None:
45665
+ result['req_msg_id'] = self.req_msg_id
45666
+ if self.result_code is not None:
45667
+ result['result_code'] = self.result_code
45668
+ if self.result_msg is not None:
45669
+ result['result_msg'] = self.result_msg
45670
+ if self.cert is not None:
45671
+ result['cert'] = self.cert
45672
+ if self.id_2 is not None:
45673
+ result['id2'] = self.id_2
45674
+ return result
45675
+
45676
+ def from_map(self, m: dict = None):
45677
+ m = m or dict()
45678
+ if m.get('req_msg_id') is not None:
45679
+ self.req_msg_id = m.get('req_msg_id')
45680
+ if m.get('result_code') is not None:
45681
+ self.result_code = m.get('result_code')
45682
+ if m.get('result_msg') is not None:
45683
+ self.result_msg = m.get('result_msg')
45684
+ if m.get('cert') is not None:
45685
+ self.cert = m.get('cert')
45686
+ if m.get('id2') is not None:
45687
+ self.id_2 = m.get('id2')
45688
+ return self
45689
+
45690
+
44392
45691
  class ExecThingsdidOneapiRequest(TeaModel):
44393
45692
  def __init__(
44394
45693
  self,