criteo-api-retailmedia-sdk 0.0.250825__py3-none-any.whl → 0.0.250902__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-retailmedia-sdk might be problematic. Click here for more details.
- criteo_api_retailmedia_preview/__init__.py +1 -1
- criteo_api_retailmedia_preview/api/campaign_api.py +4 -6
- criteo_api_retailmedia_preview/api/catalog_api.py +445 -0
- criteo_api_retailmedia_preview/api_client.py +1 -1
- criteo_api_retailmedia_preview/configuration.py +1 -1
- criteo_api_retailmedia_preview/model/async_accounts_report.py +14 -0
- criteo_api_retailmedia_preview/model/async_campaigns_report.py +14 -0
- criteo_api_retailmedia_preview/model/async_fill_rate_report.py +10 -0
- criteo_api_retailmedia_preview/model/async_job_response.py +257 -0
- criteo_api_retailmedia_preview/model/async_line_items_report.py +14 -0
- criteo_api_retailmedia_preview/model/async_offsite_report.py +3 -3
- criteo_api_retailmedia_preview/model/line_item_capping_v2.py +1 -1
- criteo_api_retailmedia_preview/model/load_sku_offers_request.py +272 -0
- criteo_api_retailmedia_preview/model/offer_load.py +289 -0
- criteo_api_retailmedia_preview/model/offer_update.py +287 -0
- criteo_api_retailmedia_preview/model/set_sku_buy_box_winners_request.py +272 -0
- criteo_api_retailmedia_preview/model/sku_buy_box_winner.py +269 -0
- criteo_api_retailmedia_preview/model/sku_offer_load.py +278 -0
- criteo_api_retailmedia_preview/model/sponsored_products_line_item.py +43 -44
- criteo_api_retailmedia_preview/model/sponsored_products_line_item_create_request_model.py +32 -34
- criteo_api_retailmedia_preview/model/sync_attributed_transactions_report.py +10 -0
- criteo_api_retailmedia_preview/model/update_offers_request.py +272 -0
- criteo_api_retailmedia_preview/model/value_resource_async_job_response.py +266 -0
- criteo_api_retailmedia_preview/model/value_resource_input_load_sku_offers_request.py +262 -0
- criteo_api_retailmedia_preview/model/value_resource_input_set_sku_buy_box_winners_request.py +262 -0
- criteo_api_retailmedia_preview/model/value_resource_input_update_offers_request.py +262 -0
- criteo_api_retailmedia_preview/model/value_resource_load_sku_offers_request.py +266 -0
- criteo_api_retailmedia_preview/model/value_resource_outcome_async_job_response.py +274 -0
- criteo_api_retailmedia_preview/model/value_resource_set_sku_buy_box_winners_request.py +266 -0
- criteo_api_retailmedia_preview/model/value_resource_update_offers_request.py +266 -0
- criteo_api_retailmedia_preview/models/__init__.py +16 -0
- {criteo_api_retailmedia_sdk-0.0.250825.dist-info → criteo_api_retailmedia_sdk-0.0.250902.dist-info}/METADATA +3 -3
- {criteo_api_retailmedia_sdk-0.0.250825.dist-info → criteo_api_retailmedia_sdk-0.0.250902.dist-info}/RECORD +35 -19
- {criteo_api_retailmedia_sdk-0.0.250825.dist-info → criteo_api_retailmedia_sdk-0.0.250902.dist-info}/WHEEL +0 -0
- {criteo_api_retailmedia_sdk-0.0.250825.dist-info → criteo_api_retailmedia_sdk-0.0.250902.dist-info}/top_level.txt +0 -0
|
@@ -66,6 +66,7 @@ class AsyncFillRateReport(ModelNormal):
|
|
|
66
66
|
'SERVEDCATEGORY': "servedCategory",
|
|
67
67
|
'RETAILERCATEGORYID': "retailerCategoryId",
|
|
68
68
|
'RETAILERCATEGORYNAME': "retailerCategoryName",
|
|
69
|
+
'ADSERVERTYPE': "adServerType",
|
|
69
70
|
},
|
|
70
71
|
('metrics',): {
|
|
71
72
|
'PAGEVIEWS': "pageViews",
|
|
@@ -88,6 +89,11 @@ class AsyncFillRateReport(ModelNormal):
|
|
|
88
89
|
'WORKINGMEDIA': "workingMedia",
|
|
89
90
|
'NETREVENUE': "netRevenue",
|
|
90
91
|
},
|
|
92
|
+
('ad_server_type',): {
|
|
93
|
+
'ALL': "all",
|
|
94
|
+
'GAM': "gam",
|
|
95
|
+
'CRITEO': "criteo",
|
|
96
|
+
},
|
|
91
97
|
('format',): {
|
|
92
98
|
'JSON': "json",
|
|
93
99
|
'JSON-COMPACT': "json-compact",
|
|
@@ -131,6 +137,7 @@ class AsyncFillRateReport(ModelNormal):
|
|
|
131
137
|
'metrics': ([str],), # noqa: E501
|
|
132
138
|
'start_date': (datetime,), # noqa: E501
|
|
133
139
|
'supply_account_ids': ([str],), # noqa: E501
|
|
140
|
+
'ad_server_type': (str,), # noqa: E501
|
|
134
141
|
'format': (str,), # noqa: E501
|
|
135
142
|
'timezone': (str,), # noqa: E501
|
|
136
143
|
}
|
|
@@ -146,6 +153,7 @@ class AsyncFillRateReport(ModelNormal):
|
|
|
146
153
|
'metrics': 'metrics', # noqa: E501
|
|
147
154
|
'start_date': 'startDate', # noqa: E501
|
|
148
155
|
'supply_account_ids': 'supplyAccountIds', # noqa: E501
|
|
156
|
+
'ad_server_type': 'adServerType', # noqa: E501
|
|
149
157
|
'format': 'format', # noqa: E501
|
|
150
158
|
'timezone': 'timezone', # noqa: E501
|
|
151
159
|
}
|
|
@@ -198,6 +206,7 @@ class AsyncFillRateReport(ModelNormal):
|
|
|
198
206
|
Animal class but this time we won't travel
|
|
199
207
|
through its discriminator because we passed in
|
|
200
208
|
_visited_composed_classes = (Animal,)
|
|
209
|
+
ad_server_type (str): Filter on the type of the ad server: criteo, gam, all. [optional] if omitted the server will use the default value of "all" # noqa: E501
|
|
201
210
|
format (str): Format of the output. [optional] if omitted the server will use the default value of "json" # noqa: E501
|
|
202
211
|
timezone (str): Time zone : see criteo developer portal for supported time zones. [optional] if omitted the server will use the default value of "UTC" # noqa: E501
|
|
203
212
|
"""
|
|
@@ -297,6 +306,7 @@ class AsyncFillRateReport(ModelNormal):
|
|
|
297
306
|
Animal class but this time we won't travel
|
|
298
307
|
through its discriminator because we passed in
|
|
299
308
|
_visited_composed_classes = (Animal,)
|
|
309
|
+
ad_server_type (str): Filter on the type of the ad server: criteo, gam, all. [optional] if omitted the server will use the default value of "all" # noqa: E501
|
|
300
310
|
format (str): Format of the output. [optional] if omitted the server will use the default value of "json" # noqa: E501
|
|
301
311
|
timezone (str): Time zone : see criteo developer portal for supported time zones. [optional] if omitted the server will use the default value of "UTC" # noqa: E501
|
|
302
312
|
"""
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Criteo API
|
|
3
|
+
|
|
4
|
+
Criteo API - RetailMedia # 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_retailmedia_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_retailmedia_preview.exceptions import ApiAttributeError
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class AsyncJobResponse(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
|
+
}
|
|
59
|
+
|
|
60
|
+
validations = {
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
additional_properties_type = None
|
|
64
|
+
|
|
65
|
+
_nullable = True
|
|
66
|
+
|
|
67
|
+
@cached_property
|
|
68
|
+
def openapi_types():
|
|
69
|
+
"""
|
|
70
|
+
This must be a method because a model may have properties that are
|
|
71
|
+
of type self, this must run after the class is loaded
|
|
72
|
+
|
|
73
|
+
Returns
|
|
74
|
+
openapi_types (dict): The key is attribute name
|
|
75
|
+
and the value is attribute type.
|
|
76
|
+
"""
|
|
77
|
+
return {
|
|
78
|
+
'job_id': (str, none_type,), # noqa: E501
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
@cached_property
|
|
82
|
+
def discriminator():
|
|
83
|
+
return None
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
attribute_map = {
|
|
87
|
+
'job_id': 'jobId', # noqa: E501
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
read_only_vars = {
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
_composed_schemas = {}
|
|
94
|
+
|
|
95
|
+
@classmethod
|
|
96
|
+
@convert_js_args_to_python_args
|
|
97
|
+
def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
|
|
98
|
+
"""AsyncJobResponse - a model defined in OpenAPI
|
|
99
|
+
|
|
100
|
+
Keyword Args:
|
|
101
|
+
_check_type (bool): if True, values for parameters in openapi_types
|
|
102
|
+
will be type checked and a TypeError will be
|
|
103
|
+
raised if the wrong type is input.
|
|
104
|
+
Defaults to True
|
|
105
|
+
_path_to_item (tuple/list): This is a list of keys or values to
|
|
106
|
+
drill down to the model in received_data
|
|
107
|
+
when deserializing a response
|
|
108
|
+
_spec_property_naming (bool): True if the variable names in the input data
|
|
109
|
+
are serialized names, as specified in the OpenAPI document.
|
|
110
|
+
False if the variable names in the input data
|
|
111
|
+
are pythonic names, e.g. snake case (default)
|
|
112
|
+
_configuration (Configuration): the instance to use when
|
|
113
|
+
deserializing a file_type parameter.
|
|
114
|
+
If passed, type conversion is attempted
|
|
115
|
+
If omitted no type conversion is done.
|
|
116
|
+
_visited_composed_classes (tuple): This stores a tuple of
|
|
117
|
+
classes that we have traveled through so that
|
|
118
|
+
if we see that class again we will not use its
|
|
119
|
+
discriminator again.
|
|
120
|
+
When traveling through a discriminator, the
|
|
121
|
+
composed schema that is
|
|
122
|
+
is traveled through is added to this set.
|
|
123
|
+
For example if Animal has a discriminator
|
|
124
|
+
petType and we pass in "Dog", and the class Dog
|
|
125
|
+
allOf includes Animal, we move through Animal
|
|
126
|
+
once using the discriminator, and pick Dog.
|
|
127
|
+
Then in Dog, we will make an instance of the
|
|
128
|
+
Animal class but this time we won't travel
|
|
129
|
+
through its discriminator because we passed in
|
|
130
|
+
_visited_composed_classes = (Animal,)
|
|
131
|
+
job_id (str, none_type): [optional] # noqa: E501
|
|
132
|
+
"""
|
|
133
|
+
|
|
134
|
+
_check_type = kwargs.pop('_check_type', True)
|
|
135
|
+
_spec_property_naming = kwargs.pop('_spec_property_naming', True)
|
|
136
|
+
_path_to_item = kwargs.pop('_path_to_item', ())
|
|
137
|
+
_configuration = kwargs.pop('_configuration', None)
|
|
138
|
+
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
|
|
139
|
+
|
|
140
|
+
self = super(OpenApiModel, cls).__new__(cls)
|
|
141
|
+
|
|
142
|
+
if args:
|
|
143
|
+
for arg in args:
|
|
144
|
+
if isinstance(arg, dict):
|
|
145
|
+
kwargs.update(arg)
|
|
146
|
+
else:
|
|
147
|
+
raise ApiTypeError(
|
|
148
|
+
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
|
|
149
|
+
args,
|
|
150
|
+
self.__class__.__name__,
|
|
151
|
+
),
|
|
152
|
+
path_to_item=_path_to_item,
|
|
153
|
+
valid_classes=(self.__class__,),
|
|
154
|
+
)
|
|
155
|
+
|
|
156
|
+
self._data_store = {}
|
|
157
|
+
self._check_type = _check_type
|
|
158
|
+
self._spec_property_naming = _spec_property_naming
|
|
159
|
+
self._path_to_item = _path_to_item
|
|
160
|
+
self._configuration = _configuration
|
|
161
|
+
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
|
|
162
|
+
|
|
163
|
+
for var_name, var_value in kwargs.items():
|
|
164
|
+
if var_name not in self.attribute_map and \
|
|
165
|
+
self._configuration is not None and \
|
|
166
|
+
self._configuration.discard_unknown_keys and \
|
|
167
|
+
self.additional_properties_type is None:
|
|
168
|
+
# discard variable.
|
|
169
|
+
continue
|
|
170
|
+
setattr(self, var_name, var_value)
|
|
171
|
+
return self
|
|
172
|
+
|
|
173
|
+
required_properties = set([
|
|
174
|
+
'_data_store',
|
|
175
|
+
'_check_type',
|
|
176
|
+
'_spec_property_naming',
|
|
177
|
+
'_path_to_item',
|
|
178
|
+
'_configuration',
|
|
179
|
+
'_visited_composed_classes',
|
|
180
|
+
])
|
|
181
|
+
|
|
182
|
+
@convert_js_args_to_python_args
|
|
183
|
+
def __init__(self, *args, **kwargs): # noqa: E501
|
|
184
|
+
"""AsyncJobResponse - a model defined in OpenAPI
|
|
185
|
+
|
|
186
|
+
Keyword Args:
|
|
187
|
+
_check_type (bool): if True, values for parameters in openapi_types
|
|
188
|
+
will be type checked and a TypeError will be
|
|
189
|
+
raised if the wrong type is input.
|
|
190
|
+
Defaults to True
|
|
191
|
+
_path_to_item (tuple/list): This is a list of keys or values to
|
|
192
|
+
drill down to the model in received_data
|
|
193
|
+
when deserializing a response
|
|
194
|
+
_spec_property_naming (bool): True if the variable names in the input data
|
|
195
|
+
are serialized names, as specified in the OpenAPI document.
|
|
196
|
+
False if the variable names in the input data
|
|
197
|
+
are pythonic names, e.g. snake case (default)
|
|
198
|
+
_configuration (Configuration): the instance to use when
|
|
199
|
+
deserializing a file_type parameter.
|
|
200
|
+
If passed, type conversion is attempted
|
|
201
|
+
If omitted no type conversion is done.
|
|
202
|
+
_visited_composed_classes (tuple): This stores a tuple of
|
|
203
|
+
classes that we have traveled through so that
|
|
204
|
+
if we see that class again we will not use its
|
|
205
|
+
discriminator again.
|
|
206
|
+
When traveling through a discriminator, the
|
|
207
|
+
composed schema that is
|
|
208
|
+
is traveled through is added to this set.
|
|
209
|
+
For example if Animal has a discriminator
|
|
210
|
+
petType and we pass in "Dog", and the class Dog
|
|
211
|
+
allOf includes Animal, we move through Animal
|
|
212
|
+
once using the discriminator, and pick Dog.
|
|
213
|
+
Then in Dog, we will make an instance of the
|
|
214
|
+
Animal class but this time we won't travel
|
|
215
|
+
through its discriminator because we passed in
|
|
216
|
+
_visited_composed_classes = (Animal,)
|
|
217
|
+
job_id (str, none_type): [optional] # noqa: E501
|
|
218
|
+
"""
|
|
219
|
+
|
|
220
|
+
_check_type = kwargs.pop('_check_type', True)
|
|
221
|
+
_spec_property_naming = kwargs.pop('_spec_property_naming', False)
|
|
222
|
+
_path_to_item = kwargs.pop('_path_to_item', ())
|
|
223
|
+
_configuration = kwargs.pop('_configuration', None)
|
|
224
|
+
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
|
|
225
|
+
|
|
226
|
+
if args:
|
|
227
|
+
for arg in args:
|
|
228
|
+
if isinstance(arg, dict):
|
|
229
|
+
kwargs.update(arg)
|
|
230
|
+
else:
|
|
231
|
+
raise ApiTypeError(
|
|
232
|
+
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
|
|
233
|
+
args,
|
|
234
|
+
self.__class__.__name__,
|
|
235
|
+
),
|
|
236
|
+
path_to_item=_path_to_item,
|
|
237
|
+
valid_classes=(self.__class__,),
|
|
238
|
+
)
|
|
239
|
+
|
|
240
|
+
self._data_store = {}
|
|
241
|
+
self._check_type = _check_type
|
|
242
|
+
self._spec_property_naming = _spec_property_naming
|
|
243
|
+
self._path_to_item = _path_to_item
|
|
244
|
+
self._configuration = _configuration
|
|
245
|
+
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
|
|
246
|
+
|
|
247
|
+
for var_name, var_value in kwargs.items():
|
|
248
|
+
if var_name not in self.attribute_map and \
|
|
249
|
+
self._configuration is not None and \
|
|
250
|
+
self._configuration.discard_unknown_keys and \
|
|
251
|
+
self.additional_properties_type is None:
|
|
252
|
+
# discard variable.
|
|
253
|
+
continue
|
|
254
|
+
setattr(self, var_name, var_value)
|
|
255
|
+
if var_name in self.read_only_vars:
|
|
256
|
+
raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
|
|
257
|
+
f"class with read only attributes.")
|
|
@@ -84,6 +84,7 @@ class AsyncLineItemsReport(ModelNormal):
|
|
|
84
84
|
'ADVPRODUCTID': "advProductId",
|
|
85
85
|
'ADVPRODUCTNAME': "advProductName",
|
|
86
86
|
'SALESCHANNEL': "salesChannel",
|
|
87
|
+
'MEDIATYPE': "mediaType",
|
|
87
88
|
'ENVIRONMENT': "environment",
|
|
88
89
|
'PAGETYPENAME': "pageTypeName",
|
|
89
90
|
'PAGECATEGORY': "pageCategory",
|
|
@@ -107,6 +108,12 @@ class AsyncLineItemsReport(ModelNormal):
|
|
|
107
108
|
'JSON-NEWLINE': "json-newline",
|
|
108
109
|
'CSV': "csv",
|
|
109
110
|
},
|
|
111
|
+
('media_type',): {
|
|
112
|
+
'UNKNOWN': "unknown",
|
|
113
|
+
'VIDEO': "video",
|
|
114
|
+
'DISPLAY': "display",
|
|
115
|
+
'ALL': "all",
|
|
116
|
+
},
|
|
110
117
|
('metrics',): {
|
|
111
118
|
'IMPRESSIONS': "impressions",
|
|
112
119
|
'CLICKS': "clicks",
|
|
@@ -145,6 +152,9 @@ class AsyncLineItemsReport(ModelNormal):
|
|
|
145
152
|
'NEWTOBRANDATTRIBUTEDUNITSRATE': "newToBrandAttributedUnitsRate",
|
|
146
153
|
'UNIQUEVISITORS': "uniqueVisitors",
|
|
147
154
|
'FREQUENCY': "frequency",
|
|
155
|
+
'WINRATE': "winRate",
|
|
156
|
+
'SAMPLEDBIDSWON': "sampledBidsWon",
|
|
157
|
+
'SAMPLEDBIDSPARTICIPATED': "sampledBidsParticipated",
|
|
148
158
|
},
|
|
149
159
|
('report_type',): {
|
|
150
160
|
'SUMMARY': "summary",
|
|
@@ -219,6 +229,7 @@ class AsyncLineItemsReport(ModelNormal):
|
|
|
219
229
|
'format': (str,), # noqa: E501
|
|
220
230
|
'id': (str,), # noqa: E501
|
|
221
231
|
'ids': ([str],), # noqa: E501
|
|
232
|
+
'media_type': (str,), # noqa: E501
|
|
222
233
|
'metrics': ([str],), # noqa: E501
|
|
223
234
|
'report_type': (str,), # noqa: E501
|
|
224
235
|
'sales_channel': (str,), # noqa: E501
|
|
@@ -243,6 +254,7 @@ class AsyncLineItemsReport(ModelNormal):
|
|
|
243
254
|
'format': 'format', # noqa: E501
|
|
244
255
|
'id': 'id', # noqa: E501
|
|
245
256
|
'ids': 'ids', # noqa: E501
|
|
257
|
+
'media_type': 'mediaType', # noqa: E501
|
|
246
258
|
'metrics': 'metrics', # noqa: E501
|
|
247
259
|
'report_type': 'reportType', # noqa: E501
|
|
248
260
|
'sales_channel': 'salesChannel', # noqa: E501
|
|
@@ -304,6 +316,7 @@ class AsyncLineItemsReport(ModelNormal):
|
|
|
304
316
|
format (str): Format of the output. [optional] if omitted the server will use the default value of "json-compact" # noqa: E501
|
|
305
317
|
id (str): Line Item id to report on. [optional] # noqa: E501
|
|
306
318
|
ids ([str]): Line Item ids to report on. [optional] # noqa: E501
|
|
319
|
+
media_type (str): Filter on the type of media: unknown, display, video. [optional] if omitted the server will use the default value of "all" # noqa: E501
|
|
307
320
|
metrics ([str]): List of metrics to report on. [optional] # noqa: E501
|
|
308
321
|
report_type (str): Type of report, if no dimensions and metrics are provided, falls back to summary reportType. [optional] if omitted the server will use the default value of "summary" # noqa: E501
|
|
309
322
|
sales_channel (str): Filter on specific sales channel: offline or online. [optional] if omitted the server will use the default value of "all" # noqa: E501
|
|
@@ -409,6 +422,7 @@ class AsyncLineItemsReport(ModelNormal):
|
|
|
409
422
|
format (str): Format of the output. [optional] if omitted the server will use the default value of "json-compact" # noqa: E501
|
|
410
423
|
id (str): Line Item id to report on. [optional] # noqa: E501
|
|
411
424
|
ids ([str]): Line Item ids to report on. [optional] # noqa: E501
|
|
425
|
+
media_type (str): Filter on the type of media: unknown, display, video. [optional] if omitted the server will use the default value of "all" # noqa: E501
|
|
412
426
|
metrics ([str]): List of metrics to report on. [optional] # noqa: E501
|
|
413
427
|
report_type (str): Type of report, if no dimensions and metrics are provided, falls back to summary reportType. [optional] if omitted the server will use the default value of "summary" # noqa: E501
|
|
414
428
|
sales_channel (str): Filter on specific sales channel: offline or online. [optional] if omitted the server will use the default value of "all" # noqa: E501
|
|
@@ -81,7 +81,7 @@ class AsyncOffsiteReport(ModelNormal):
|
|
|
81
81
|
},
|
|
82
82
|
('metrics',): {
|
|
83
83
|
'AUDIENCE': "audience",
|
|
84
|
-
'
|
|
84
|
+
'UNIQUEVISITORS': "uniqueVisitors",
|
|
85
85
|
'REACHRATE': "reachRate",
|
|
86
86
|
'IMPRESSIONS': "impressions",
|
|
87
87
|
'FREQUENCY': "frequency",
|
|
@@ -93,8 +93,8 @@ class AsyncOffsiteReport(ModelNormal):
|
|
|
93
93
|
'ECPM': "ecpm",
|
|
94
94
|
'CPM': "cpm",
|
|
95
95
|
'SPEND': "spend",
|
|
96
|
-
'
|
|
97
|
-
'
|
|
96
|
+
'ATTRIBUTEDUNITS': "attributedUnits",
|
|
97
|
+
'ATTRIBUTEDSALES': "attributedSales",
|
|
98
98
|
'ROAS': "roas",
|
|
99
99
|
'VIDEOSTARTS': "videoStarts",
|
|
100
100
|
'VIDEOSPLAYEDTO25': "videosPlayedTo25",
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Criteo API
|
|
3
|
+
|
|
4
|
+
Criteo API - RetailMedia # 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_retailmedia_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_retailmedia_preview.exceptions import ApiAttributeError
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def lazy_import():
|
|
33
|
+
from criteo_api_retailmedia_preview.model.sku_offer_load import SkuOfferLoad
|
|
34
|
+
globals()['SkuOfferLoad'] = SkuOfferLoad
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class LoadSkuOffersRequest(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
|
+
('sku_offer_loads',): {
|
|
66
|
+
'max_items': 5000,
|
|
67
|
+
'min_items': 1,
|
|
68
|
+
},
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
additional_properties_type = None
|
|
72
|
+
|
|
73
|
+
_nullable = False
|
|
74
|
+
|
|
75
|
+
@cached_property
|
|
76
|
+
def openapi_types():
|
|
77
|
+
"""
|
|
78
|
+
This must be a method because a model may have properties that are
|
|
79
|
+
of type self, this must run after the class is loaded
|
|
80
|
+
|
|
81
|
+
Returns
|
|
82
|
+
openapi_types (dict): The key is attribute name
|
|
83
|
+
and the value is attribute type.
|
|
84
|
+
"""
|
|
85
|
+
lazy_import()
|
|
86
|
+
return {
|
|
87
|
+
'sku_offer_loads': ([SkuOfferLoad],), # noqa: E501
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
@cached_property
|
|
91
|
+
def discriminator():
|
|
92
|
+
return None
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
attribute_map = {
|
|
96
|
+
'sku_offer_loads': 'skuOfferLoads', # noqa: E501
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
read_only_vars = {
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
_composed_schemas = {}
|
|
103
|
+
|
|
104
|
+
@classmethod
|
|
105
|
+
@convert_js_args_to_python_args
|
|
106
|
+
def _from_openapi_data(cls, sku_offer_loads, *args, **kwargs): # noqa: E501
|
|
107
|
+
"""LoadSkuOffersRequest - a model defined in OpenAPI
|
|
108
|
+
|
|
109
|
+
Args:
|
|
110
|
+
sku_offer_loads ([SkuOfferLoad]):
|
|
111
|
+
|
|
112
|
+
Keyword Args:
|
|
113
|
+
_check_type (bool): if True, values for parameters in openapi_types
|
|
114
|
+
will be type checked and a TypeError will be
|
|
115
|
+
raised if the wrong type is input.
|
|
116
|
+
Defaults to True
|
|
117
|
+
_path_to_item (tuple/list): This is a list of keys or values to
|
|
118
|
+
drill down to the model in received_data
|
|
119
|
+
when deserializing a response
|
|
120
|
+
_spec_property_naming (bool): True if the variable names in the input data
|
|
121
|
+
are serialized names, as specified in the OpenAPI document.
|
|
122
|
+
False if the variable names in the input data
|
|
123
|
+
are pythonic names, e.g. snake case (default)
|
|
124
|
+
_configuration (Configuration): the instance to use when
|
|
125
|
+
deserializing a file_type parameter.
|
|
126
|
+
If passed, type conversion is attempted
|
|
127
|
+
If omitted no type conversion is done.
|
|
128
|
+
_visited_composed_classes (tuple): This stores a tuple of
|
|
129
|
+
classes that we have traveled through so that
|
|
130
|
+
if we see that class again we will not use its
|
|
131
|
+
discriminator again.
|
|
132
|
+
When traveling through a discriminator, the
|
|
133
|
+
composed schema that is
|
|
134
|
+
is traveled through is added to this set.
|
|
135
|
+
For example if Animal has a discriminator
|
|
136
|
+
petType and we pass in "Dog", and the class Dog
|
|
137
|
+
allOf includes Animal, we move through Animal
|
|
138
|
+
once using the discriminator, and pick Dog.
|
|
139
|
+
Then in Dog, we will make an instance of the
|
|
140
|
+
Animal class but this time we won't travel
|
|
141
|
+
through its discriminator because we passed in
|
|
142
|
+
_visited_composed_classes = (Animal,)
|
|
143
|
+
"""
|
|
144
|
+
|
|
145
|
+
_check_type = kwargs.pop('_check_type', True)
|
|
146
|
+
_spec_property_naming = kwargs.pop('_spec_property_naming', True)
|
|
147
|
+
_path_to_item = kwargs.pop('_path_to_item', ())
|
|
148
|
+
_configuration = kwargs.pop('_configuration', None)
|
|
149
|
+
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
|
|
150
|
+
|
|
151
|
+
self = super(OpenApiModel, cls).__new__(cls)
|
|
152
|
+
|
|
153
|
+
if args:
|
|
154
|
+
for arg in args:
|
|
155
|
+
if isinstance(arg, dict):
|
|
156
|
+
kwargs.update(arg)
|
|
157
|
+
else:
|
|
158
|
+
raise ApiTypeError(
|
|
159
|
+
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
|
|
160
|
+
args,
|
|
161
|
+
self.__class__.__name__,
|
|
162
|
+
),
|
|
163
|
+
path_to_item=_path_to_item,
|
|
164
|
+
valid_classes=(self.__class__,),
|
|
165
|
+
)
|
|
166
|
+
|
|
167
|
+
self._data_store = {}
|
|
168
|
+
self._check_type = _check_type
|
|
169
|
+
self._spec_property_naming = _spec_property_naming
|
|
170
|
+
self._path_to_item = _path_to_item
|
|
171
|
+
self._configuration = _configuration
|
|
172
|
+
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
|
|
173
|
+
|
|
174
|
+
self.sku_offer_loads = sku_offer_loads
|
|
175
|
+
for var_name, var_value in kwargs.items():
|
|
176
|
+
if var_name not in self.attribute_map and \
|
|
177
|
+
self._configuration is not None and \
|
|
178
|
+
self._configuration.discard_unknown_keys and \
|
|
179
|
+
self.additional_properties_type is None:
|
|
180
|
+
# discard variable.
|
|
181
|
+
continue
|
|
182
|
+
setattr(self, var_name, var_value)
|
|
183
|
+
return self
|
|
184
|
+
|
|
185
|
+
required_properties = set([
|
|
186
|
+
'_data_store',
|
|
187
|
+
'_check_type',
|
|
188
|
+
'_spec_property_naming',
|
|
189
|
+
'_path_to_item',
|
|
190
|
+
'_configuration',
|
|
191
|
+
'_visited_composed_classes',
|
|
192
|
+
])
|
|
193
|
+
|
|
194
|
+
@convert_js_args_to_python_args
|
|
195
|
+
def __init__(self, sku_offer_loads, *args, **kwargs): # noqa: E501
|
|
196
|
+
"""LoadSkuOffersRequest - a model defined in OpenAPI
|
|
197
|
+
|
|
198
|
+
Args:
|
|
199
|
+
sku_offer_loads ([SkuOfferLoad]):
|
|
200
|
+
|
|
201
|
+
Keyword Args:
|
|
202
|
+
_check_type (bool): if True, values for parameters in openapi_types
|
|
203
|
+
will be type checked and a TypeError will be
|
|
204
|
+
raised if the wrong type is input.
|
|
205
|
+
Defaults to True
|
|
206
|
+
_path_to_item (tuple/list): This is a list of keys or values to
|
|
207
|
+
drill down to the model in received_data
|
|
208
|
+
when deserializing a response
|
|
209
|
+
_spec_property_naming (bool): True if the variable names in the input data
|
|
210
|
+
are serialized names, as specified in the OpenAPI document.
|
|
211
|
+
False if the variable names in the input data
|
|
212
|
+
are pythonic names, e.g. snake case (default)
|
|
213
|
+
_configuration (Configuration): the instance to use when
|
|
214
|
+
deserializing a file_type parameter.
|
|
215
|
+
If passed, type conversion is attempted
|
|
216
|
+
If omitted no type conversion is done.
|
|
217
|
+
_visited_composed_classes (tuple): This stores a tuple of
|
|
218
|
+
classes that we have traveled through so that
|
|
219
|
+
if we see that class again we will not use its
|
|
220
|
+
discriminator again.
|
|
221
|
+
When traveling through a discriminator, the
|
|
222
|
+
composed schema that is
|
|
223
|
+
is traveled through is added to this set.
|
|
224
|
+
For example if Animal has a discriminator
|
|
225
|
+
petType and we pass in "Dog", and the class Dog
|
|
226
|
+
allOf includes Animal, we move through Animal
|
|
227
|
+
once using the discriminator, and pick Dog.
|
|
228
|
+
Then in Dog, we will make an instance of the
|
|
229
|
+
Animal class but this time we won't travel
|
|
230
|
+
through its discriminator because we passed in
|
|
231
|
+
_visited_composed_classes = (Animal,)
|
|
232
|
+
"""
|
|
233
|
+
|
|
234
|
+
_check_type = kwargs.pop('_check_type', True)
|
|
235
|
+
_spec_property_naming = kwargs.pop('_spec_property_naming', False)
|
|
236
|
+
_path_to_item = kwargs.pop('_path_to_item', ())
|
|
237
|
+
_configuration = kwargs.pop('_configuration', None)
|
|
238
|
+
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
|
|
239
|
+
|
|
240
|
+
if args:
|
|
241
|
+
for arg in args:
|
|
242
|
+
if isinstance(arg, dict):
|
|
243
|
+
kwargs.update(arg)
|
|
244
|
+
else:
|
|
245
|
+
raise ApiTypeError(
|
|
246
|
+
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
|
|
247
|
+
args,
|
|
248
|
+
self.__class__.__name__,
|
|
249
|
+
),
|
|
250
|
+
path_to_item=_path_to_item,
|
|
251
|
+
valid_classes=(self.__class__,),
|
|
252
|
+
)
|
|
253
|
+
|
|
254
|
+
self._data_store = {}
|
|
255
|
+
self._check_type = _check_type
|
|
256
|
+
self._spec_property_naming = _spec_property_naming
|
|
257
|
+
self._path_to_item = _path_to_item
|
|
258
|
+
self._configuration = _configuration
|
|
259
|
+
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
|
|
260
|
+
|
|
261
|
+
self.sku_offer_loads = sku_offer_loads
|
|
262
|
+
for var_name, var_value in kwargs.items():
|
|
263
|
+
if var_name not in self.attribute_map and \
|
|
264
|
+
self._configuration is not None and \
|
|
265
|
+
self._configuration.discard_unknown_keys and \
|
|
266
|
+
self.additional_properties_type is None:
|
|
267
|
+
# discard variable.
|
|
268
|
+
continue
|
|
269
|
+
setattr(self, var_name, var_value)
|
|
270
|
+
if var_name in self.read_only_vars:
|
|
271
|
+
raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
|
|
272
|
+
f"class with read only attributes.")
|