criteo-api-marketingsolutions-sdk 0.0.250425__py3-none-any.whl → 0.0.250618__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.

Potentially problematic release.


This version of criteo-api-marketingsolutions-sdk might be problematic. Click here for more details.

@@ -8,7 +8,7 @@
8
8
  """
9
9
 
10
10
 
11
- __version__ = "0.0.250425"
11
+ __version__ = "0.0.250618"
12
12
 
13
13
  # import ApiClient
14
14
  from criteo_api_marketingsolutions_preview.api_client import ApiClient
@@ -25,6 +25,7 @@ from criteo_api_marketingsolutions_preview.model.export_result import ExportResu
25
25
  from criteo_api_marketingsolutions_preview.model.generate_audience_performance_report_request import GenerateAudiencePerformanceReportRequest
26
26
  from criteo_api_marketingsolutions_preview.model.generate_categories_report_request_attributes_request import GenerateCategoriesReportRequestAttributesRequest
27
27
  from criteo_api_marketingsolutions_preview.model.generate_creatives_report_request_attributes_request import GenerateCreativesReportRequestAttributesRequest
28
+ from criteo_api_marketingsolutions_preview.model.generate_realtime_statistics_report_request_attributes_request import GenerateRealtimeStatisticsReportRequestAttributesRequest
28
29
  from criteo_api_marketingsolutions_preview.model.generate_statistics_report_request import GenerateStatisticsReportRequest
29
30
  from criteo_api_marketingsolutions_preview.model.generate_top_products_report_request_attributes_request import GenerateTopProductsReportRequestAttributesRequest
30
31
  from criteo_api_marketingsolutions_preview.model.json_report_rows_list_response import JsonReportRowsListResponse
@@ -521,6 +522,67 @@ class AnalyticsApi(object):
521
522
  },
522
523
  api_client=api_client
523
524
  )
525
+ self.get_realtime_statistics_report_endpoint = _Endpoint(
526
+ settings={
527
+ 'response_type': (JsonReportRowsListResponse,),
528
+ 'auth': [
529
+ 'oauth',
530
+ 'oauth'
531
+ ],
532
+ 'endpoint_path': '/preview/reports/realtime',
533
+ 'operation_id': 'get_realtime_statistics_report',
534
+ 'http_method': 'POST',
535
+ 'servers': None,
536
+ },
537
+ params_map={
538
+ 'all': [
539
+ 'generate_realtime_statistics_report_request_attributes_request',
540
+ ],
541
+ 'required': [],
542
+ 'nullable': [
543
+ ],
544
+ 'enum': [
545
+ ],
546
+ 'validation': [
547
+ ]
548
+ },
549
+ root_map={
550
+ 'validations': {
551
+ },
552
+ 'allowed_values': {
553
+ },
554
+ 'openapi_types': {
555
+ 'generate_realtime_statistics_report_request_attributes_request':
556
+ (GenerateRealtimeStatisticsReportRequestAttributesRequest,),
557
+ },
558
+ 'attribute_map': {
559
+ },
560
+ 'location_map': {
561
+ 'generate_realtime_statistics_report_request_attributes_request': 'body',
562
+ },
563
+ 'collection_format_map': {
564
+ }
565
+ },
566
+ headers_map={
567
+ 'accept': [
568
+ 'text/plain',
569
+ 'application/json',
570
+ 'text/json',
571
+ 'application/xml',
572
+ 'text/xml'
573
+ ],
574
+ 'content_type': [
575
+ 'application/json-patch+json',
576
+ 'application/json',
577
+ 'text/json',
578
+ 'application/*+json',
579
+ 'application/xml',
580
+ 'text/xml',
581
+ 'application/*+xml'
582
+ ]
583
+ },
584
+ api_client=api_client
585
+ )
524
586
  self.get_top_products_report_endpoint = _Endpoint(
525
587
  settings={
526
588
  'response_type': (JsonReportRowsListResponse,),
@@ -1347,6 +1409,85 @@ class AnalyticsApi(object):
1347
1409
  kwargs['_request_auths'] = kwargs.get('_request_auths', None)
1348
1410
  return self.get_placements_report_endpoint.call_with_http_info(**kwargs)
1349
1411
 
1412
+ def get_realtime_statistics_report(
1413
+ self,
1414
+ **kwargs
1415
+ ):
1416
+ """get_realtime_statistics_report # noqa: E501
1417
+
1418
+ With Realtime endpoint, you can analyse the realtime values of the main metrics: displays, clicks, cost. # noqa: E501
1419
+ This method makes a synchronous HTTP request by default. To make an
1420
+ asynchronous HTTP request, please pass async_req=True
1421
+
1422
+ >>> thread = api.get_realtime_statistics_report(async_req=True)
1423
+ >>> result = thread.get()
1424
+
1425
+
1426
+ Keyword Args:
1427
+ generate_realtime_statistics_report_request_attributes_request (GenerateRealtimeStatisticsReportRequestAttributesRequest): [optional]
1428
+ _return_http_data_only (bool): response data without head status
1429
+ code and headers. Default is True.
1430
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
1431
+ will be returned without reading/decoding response data.
1432
+ Default is True.
1433
+ _request_timeout (int/float/tuple): timeout setting for this request. If
1434
+ one number provided, it will be total request timeout. It can also
1435
+ be a pair (tuple) of (connection, read) timeouts.
1436
+ Default is None.
1437
+ _check_input_type (bool): specifies if type checking
1438
+ should be done one the data sent to the server.
1439
+ Default is True.
1440
+ _check_return_type (bool): specifies if type checking
1441
+ should be done one the data received from the server.
1442
+ Default is True.
1443
+ _spec_property_naming (bool): True if the variable names in the input data
1444
+ are serialized names, as specified in the OpenAPI document.
1445
+ False if the variable names in the input data
1446
+ are pythonic names, e.g. snake case (default)
1447
+ _content_type (str/None): force body content-type.
1448
+ Default is None and content-type will be predicted by allowed
1449
+ content-types and body.
1450
+ _host_index (int/None): specifies the index of the server
1451
+ that we want to use.
1452
+ Default is read from the configuration.
1453
+ _request_auths (list): set to override the auth_settings for an a single
1454
+ request; this effectively ignores the authentication
1455
+ in the spec for a single request.
1456
+ Default is None
1457
+ async_req (bool): execute request asynchronously
1458
+
1459
+ Returns:
1460
+ JsonReportRowsListResponse
1461
+ If the method is called asynchronously, returns the request
1462
+ thread.
1463
+ """
1464
+ kwargs['async_req'] = kwargs.get(
1465
+ 'async_req', False
1466
+ )
1467
+ kwargs['_return_http_data_only'] = kwargs.get(
1468
+ '_return_http_data_only', True
1469
+ )
1470
+ kwargs['_preload_content'] = kwargs.get(
1471
+ '_preload_content', True
1472
+ )
1473
+ kwargs['_request_timeout'] = kwargs.get(
1474
+ '_request_timeout', None
1475
+ )
1476
+ kwargs['_check_input_type'] = kwargs.get(
1477
+ '_check_input_type', True
1478
+ )
1479
+ kwargs['_check_return_type'] = kwargs.get(
1480
+ '_check_return_type', True
1481
+ )
1482
+ kwargs['_spec_property_naming'] = kwargs.get(
1483
+ '_spec_property_naming', False
1484
+ )
1485
+ kwargs['_content_type'] = kwargs.get(
1486
+ '_content_type')
1487
+ kwargs['_host_index'] = kwargs.get('_host_index')
1488
+ kwargs['_request_auths'] = kwargs.get('_request_auths', None)
1489
+ return self.get_realtime_statistics_report_endpoint.call_with_http_info(**kwargs)
1490
+
1350
1491
  def get_top_products_report(
1351
1492
  self,
1352
1493
  **kwargs
@@ -76,7 +76,7 @@ class ApiClient(object):
76
76
  self.default_headers[header_name] = header_value
77
77
  self.cookie = cookie
78
78
  # Set default User-Agent.
79
- self.user_agent = 'OpenAPI-Generator/0.0.250425/python'
79
+ self.user_agent = 'OpenAPI-Generator/0.0.250618/python'
80
80
 
81
81
  def __enter__(self):
82
82
  return self
@@ -395,7 +395,7 @@ class Configuration(object):
395
395
  "OS: {env}\n"\
396
396
  "Python Version: {pyversion}\n"\
397
397
  "Version of the API: preview\n"\
398
- "SDK Package Version: 0.0.250425".\
398
+ "SDK Package Version: 0.0.250618".\
399
399
  format(env=sys.platform, pyversion=sys.version)
400
400
 
401
401
  def get_host_settings(self):
@@ -81,14 +81,6 @@ class AdSetTargetingVideoPositioning(ModelNormal):
81
81
  'MIDROLL': "MidRoll",
82
82
  'POSTROLL': "PostRoll",
83
83
  },
84
- ('video_placement',): {
85
- 'None': None,
86
- 'INBANNER': "InBanner",
87
- 'INARTICLE': "InArticle",
88
- 'INFEED': "InFeed",
89
- 'INTERSTITIAL': "Interstitial",
90
- 'INSTREAM': "InStream",
91
- },
92
84
  ('video_player_size',): {
93
85
  'None': None,
94
86
  'SMALL': "Small",
@@ -112,8 +104,6 @@ class AdSetTargetingVideoPositioning(ModelNormal):
112
104
  },
113
105
  ('video_in_stream_position',): {
114
106
  },
115
- ('video_placement',): {
116
- },
117
107
  ('video_player_size',): {
118
108
  },
119
109
  ('video_plcmt',): {
@@ -145,7 +135,6 @@ class AdSetTargetingVideoPositioning(ModelNormal):
145
135
  'skippable': (str, none_type,), # noqa: E501
146
136
  'video_aspect_ratio': ([str], none_type,), # noqa: E501
147
137
  'video_in_stream_position': ([str], none_type,), # noqa: E501
148
- 'video_placement': ([str], none_type,), # noqa: E501
149
138
  'video_player_size': ([str], none_type,), # noqa: E501
150
139
  'video_plcmt': ([str], none_type,), # noqa: E501
151
140
  }
@@ -160,7 +149,6 @@ class AdSetTargetingVideoPositioning(ModelNormal):
160
149
  'skippable': 'skippable', # noqa: E501
161
150
  'video_aspect_ratio': 'videoAspectRatio', # noqa: E501
162
151
  'video_in_stream_position': 'videoInStreamPosition', # noqa: E501
163
- 'video_placement': 'videoPlacement', # noqa: E501
164
152
  'video_player_size': 'videoPlayerSize', # noqa: E501
165
153
  'video_plcmt': 'videoPlcmt', # noqa: E501
166
154
  }
@@ -210,7 +198,6 @@ class AdSetTargetingVideoPositioning(ModelNormal):
210
198
  skippable (str, none_type): [optional] # noqa: E501
211
199
  video_aspect_ratio ([str], none_type): [optional] # noqa: E501
212
200
  video_in_stream_position ([str], none_type): [optional] # noqa: E501
213
- video_placement ([str], none_type): [optional] # noqa: E501
214
201
  video_player_size ([str], none_type): [optional] # noqa: E501
215
202
  video_plcmt ([str], none_type): [optional] # noqa: E501
216
203
  """
@@ -302,7 +289,6 @@ class AdSetTargetingVideoPositioning(ModelNormal):
302
289
  skippable (str, none_type): [optional] # noqa: E501
303
290
  video_aspect_ratio ([str], none_type): [optional] # noqa: E501
304
291
  video_in_stream_position ([str], none_type): [optional] # noqa: E501
305
- video_placement ([str], none_type): [optional] # noqa: E501
306
292
  video_player_size ([str], none_type): [optional] # noqa: E501
307
293
  video_plcmt ([str], none_type): [optional] # noqa: E501
308
294
  """
@@ -74,7 +74,7 @@ class BudgetAutomationConfiguration(ModelNormal):
74
74
  """
75
75
  return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
76
76
 
77
- _nullable = False
77
+ _nullable = True
78
78
 
79
79
  @cached_property
80
80
  def openapi_types():
@@ -0,0 +1,319 @@
1
+ """
2
+ Criteo API
3
+
4
+ Criteo API - MarketingSolutions # noqa: E501
5
+
6
+ The version of the OpenAPI document: preview
7
+ Generated by: https://openapi-generator.tech
8
+ """
9
+
10
+
11
+ import re # noqa: F401
12
+ import sys # noqa: F401
13
+
14
+ from criteo_api_marketingsolutions_preview.model_utils import ( # noqa: F401
15
+ ApiTypeError,
16
+ ModelComposed,
17
+ ModelNormal,
18
+ ModelSimple,
19
+ cached_property,
20
+ change_keys_js_to_python,
21
+ convert_js_args_to_python_args,
22
+ date,
23
+ datetime,
24
+ file_type,
25
+ none_type,
26
+ validate_get_composed_info,
27
+ OpenApiModel
28
+ )
29
+ from criteo_api_marketingsolutions_preview.exceptions import ApiAttributeError
30
+
31
+
32
+
33
+ class GenerateRealtimeStatisticsReportRequestAttributes(ModelNormal):
34
+ """NOTE: This class is auto generated by OpenAPI Generator.
35
+ Ref: https://openapi-generator.tech
36
+
37
+ Do not edit the class manually.
38
+
39
+ Attributes:
40
+ allowed_values (dict): The key is the tuple path to the attribute
41
+ and the for var_name this is (var_name,). The value is a dict
42
+ with a capitalized key describing the allowed value and an allowed
43
+ value. These dicts store the allowed enum values.
44
+ attribute_map (dict): The key is attribute name
45
+ and the value is json key in definition.
46
+ discriminator_value_class_map (dict): A dict to go from the discriminator
47
+ variable value to the discriminator class name.
48
+ validations (dict): The key is the tuple path to the attribute
49
+ and the for var_name this is (var_name,). The value is a dict
50
+ that stores validations for max_length, min_length, max_items,
51
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
52
+ inclusive_minimum, and regex.
53
+ additional_properties_type (tuple): A tuple of classes accepted
54
+ as additional properties values.
55
+ """
56
+
57
+ allowed_values = {
58
+ ('dimensions',): {
59
+ 'None': None,
60
+ 'ADVERTISER': "Advertiser",
61
+ 'ADVERTISERID': "AdvertiserId",
62
+ 'CAMPAIGN': "Campaign",
63
+ 'CAMPAIGNID': "CampaignId",
64
+ 'ADSET': "Adset",
65
+ 'ADSETID': "AdsetId",
66
+ 'YEAR': "Year",
67
+ 'MONTH': "Month",
68
+ 'WEEK': "Week",
69
+ 'DAY': "Day",
70
+ 'HOUR': "Hour",
71
+ },
72
+ ('metrics',): {
73
+ 'None': None,
74
+ 'CLICKS': "Clicks",
75
+ 'COST': "Cost",
76
+ 'DISPLAYS': "Displays",
77
+ },
78
+ }
79
+
80
+ validations = {
81
+ ('advertiser_ids',): {
82
+ 'max_items': 10,
83
+ 'min_items': 1,
84
+ },
85
+ ('lookback_window',): {
86
+ 'inclusive_maximum': 24,
87
+ 'inclusive_minimum': 1,
88
+ },
89
+ }
90
+
91
+ additional_properties_type = None
92
+
93
+ _nullable = False
94
+
95
+ @cached_property
96
+ def openapi_types():
97
+ """
98
+ This must be a method because a model may have properties that are
99
+ of type self, this must run after the class is loaded
100
+
101
+ Returns
102
+ openapi_types (dict): The key is attribute name
103
+ and the value is attribute type.
104
+ """
105
+ return {
106
+ 'advertiser_ids': ([str],), # noqa: E501
107
+ 'adset_ids': ([str], none_type,), # noqa: E501
108
+ 'campaign_ids': ([str], none_type,), # noqa: E501
109
+ 'currency': (str, none_type,), # noqa: E501
110
+ 'dimensions': ([str], none_type,), # noqa: E501
111
+ 'lookback_window': (int,), # noqa: E501
112
+ 'metrics': ([str], none_type,), # noqa: E501
113
+ 'timezone': (str, none_type,), # noqa: E501
114
+ }
115
+
116
+ @cached_property
117
+ def discriminator():
118
+ return None
119
+
120
+
121
+ attribute_map = {
122
+ 'advertiser_ids': 'advertiserIds', # noqa: E501
123
+ 'adset_ids': 'adsetIds', # noqa: E501
124
+ 'campaign_ids': 'campaignIds', # noqa: E501
125
+ 'currency': 'currency', # noqa: E501
126
+ 'dimensions': 'dimensions', # noqa: E501
127
+ 'lookback_window': 'lookbackWindow', # noqa: E501
128
+ 'metrics': 'metrics', # noqa: E501
129
+ 'timezone': 'timezone', # noqa: E501
130
+ }
131
+
132
+ read_only_vars = {
133
+ }
134
+
135
+ _composed_schemas = {}
136
+
137
+ @classmethod
138
+ @convert_js_args_to_python_args
139
+ def _from_openapi_data(cls, advertiser_ids, *args, **kwargs): # noqa: E501
140
+ """GenerateRealtimeStatisticsReportRequestAttributes - a model defined in OpenAPI
141
+
142
+ Args:
143
+ advertiser_ids ([str]): List of advertiser ids to report on.
144
+
145
+ Keyword Args:
146
+ _check_type (bool): if True, values for parameters in openapi_types
147
+ will be type checked and a TypeError will be
148
+ raised if the wrong type is input.
149
+ Defaults to True
150
+ _path_to_item (tuple/list): This is a list of keys or values to
151
+ drill down to the model in received_data
152
+ when deserializing a response
153
+ _spec_property_naming (bool): True if the variable names in the input data
154
+ are serialized names, as specified in the OpenAPI document.
155
+ False if the variable names in the input data
156
+ are pythonic names, e.g. snake case (default)
157
+ _configuration (Configuration): the instance to use when
158
+ deserializing a file_type parameter.
159
+ If passed, type conversion is attempted
160
+ If omitted no type conversion is done.
161
+ _visited_composed_classes (tuple): This stores a tuple of
162
+ classes that we have traveled through so that
163
+ if we see that class again we will not use its
164
+ discriminator again.
165
+ When traveling through a discriminator, the
166
+ composed schema that is
167
+ is traveled through is added to this set.
168
+ For example if Animal has a discriminator
169
+ petType and we pass in "Dog", and the class Dog
170
+ allOf includes Animal, we move through Animal
171
+ once using the discriminator, and pick Dog.
172
+ Then in Dog, we will make an instance of the
173
+ Animal class but this time we won't travel
174
+ through its discriminator because we passed in
175
+ _visited_composed_classes = (Animal,)
176
+ adset_ids ([str], none_type): List of adset ids to filter.. [optional] # noqa: E501
177
+ campaign_ids ([str], none_type): List of campaign ids to filter.. [optional] # noqa: E501
178
+ currency (str, none_type): The currency used for the report. ISO 4217 code (three-letter capitals).. [optional] if omitted the server will use the default value of "EUR" # noqa: E501
179
+ dimensions ([str], none_type): List of dimensions for the report.. [optional] if omitted the server will use the default value of ["AdvertiserId","Advertiser","CampaignId","Campaign","AdsetId","Adset","Day","Hour"] # noqa: E501
180
+ lookback_window (int): The number of hours to consider in the past.. [optional] if omitted the server will use the default value of 12 # noqa: E501
181
+ metrics ([str], none_type): List of metrics for the report.. [optional] if omitted the server will use the default value of ["Displays","Clicks","Cost"] # noqa: E501
182
+ timezone (str, none_type): The timezone used for the report.. [optional] if omitted the server will use the default value of "UTC" # noqa: E501
183
+ """
184
+
185
+ _check_type = kwargs.pop('_check_type', True)
186
+ _spec_property_naming = kwargs.pop('_spec_property_naming', True)
187
+ _path_to_item = kwargs.pop('_path_to_item', ())
188
+ _configuration = kwargs.pop('_configuration', None)
189
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
190
+
191
+ self = super(OpenApiModel, cls).__new__(cls)
192
+
193
+ if args:
194
+ for arg in args:
195
+ if isinstance(arg, dict):
196
+ kwargs.update(arg)
197
+ else:
198
+ raise ApiTypeError(
199
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
200
+ args,
201
+ self.__class__.__name__,
202
+ ),
203
+ path_to_item=_path_to_item,
204
+ valid_classes=(self.__class__,),
205
+ )
206
+
207
+ self._data_store = {}
208
+ self._check_type = _check_type
209
+ self._spec_property_naming = _spec_property_naming
210
+ self._path_to_item = _path_to_item
211
+ self._configuration = _configuration
212
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
213
+
214
+ self.advertiser_ids = advertiser_ids
215
+ for var_name, var_value in kwargs.items():
216
+ if var_name not in self.attribute_map and \
217
+ self._configuration is not None and \
218
+ self._configuration.discard_unknown_keys and \
219
+ self.additional_properties_type is None:
220
+ # discard variable.
221
+ continue
222
+ setattr(self, var_name, var_value)
223
+ return self
224
+
225
+ required_properties = set([
226
+ '_data_store',
227
+ '_check_type',
228
+ '_spec_property_naming',
229
+ '_path_to_item',
230
+ '_configuration',
231
+ '_visited_composed_classes',
232
+ ])
233
+
234
+ @convert_js_args_to_python_args
235
+ def __init__(self, advertiser_ids, *args, **kwargs): # noqa: E501
236
+ """GenerateRealtimeStatisticsReportRequestAttributes - a model defined in OpenAPI
237
+
238
+ Args:
239
+ advertiser_ids ([str]): List of advertiser ids to report on.
240
+
241
+ Keyword Args:
242
+ _check_type (bool): if True, values for parameters in openapi_types
243
+ will be type checked and a TypeError will be
244
+ raised if the wrong type is input.
245
+ Defaults to True
246
+ _path_to_item (tuple/list): This is a list of keys or values to
247
+ drill down to the model in received_data
248
+ when deserializing a response
249
+ _spec_property_naming (bool): True if the variable names in the input data
250
+ are serialized names, as specified in the OpenAPI document.
251
+ False if the variable names in the input data
252
+ are pythonic names, e.g. snake case (default)
253
+ _configuration (Configuration): the instance to use when
254
+ deserializing a file_type parameter.
255
+ If passed, type conversion is attempted
256
+ If omitted no type conversion is done.
257
+ _visited_composed_classes (tuple): This stores a tuple of
258
+ classes that we have traveled through so that
259
+ if we see that class again we will not use its
260
+ discriminator again.
261
+ When traveling through a discriminator, the
262
+ composed schema that is
263
+ is traveled through is added to this set.
264
+ For example if Animal has a discriminator
265
+ petType and we pass in "Dog", and the class Dog
266
+ allOf includes Animal, we move through Animal
267
+ once using the discriminator, and pick Dog.
268
+ Then in Dog, we will make an instance of the
269
+ Animal class but this time we won't travel
270
+ through its discriminator because we passed in
271
+ _visited_composed_classes = (Animal,)
272
+ adset_ids ([str], none_type): List of adset ids to filter.. [optional] # noqa: E501
273
+ campaign_ids ([str], none_type): List of campaign ids to filter.. [optional] # noqa: E501
274
+ currency (str, none_type): The currency used for the report. ISO 4217 code (three-letter capitals).. [optional] if omitted the server will use the default value of "EUR" # noqa: E501
275
+ dimensions ([str], none_type): List of dimensions for the report.. [optional] if omitted the server will use the default value of ["AdvertiserId","Advertiser","CampaignId","Campaign","AdsetId","Adset","Day","Hour"] # noqa: E501
276
+ lookback_window (int): The number of hours to consider in the past.. [optional] if omitted the server will use the default value of 12 # noqa: E501
277
+ metrics ([str], none_type): List of metrics for the report.. [optional] if omitted the server will use the default value of ["Displays","Clicks","Cost"] # noqa: E501
278
+ timezone (str, none_type): The timezone used for the report.. [optional] if omitted the server will use the default value of "UTC" # noqa: E501
279
+ """
280
+
281
+ _check_type = kwargs.pop('_check_type', True)
282
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
283
+ _path_to_item = kwargs.pop('_path_to_item', ())
284
+ _configuration = kwargs.pop('_configuration', None)
285
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
286
+
287
+ if args:
288
+ for arg in args:
289
+ if isinstance(arg, dict):
290
+ kwargs.update(arg)
291
+ else:
292
+ raise ApiTypeError(
293
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
294
+ args,
295
+ self.__class__.__name__,
296
+ ),
297
+ path_to_item=_path_to_item,
298
+ valid_classes=(self.__class__,),
299
+ )
300
+
301
+ self._data_store = {}
302
+ self._check_type = _check_type
303
+ self._spec_property_naming = _spec_property_naming
304
+ self._path_to_item = _path_to_item
305
+ self._configuration = _configuration
306
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
307
+
308
+ self.advertiser_ids = advertiser_ids
309
+ for var_name, var_value in kwargs.items():
310
+ if var_name not in self.attribute_map and \
311
+ self._configuration is not None and \
312
+ self._configuration.discard_unknown_keys and \
313
+ self.additional_properties_type is None:
314
+ # discard variable.
315
+ continue
316
+ setattr(self, var_name, var_value)
317
+ if var_name in self.read_only_vars:
318
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
319
+ f"class with read only attributes.")
@@ -0,0 +1,262 @@
1
+ """
2
+ Criteo API
3
+
4
+ Criteo API - MarketingSolutions # noqa: E501
5
+
6
+ The version of the OpenAPI document: preview
7
+ Generated by: https://openapi-generator.tech
8
+ """
9
+
10
+
11
+ import re # noqa: F401
12
+ import sys # noqa: F401
13
+
14
+ from criteo_api_marketingsolutions_preview.model_utils import ( # noqa: F401
15
+ ApiTypeError,
16
+ ModelComposed,
17
+ ModelNormal,
18
+ ModelSimple,
19
+ cached_property,
20
+ change_keys_js_to_python,
21
+ convert_js_args_to_python_args,
22
+ date,
23
+ datetime,
24
+ file_type,
25
+ none_type,
26
+ validate_get_composed_info,
27
+ OpenApiModel
28
+ )
29
+ from criteo_api_marketingsolutions_preview.exceptions import ApiAttributeError
30
+
31
+
32
+ def lazy_import():
33
+ from criteo_api_marketingsolutions_preview.model.generate_realtime_statistics_report_request_attributes_resource import GenerateRealtimeStatisticsReportRequestAttributesResource
34
+ globals()['GenerateRealtimeStatisticsReportRequestAttributesResource'] = GenerateRealtimeStatisticsReportRequestAttributesResource
35
+
36
+
37
+ class GenerateRealtimeStatisticsReportRequestAttributesRequest(ModelNormal):
38
+ """NOTE: This class is auto generated by OpenAPI Generator.
39
+ Ref: https://openapi-generator.tech
40
+
41
+ Do not edit the class manually.
42
+
43
+ Attributes:
44
+ allowed_values (dict): The key is the tuple path to the attribute
45
+ and the for var_name this is (var_name,). The value is a dict
46
+ with a capitalized key describing the allowed value and an allowed
47
+ value. These dicts store the allowed enum values.
48
+ attribute_map (dict): The key is attribute name
49
+ and the value is json key in definition.
50
+ discriminator_value_class_map (dict): A dict to go from the discriminator
51
+ variable value to the discriminator class name.
52
+ validations (dict): The key is the tuple path to the attribute
53
+ and the for var_name this is (var_name,). The value is a dict
54
+ that stores validations for max_length, min_length, max_items,
55
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
56
+ inclusive_minimum, and regex.
57
+ additional_properties_type (tuple): A tuple of classes accepted
58
+ as additional properties values.
59
+ """
60
+
61
+ allowed_values = {
62
+ }
63
+
64
+ validations = {
65
+ }
66
+
67
+ additional_properties_type = None
68
+
69
+ _nullable = False
70
+
71
+ @cached_property
72
+ def openapi_types():
73
+ """
74
+ This must be a method because a model may have properties that are
75
+ of type self, this must run after the class is loaded
76
+
77
+ Returns
78
+ openapi_types (dict): The key is attribute name
79
+ and the value is attribute type.
80
+ """
81
+ lazy_import()
82
+ return {
83
+ 'data': (GenerateRealtimeStatisticsReportRequestAttributesResource,), # noqa: E501
84
+ }
85
+
86
+ @cached_property
87
+ def discriminator():
88
+ return None
89
+
90
+
91
+ attribute_map = {
92
+ 'data': 'data', # noqa: E501
93
+ }
94
+
95
+ read_only_vars = {
96
+ }
97
+
98
+ _composed_schemas = {}
99
+
100
+ @classmethod
101
+ @convert_js_args_to_python_args
102
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
103
+ """GenerateRealtimeStatisticsReportRequestAttributesRequest - a model defined in OpenAPI
104
+
105
+ Keyword Args:
106
+ _check_type (bool): if True, values for parameters in openapi_types
107
+ will be type checked and a TypeError will be
108
+ raised if the wrong type is input.
109
+ Defaults to True
110
+ _path_to_item (tuple/list): This is a list of keys or values to
111
+ drill down to the model in received_data
112
+ when deserializing a response
113
+ _spec_property_naming (bool): True if the variable names in the input data
114
+ are serialized names, as specified in the OpenAPI document.
115
+ False if the variable names in the input data
116
+ are pythonic names, e.g. snake case (default)
117
+ _configuration (Configuration): the instance to use when
118
+ deserializing a file_type parameter.
119
+ If passed, type conversion is attempted
120
+ If omitted no type conversion is done.
121
+ _visited_composed_classes (tuple): This stores a tuple of
122
+ classes that we have traveled through so that
123
+ if we see that class again we will not use its
124
+ discriminator again.
125
+ When traveling through a discriminator, the
126
+ composed schema that is
127
+ is traveled through is added to this set.
128
+ For example if Animal has a discriminator
129
+ petType and we pass in "Dog", and the class Dog
130
+ allOf includes Animal, we move through Animal
131
+ once using the discriminator, and pick Dog.
132
+ Then in Dog, we will make an instance of the
133
+ Animal class but this time we won't travel
134
+ through its discriminator because we passed in
135
+ _visited_composed_classes = (Animal,)
136
+ data (GenerateRealtimeStatisticsReportRequestAttributesResource): [optional] # noqa: E501
137
+ """
138
+
139
+ _check_type = kwargs.pop('_check_type', True)
140
+ _spec_property_naming = kwargs.pop('_spec_property_naming', True)
141
+ _path_to_item = kwargs.pop('_path_to_item', ())
142
+ _configuration = kwargs.pop('_configuration', None)
143
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
144
+
145
+ self = super(OpenApiModel, cls).__new__(cls)
146
+
147
+ if args:
148
+ for arg in args:
149
+ if isinstance(arg, dict):
150
+ kwargs.update(arg)
151
+ else:
152
+ raise ApiTypeError(
153
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
154
+ args,
155
+ self.__class__.__name__,
156
+ ),
157
+ path_to_item=_path_to_item,
158
+ valid_classes=(self.__class__,),
159
+ )
160
+
161
+ self._data_store = {}
162
+ self._check_type = _check_type
163
+ self._spec_property_naming = _spec_property_naming
164
+ self._path_to_item = _path_to_item
165
+ self._configuration = _configuration
166
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
167
+
168
+ for var_name, var_value in kwargs.items():
169
+ if var_name not in self.attribute_map and \
170
+ self._configuration is not None and \
171
+ self._configuration.discard_unknown_keys and \
172
+ self.additional_properties_type is None:
173
+ # discard variable.
174
+ continue
175
+ setattr(self, var_name, var_value)
176
+ return self
177
+
178
+ required_properties = set([
179
+ '_data_store',
180
+ '_check_type',
181
+ '_spec_property_naming',
182
+ '_path_to_item',
183
+ '_configuration',
184
+ '_visited_composed_classes',
185
+ ])
186
+
187
+ @convert_js_args_to_python_args
188
+ def __init__(self, *args, **kwargs): # noqa: E501
189
+ """GenerateRealtimeStatisticsReportRequestAttributesRequest - a model defined in OpenAPI
190
+
191
+ Keyword Args:
192
+ _check_type (bool): if True, values for parameters in openapi_types
193
+ will be type checked and a TypeError will be
194
+ raised if the wrong type is input.
195
+ Defaults to True
196
+ _path_to_item (tuple/list): This is a list of keys or values to
197
+ drill down to the model in received_data
198
+ when deserializing a response
199
+ _spec_property_naming (bool): True if the variable names in the input data
200
+ are serialized names, as specified in the OpenAPI document.
201
+ False if the variable names in the input data
202
+ are pythonic names, e.g. snake case (default)
203
+ _configuration (Configuration): the instance to use when
204
+ deserializing a file_type parameter.
205
+ If passed, type conversion is attempted
206
+ If omitted no type conversion is done.
207
+ _visited_composed_classes (tuple): This stores a tuple of
208
+ classes that we have traveled through so that
209
+ if we see that class again we will not use its
210
+ discriminator again.
211
+ When traveling through a discriminator, the
212
+ composed schema that is
213
+ is traveled through is added to this set.
214
+ For example if Animal has a discriminator
215
+ petType and we pass in "Dog", and the class Dog
216
+ allOf includes Animal, we move through Animal
217
+ once using the discriminator, and pick Dog.
218
+ Then in Dog, we will make an instance of the
219
+ Animal class but this time we won't travel
220
+ through its discriminator because we passed in
221
+ _visited_composed_classes = (Animal,)
222
+ data (GenerateRealtimeStatisticsReportRequestAttributesResource): [optional] # noqa: E501
223
+ """
224
+
225
+ _check_type = kwargs.pop('_check_type', True)
226
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
227
+ _path_to_item = kwargs.pop('_path_to_item', ())
228
+ _configuration = kwargs.pop('_configuration', None)
229
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
230
+
231
+ if args:
232
+ for arg in args:
233
+ if isinstance(arg, dict):
234
+ kwargs.update(arg)
235
+ else:
236
+ raise ApiTypeError(
237
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
238
+ args,
239
+ self.__class__.__name__,
240
+ ),
241
+ path_to_item=_path_to_item,
242
+ valid_classes=(self.__class__,),
243
+ )
244
+
245
+ self._data_store = {}
246
+ self._check_type = _check_type
247
+ self._spec_property_naming = _spec_property_naming
248
+ self._path_to_item = _path_to_item
249
+ self._configuration = _configuration
250
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
251
+
252
+ for var_name, var_value in kwargs.items():
253
+ if var_name not in self.attribute_map and \
254
+ self._configuration is not None and \
255
+ self._configuration.discard_unknown_keys and \
256
+ self.additional_properties_type is None:
257
+ # discard variable.
258
+ continue
259
+ setattr(self, var_name, var_value)
260
+ if var_name in self.read_only_vars:
261
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
262
+ f"class with read only attributes.")
@@ -0,0 +1,266 @@
1
+ """
2
+ Criteo API
3
+
4
+ Criteo API - MarketingSolutions # noqa: E501
5
+
6
+ The version of the OpenAPI document: preview
7
+ Generated by: https://openapi-generator.tech
8
+ """
9
+
10
+
11
+ import re # noqa: F401
12
+ import sys # noqa: F401
13
+
14
+ from criteo_api_marketingsolutions_preview.model_utils import ( # noqa: F401
15
+ ApiTypeError,
16
+ ModelComposed,
17
+ ModelNormal,
18
+ ModelSimple,
19
+ cached_property,
20
+ change_keys_js_to_python,
21
+ convert_js_args_to_python_args,
22
+ date,
23
+ datetime,
24
+ file_type,
25
+ none_type,
26
+ validate_get_composed_info,
27
+ OpenApiModel
28
+ )
29
+ from criteo_api_marketingsolutions_preview.exceptions import ApiAttributeError
30
+
31
+
32
+ def lazy_import():
33
+ from criteo_api_marketingsolutions_preview.model.generate_realtime_statistics_report_request_attributes import GenerateRealtimeStatisticsReportRequestAttributes
34
+ globals()['GenerateRealtimeStatisticsReportRequestAttributes'] = GenerateRealtimeStatisticsReportRequestAttributes
35
+
36
+
37
+ class GenerateRealtimeStatisticsReportRequestAttributesResource(ModelNormal):
38
+ """NOTE: This class is auto generated by OpenAPI Generator.
39
+ Ref: https://openapi-generator.tech
40
+
41
+ Do not edit the class manually.
42
+
43
+ Attributes:
44
+ allowed_values (dict): The key is the tuple path to the attribute
45
+ and the for var_name this is (var_name,). The value is a dict
46
+ with a capitalized key describing the allowed value and an allowed
47
+ value. These dicts store the allowed enum values.
48
+ attribute_map (dict): The key is attribute name
49
+ and the value is json key in definition.
50
+ discriminator_value_class_map (dict): A dict to go from the discriminator
51
+ variable value to the discriminator class name.
52
+ validations (dict): The key is the tuple path to the attribute
53
+ and the for var_name this is (var_name,). The value is a dict
54
+ that stores validations for max_length, min_length, max_items,
55
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
56
+ inclusive_minimum, and regex.
57
+ additional_properties_type (tuple): A tuple of classes accepted
58
+ as additional properties values.
59
+ """
60
+
61
+ allowed_values = {
62
+ }
63
+
64
+ validations = {
65
+ }
66
+
67
+ additional_properties_type = None
68
+
69
+ _nullable = False
70
+
71
+ @cached_property
72
+ def openapi_types():
73
+ """
74
+ This must be a method because a model may have properties that are
75
+ of type self, this must run after the class is loaded
76
+
77
+ Returns
78
+ openapi_types (dict): The key is attribute name
79
+ and the value is attribute type.
80
+ """
81
+ lazy_import()
82
+ return {
83
+ 'attributes': (GenerateRealtimeStatisticsReportRequestAttributes,), # noqa: E501
84
+ 'type': (str, none_type,), # noqa: E501
85
+ }
86
+
87
+ @cached_property
88
+ def discriminator():
89
+ return None
90
+
91
+
92
+ attribute_map = {
93
+ 'attributes': 'attributes', # noqa: E501
94
+ 'type': 'type', # noqa: E501
95
+ }
96
+
97
+ read_only_vars = {
98
+ }
99
+
100
+ _composed_schemas = {}
101
+
102
+ @classmethod
103
+ @convert_js_args_to_python_args
104
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
105
+ """GenerateRealtimeStatisticsReportRequestAttributesResource - a model defined in OpenAPI
106
+
107
+ Keyword Args:
108
+ _check_type (bool): if True, values for parameters in openapi_types
109
+ will be type checked and a TypeError will be
110
+ raised if the wrong type is input.
111
+ Defaults to True
112
+ _path_to_item (tuple/list): This is a list of keys or values to
113
+ drill down to the model in received_data
114
+ when deserializing a response
115
+ _spec_property_naming (bool): True if the variable names in the input data
116
+ are serialized names, as specified in the OpenAPI document.
117
+ False if the variable names in the input data
118
+ are pythonic names, e.g. snake case (default)
119
+ _configuration (Configuration): the instance to use when
120
+ deserializing a file_type parameter.
121
+ If passed, type conversion is attempted
122
+ If omitted no type conversion is done.
123
+ _visited_composed_classes (tuple): This stores a tuple of
124
+ classes that we have traveled through so that
125
+ if we see that class again we will not use its
126
+ discriminator again.
127
+ When traveling through a discriminator, the
128
+ composed schema that is
129
+ is traveled through is added to this set.
130
+ For example if Animal has a discriminator
131
+ petType and we pass in "Dog", and the class Dog
132
+ allOf includes Animal, we move through Animal
133
+ once using the discriminator, and pick Dog.
134
+ Then in Dog, we will make an instance of the
135
+ Animal class but this time we won't travel
136
+ through its discriminator because we passed in
137
+ _visited_composed_classes = (Animal,)
138
+ attributes (GenerateRealtimeStatisticsReportRequestAttributes): [optional] # noqa: E501
139
+ type (str, none_type): Type of the resource.. [optional] # noqa: E501
140
+ """
141
+
142
+ _check_type = kwargs.pop('_check_type', True)
143
+ _spec_property_naming = kwargs.pop('_spec_property_naming', True)
144
+ _path_to_item = kwargs.pop('_path_to_item', ())
145
+ _configuration = kwargs.pop('_configuration', None)
146
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
147
+
148
+ self = super(OpenApiModel, cls).__new__(cls)
149
+
150
+ if args:
151
+ for arg in args:
152
+ if isinstance(arg, dict):
153
+ kwargs.update(arg)
154
+ else:
155
+ raise ApiTypeError(
156
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
157
+ args,
158
+ self.__class__.__name__,
159
+ ),
160
+ path_to_item=_path_to_item,
161
+ valid_classes=(self.__class__,),
162
+ )
163
+
164
+ self._data_store = {}
165
+ self._check_type = _check_type
166
+ self._spec_property_naming = _spec_property_naming
167
+ self._path_to_item = _path_to_item
168
+ self._configuration = _configuration
169
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
170
+
171
+ for var_name, var_value in kwargs.items():
172
+ if var_name not in self.attribute_map and \
173
+ self._configuration is not None and \
174
+ self._configuration.discard_unknown_keys and \
175
+ self.additional_properties_type is None:
176
+ # discard variable.
177
+ continue
178
+ setattr(self, var_name, var_value)
179
+ return self
180
+
181
+ required_properties = set([
182
+ '_data_store',
183
+ '_check_type',
184
+ '_spec_property_naming',
185
+ '_path_to_item',
186
+ '_configuration',
187
+ '_visited_composed_classes',
188
+ ])
189
+
190
+ @convert_js_args_to_python_args
191
+ def __init__(self, *args, **kwargs): # noqa: E501
192
+ """GenerateRealtimeStatisticsReportRequestAttributesResource - a model defined in OpenAPI
193
+
194
+ Keyword Args:
195
+ _check_type (bool): if True, values for parameters in openapi_types
196
+ will be type checked and a TypeError will be
197
+ raised if the wrong type is input.
198
+ Defaults to True
199
+ _path_to_item (tuple/list): This is a list of keys or values to
200
+ drill down to the model in received_data
201
+ when deserializing a response
202
+ _spec_property_naming (bool): True if the variable names in the input data
203
+ are serialized names, as specified in the OpenAPI document.
204
+ False if the variable names in the input data
205
+ are pythonic names, e.g. snake case (default)
206
+ _configuration (Configuration): the instance to use when
207
+ deserializing a file_type parameter.
208
+ If passed, type conversion is attempted
209
+ If omitted no type conversion is done.
210
+ _visited_composed_classes (tuple): This stores a tuple of
211
+ classes that we have traveled through so that
212
+ if we see that class again we will not use its
213
+ discriminator again.
214
+ When traveling through a discriminator, the
215
+ composed schema that is
216
+ is traveled through is added to this set.
217
+ For example if Animal has a discriminator
218
+ petType and we pass in "Dog", and the class Dog
219
+ allOf includes Animal, we move through Animal
220
+ once using the discriminator, and pick Dog.
221
+ Then in Dog, we will make an instance of the
222
+ Animal class but this time we won't travel
223
+ through its discriminator because we passed in
224
+ _visited_composed_classes = (Animal,)
225
+ attributes (GenerateRealtimeStatisticsReportRequestAttributes): [optional] # noqa: E501
226
+ type (str, none_type): Type of the resource.. [optional] # noqa: E501
227
+ """
228
+
229
+ _check_type = kwargs.pop('_check_type', True)
230
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
231
+ _path_to_item = kwargs.pop('_path_to_item', ())
232
+ _configuration = kwargs.pop('_configuration', None)
233
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
234
+
235
+ if args:
236
+ for arg in args:
237
+ if isinstance(arg, dict):
238
+ kwargs.update(arg)
239
+ else:
240
+ raise ApiTypeError(
241
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
242
+ args,
243
+ self.__class__.__name__,
244
+ ),
245
+ path_to_item=_path_to_item,
246
+ valid_classes=(self.__class__,),
247
+ )
248
+
249
+ self._data_store = {}
250
+ self._check_type = _check_type
251
+ self._spec_property_naming = _spec_property_naming
252
+ self._path_to_item = _path_to_item
253
+ self._configuration = _configuration
254
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
255
+
256
+ for var_name, var_value in kwargs.items():
257
+ if var_name not in self.attribute_map and \
258
+ self._configuration is not None and \
259
+ self._configuration.discard_unknown_keys and \
260
+ self.additional_properties_type is None:
261
+ # discard variable.
262
+ continue
263
+ setattr(self, var_name, var_value)
264
+ if var_name in self.read_only_vars:
265
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
266
+ f"class with read only attributes.")
@@ -77,13 +77,6 @@ class SetAdSetTargetingVideoPositioning(ModelNormal):
77
77
  'MIDROLL': "MidRoll",
78
78
  'POSTROLL': "PostRoll",
79
79
  },
80
- ('video_placement',): {
81
- 'INBANNER': "InBanner",
82
- 'INARTICLE': "InArticle",
83
- 'INFEED': "InFeed",
84
- 'INTERSTITIAL': "Interstitial",
85
- 'INSTREAM': "InStream",
86
- },
87
80
  ('video_player_size',): {
88
81
  'SMALL': "Small",
89
82
  'MEDIUM': "Medium",
@@ -105,8 +98,6 @@ class SetAdSetTargetingVideoPositioning(ModelNormal):
105
98
  },
106
99
  ('video_in_stream_position',): {
107
100
  },
108
- ('video_placement',): {
109
- },
110
101
  ('video_player_size',): {
111
102
  },
112
103
  ('video_plcmt',): {
@@ -138,7 +129,6 @@ class SetAdSetTargetingVideoPositioning(ModelNormal):
138
129
  'skippable': (str,), # noqa: E501
139
130
  'video_aspect_ratio': ([str],), # noqa: E501
140
131
  'video_in_stream_position': ([str],), # noqa: E501
141
- 'video_placement': ([str],), # noqa: E501
142
132
  'video_player_size': ([str],), # noqa: E501
143
133
  'video_plcmt': ([str],), # noqa: E501
144
134
  }
@@ -153,7 +143,6 @@ class SetAdSetTargetingVideoPositioning(ModelNormal):
153
143
  'skippable': 'skippable', # noqa: E501
154
144
  'video_aspect_ratio': 'videoAspectRatio', # noqa: E501
155
145
  'video_in_stream_position': 'videoInStreamPosition', # noqa: E501
156
- 'video_placement': 'videoPlacement', # noqa: E501
157
146
  'video_player_size': 'videoPlayerSize', # noqa: E501
158
147
  'video_plcmt': 'videoPlcmt', # noqa: E501
159
148
  }
@@ -203,7 +192,6 @@ class SetAdSetTargetingVideoPositioning(ModelNormal):
203
192
  skippable (str): [optional] # noqa: E501
204
193
  video_aspect_ratio ([str]): [optional] # noqa: E501
205
194
  video_in_stream_position ([str]): [optional] # noqa: E501
206
- video_placement ([str]): [optional] # noqa: E501
207
195
  video_player_size ([str]): [optional] # noqa: E501
208
196
  video_plcmt ([str]): [optional] # noqa: E501
209
197
  """
@@ -295,7 +283,6 @@ class SetAdSetTargetingVideoPositioning(ModelNormal):
295
283
  skippable (str): [optional] # noqa: E501
296
284
  video_aspect_ratio ([str]): [optional] # noqa: E501
297
285
  video_in_stream_position ([str]): [optional] # noqa: E501
298
- video_placement ([str]): [optional] # noqa: E501
299
286
  video_player_size ([str]): [optional] # noqa: E501
300
287
  video_plcmt ([str]): [optional] # noqa: E501
301
288
  """
@@ -197,6 +197,9 @@ from criteo_api_marketingsolutions_preview.model.generate_categories_report_requ
197
197
  from criteo_api_marketingsolutions_preview.model.generate_creatives_report_request_attributes import GenerateCreativesReportRequestAttributes
198
198
  from criteo_api_marketingsolutions_preview.model.generate_creatives_report_request_attributes_request import GenerateCreativesReportRequestAttributesRequest
199
199
  from criteo_api_marketingsolutions_preview.model.generate_creatives_report_request_attributes_resource import GenerateCreativesReportRequestAttributesResource
200
+ from criteo_api_marketingsolutions_preview.model.generate_realtime_statistics_report_request_attributes import GenerateRealtimeStatisticsReportRequestAttributes
201
+ from criteo_api_marketingsolutions_preview.model.generate_realtime_statistics_report_request_attributes_request import GenerateRealtimeStatisticsReportRequestAttributesRequest
202
+ from criteo_api_marketingsolutions_preview.model.generate_realtime_statistics_report_request_attributes_resource import GenerateRealtimeStatisticsReportRequestAttributesResource
200
203
  from criteo_api_marketingsolutions_preview.model.generate_statistics_report import GenerateStatisticsReport
201
204
  from criteo_api_marketingsolutions_preview.model.generate_statistics_report_request import GenerateStatisticsReportRequest
202
205
  from criteo_api_marketingsolutions_preview.model.generate_statistics_report_resource import GenerateStatisticsReportResource
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: criteo-api-marketingsolutions-sdk
3
- Version: 0.0.250425
3
+ Version: 0.0.250618
4
4
  Summary: Criteo API SDK
5
5
  Home-page: https://github.com/criteo/criteo-api-python-sdk
6
6
  Author: Criteo
@@ -35,9 +35,9 @@ IMPORTANT: This Python package links to Criteo production environment. Any test
35
35
 
36
36
 
37
37
  ```sh
38
- pip install criteo-api-marketingsolutions-sdk==0.0.250425
38
+ pip install criteo-api-marketingsolutions-sdk==0.0.250618
39
39
  ```
40
- (you may need to run `pip` with root permission: `sudo pip install criteo-api-marketingsolutions-sdk==0.0.250425`)
40
+ (you may need to run `pip` with root permission: `sudo pip install criteo-api-marketingsolutions-sdk==0.0.250618`)
41
41
 
42
42
  Then import the package:
43
43
  ```python
@@ -1,7 +1,7 @@
1
- criteo_api_marketingsolutions_preview/__init__.py,sha256=QRbLXNwBjLiOXrVpfrlMhFhAeLrdWmw2kSQ-KgE8SIE,1107
2
- criteo_api_marketingsolutions_preview/api_client.py,sha256=hOeGotJ5DOcyx6tgcIU-Nq_zAaQ7ZxHxApYdpMp6tOE,39246
1
+ criteo_api_marketingsolutions_preview/__init__.py,sha256=31FYfsUikmWCcDPTUACTfoehppxgI1B1l7pYAdvGMiM,1107
2
+ criteo_api_marketingsolutions_preview/api_client.py,sha256=WEqkpkofYUGdUhY524z0_Wc7nDs8S-VV4D2xg43cKSg,39246
3
3
  criteo_api_marketingsolutions_preview/api_client_builder.py,sha256=2W-j9f5re32PZooV4BngIi3AvmOOpKl7SAEQc6FXVWg,1525
4
- criteo_api_marketingsolutions_preview/configuration.py,sha256=ciXqtOUUdyJSwYr2dsQXotDMUb4b5CmtRmUtyE2zrHI,16735
4
+ criteo_api_marketingsolutions_preview/configuration.py,sha256=G0jqJlgCpv4J8pg3H0HX1YFkVT2WWnULCcJChOxfB3w,16735
5
5
  criteo_api_marketingsolutions_preview/criteo_api_client.py,sha256=4uNu3e__oYicTD-lcpFerUCXl3c3_7LEugoMFqfRTM8,666
6
6
  criteo_api_marketingsolutions_preview/criteo_auth.py,sha256=RXBNjv9iz2JSqB25me0iMWN7jfeKRYe0EF6y37hw__A,4714
7
7
  criteo_api_marketingsolutions_preview/criteo_rest.py,sha256=oIDGHdVI2kWe1st1X7IHl8OAa1zJn7g1uQUSKYWwFDc,3431
@@ -11,7 +11,7 @@ criteo_api_marketingsolutions_preview/model_utils.py,sha256=OqB47LPk4BdfrwEfgTli
11
11
  criteo_api_marketingsolutions_preview/rest.py,sha256=gpirp65_kE91iWii0MkGUL4BSxNWTeUrea4VIv7i5fE,14255
12
12
  criteo_api_marketingsolutions_preview/api/__init__.py,sha256=pyzFTbyUcV2DhfsX0qU5ScOa78505IDsd_KbkUsVXm0,244
13
13
  criteo_api_marketingsolutions_preview/api/advertiser_api.py,sha256=9QM_NHWb7sOmUHEWcMaWu57sKKymMf9i1DiFb_epXWs,21873
14
- criteo_api_marketingsolutions_preview/api/analytics_api.py,sha256=PpaDGHlRWopFwaGTCJZpwwll6lzZv-zXvCHmfeWoZ_Q,63764
14
+ criteo_api_marketingsolutions_preview/api/analytics_api.py,sha256=ak6ZHDn4Mpg9wOavwTfKoapO0vB5EYYF1fhijiRTKzo,69693
15
15
  criteo_api_marketingsolutions_preview/api/audience_api.py,sha256=aju91v-dtC0u1tVCL9W0hMtIBqaUXefy3FgPssp6nC0,109920
16
16
  criteo_api_marketingsolutions_preview/api/campaign_api.py,sha256=pax7AD7BLC6OPUZryrbWX9-ueaCWo4-LFL2EWEvUdTo,216278
17
17
  criteo_api_marketingsolutions_preview/api/catalog_api.py,sha256=meyh-JZgV0OlTmhUid-w4mX-nwblPzzYMLm68SI1Src,17885
@@ -47,7 +47,7 @@ criteo_api_marketingsolutions_preview/model/ad_set_targeting_deal_ids_set_result
47
47
  criteo_api_marketingsolutions_preview/model/ad_set_targeting_rule_v24_q3.py,sha256=BpzDVCnLHgeBmHQZgXk8U2hYkpTn9mVA5pBHM2ydqtY,11802
48
48
  criteo_api_marketingsolutions_preview/model/ad_set_targeting_v24_q3.py,sha256=8jpjDsCJke0s9K_CY_N24ABydH3fPWcV2tT94RzBHDs,12855
49
49
  criteo_api_marketingsolutions_preview/model/ad_set_targeting_v24_q3_frequency_capping.py,sha256=IrADVa9agEnkKXHEcRQ1RmL4o958bHjP3v7QJfxbhxE,11798
50
- criteo_api_marketingsolutions_preview/model/ad_set_targeting_video_positioning.py,sha256=hlXHy5tyX_zR4EH5-QQ9ZAB4xiwOZRDe3fuA2dK60eI,15050
50
+ criteo_api_marketingsolutions_preview/model/ad_set_targeting_video_positioning.py,sha256=uMdUesPLKPQ8HZgM-EAhqQ_wZnpw3uBcGnADimqISy4,14481
51
51
  criteo_api_marketingsolutions_preview/model/ad_set_targeting_video_positioning_disable_result_resource.py,sha256=E8hkPXXZQELwvnUvMiQIPCcxQinsT72d4cJhE_ojJyk,12098
52
52
  criteo_api_marketingsolutions_preview/model/ad_set_targeting_video_positioning_disable_result_response.py,sha256=M8u1Bhy8BO1kb97gdrLXZiarv-Kh98beqMt19K81mqs,12815
53
53
  criteo_api_marketingsolutions_preview/model/ad_set_targeting_video_positioning_resource.py,sha256=hUU0s8WMeJsG2O7Xz24boRGi27Fc4L26ZPzWWq-SatY,12070
@@ -136,7 +136,7 @@ criteo_api_marketingsolutions_preview/model/basic_audience_definition.py,sha256=
136
136
  criteo_api_marketingsolutions_preview/model/batch_accepted_response.py,sha256=qQRnEhdPPTxozngB64bCHfeYOIrmaXnVBfx3_TT67aw,11589
137
137
  criteo_api_marketingsolutions_preview/model/behavioral_v1.py,sha256=at5G7s8BzHCPCJw2kkJhmWLOn7aP-zmuL3xLtFmtVW8,12707
138
138
  criteo_api_marketingsolutions_preview/model/budget_automation.py,sha256=G9QR0E_xAYDp2rXxKjB-nM-hQpNuc204xCg-Re5oFJ4,12030
139
- criteo_api_marketingsolutions_preview/model/budget_automation_configuration.py,sha256=5hb68ycz9-3orH6gXgX3PfXzg52YU_7mtKmpVAOSsLM,11707
139
+ criteo_api_marketingsolutions_preview/model/budget_automation_configuration.py,sha256=nWCPjQ0YzQM3nXQ_vUNHZMPsupfsl03KX4Rj2FNVIxA,11706
140
140
  criteo_api_marketingsolutions_preview/model/campaign_budget_automation_v23_q1.py,sha256=d8vuYHRBJtOIRlj3FFObbqhJnPNENeMOUOcZTDw-vlA,12180
141
141
  criteo_api_marketingsolutions_preview/model/campaign_search_filters_v23_q1.py,sha256=tP_trzZjxQbLRs_nMDw8cAX0l08KWlhfjHycORrMomI,11786
142
142
  criteo_api_marketingsolutions_preview/model/campaign_search_request_v23_q1.py,sha256=liv6nor1PeTGu35G-RSrjTv12aUMOFgbAsWzoJAq0ck,11781
@@ -209,6 +209,9 @@ criteo_api_marketingsolutions_preview/model/generate_categories_report_request_a
209
209
  criteo_api_marketingsolutions_preview/model/generate_creatives_report_request_attributes.py,sha256=yj5C7fYvz_bCT0P1t_k6_h5oN5NIDgzPr8W_OuZBX4k,16609
210
210
  criteo_api_marketingsolutions_preview/model/generate_creatives_report_request_attributes_request.py,sha256=ftu4NNt3zG_vhyerANwCyNDJCMpJgYkKOWNiY56tzRY,11687
211
211
  criteo_api_marketingsolutions_preview/model/generate_creatives_report_request_attributes_resource.py,sha256=zwlpeb9AuYRXh94R7j88_GDUvBJEZNgl9g6J6kQactM,11920
212
+ criteo_api_marketingsolutions_preview/model/generate_realtime_statistics_report_request_attributes.py,sha256=91A_lPnguVqyEhgMA_kppnuT-mJTemHoGfRl1b5GOFU,15289
213
+ criteo_api_marketingsolutions_preview/model/generate_realtime_statistics_report_request_attributes_request.py,sha256=PcMo1698tEBUkHbZCq2qX595dG7gKHOfPHTjHRZRGzA,11778
214
+ criteo_api_marketingsolutions_preview/model/generate_realtime_statistics_report_request_attributes_resource.py,sha256=LsoKoLfXT0aMxVcvun_uAo2BNP153odHodXRBXdJIX8,12011
212
215
  criteo_api_marketingsolutions_preview/model/generate_statistics_report.py,sha256=e5--Jm7AxL6rQDu8smVZhlnoTZve869W-sfUS-OLImg,32255
213
216
  criteo_api_marketingsolutions_preview/model/generate_statistics_report_request.py,sha256=Q6eRIja8b29-Hcnrby8qVMXrcqcpJxr51kQZ6TMvXNk,11525
214
217
  criteo_api_marketingsolutions_preview/model/generate_statistics_report_resource.py,sha256=tQ-ZxPv1BeijU_wV9PeKqCC0mRrA5wqHqOva0j8Q_4M,11758
@@ -354,7 +357,7 @@ criteo_api_marketingsolutions_preview/model/retargeting_v1.py,sha256=E4uiF5RY0Fx
354
357
  criteo_api_marketingsolutions_preview/model/set_ad_set_targeting_deal_ids.py,sha256=yeT0PgEtDsfh6OASthTUl-CoWlojUpq-otOmlb0U0hY,11678
355
358
  criteo_api_marketingsolutions_preview/model/set_ad_set_targeting_deal_ids_request.py,sha256=6LFS-NQoIUf7f2FpYBXCwIsgTNt5qhzqVB_cnPgAcv0,11825
356
359
  criteo_api_marketingsolutions_preview/model/set_ad_set_targeting_deal_ids_resource.py,sha256=M4PQ_CLNYcn6GKJY5yIbGRo4IJzIGGPqypuQhRjpFwY,11979
357
- criteo_api_marketingsolutions_preview/model/set_ad_set_targeting_video_positioning.py,sha256=IntU_QRg6DyCW_pDDucj3j_dMG7e-cZTQFQJpSN-E_0,14647
360
+ criteo_api_marketingsolutions_preview/model/set_ad_set_targeting_video_positioning.py,sha256=M8vDpauBKETWe4fdfviafcmP-M3vsiu5YcCZ64JEiCs,14137
358
361
  criteo_api_marketingsolutions_preview/model/set_ad_set_targeting_video_positioning_request.py,sha256=Wr9VaFeGWmWEgyU4TlXLNrGwfuNtOUYUMiPIi2tygkA,11915
359
362
  criteo_api_marketingsolutions_preview/model/set_ad_set_targeting_video_positioning_resource.py,sha256=vRkgCOLV7TVijwO0PDZzKJJ16kAnttiS8GVWE1YV6mo,12069
360
363
  criteo_api_marketingsolutions_preview/model/size.py,sha256=2LS2JlAtW94RDnj4E5TpBbeh1miT6GSEkJMAxMloggE,11634
@@ -389,8 +392,8 @@ criteo_api_marketingsolutions_preview/model/value_resource_outcome_of_product_fi
389
392
  criteo_api_marketingsolutions_preview/model/video_detail.py,sha256=d28efhqjo3gkR_kANhLUJtrOlQHcdsJk0c48giAKc7o,12436
390
393
  criteo_api_marketingsolutions_preview/model/write_model_ad_set_id.py,sha256=rGso-xlxkPu39QATgZs4XYwGa0FV8zp8ReeeDWH7guQ,11755
391
394
  criteo_api_marketingsolutions_preview/model/write_model_patch_ad_set_v24_q3.py,sha256=8CS2RUr7WkaQb48GuajPEuhT42_wjKVZcFf5JREQr5A,12234
392
- criteo_api_marketingsolutions_preview/models/__init__.py,sha256=n1tFtQ8Rmc5ncucXsmdLeXEf4TymGHkA9hYTLC5G86U,41942
393
- criteo_api_marketingsolutions_sdk-0.0.250425.dist-info/METADATA,sha256=WbE9bXAkM9EqynfGfyqQRaGtx11iNpCROw6BoGwmS3o,1876
394
- criteo_api_marketingsolutions_sdk-0.0.250425.dist-info/WHEEL,sha256=SmOxYU7pzNKBqASvQJ7DjX3XGUF92lrGhMb3R6_iiqI,91
395
- criteo_api_marketingsolutions_sdk-0.0.250425.dist-info/top_level.txt,sha256=4xVpjptYrJ_AiVXZAhkhYuSp6rJRgq_VrBDhg-Eyi5Y,38
396
- criteo_api_marketingsolutions_sdk-0.0.250425.dist-info/RECORD,,
395
+ criteo_api_marketingsolutions_preview/models/__init__.py,sha256=oXYdFCM-yh58_v9IsmrCAtCHDjiiLU-iKMTQnV6SLgA,42457
396
+ criteo_api_marketingsolutions_sdk-0.0.250618.dist-info/METADATA,sha256=6GbhR1QZniL9SJqB0evJt__34WSMg5n9Ka9hVVHN4RU,1876
397
+ criteo_api_marketingsolutions_sdk-0.0.250618.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
398
+ criteo_api_marketingsolutions_sdk-0.0.250618.dist-info/top_level.txt,sha256=4xVpjptYrJ_AiVXZAhkhYuSp6rJRgq_VrBDhg-Eyi5Y,38
399
+ criteo_api_marketingsolutions_sdk-0.0.250618.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (79.0.1)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5