criteo-api-retailmedia-sdk 0.0.240731__py3-none-any.whl → 0.0.240808__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.

Files changed (29) hide show
  1. criteo_api_retailmedia_preview/__init__.py +1 -1
  2. criteo_api_retailmedia_preview/api/accounts_api.py +294 -0
  3. criteo_api_retailmedia_preview/api/audience_api.py +2 -2
  4. criteo_api_retailmedia_preview/api/balance_api.py +4 -16
  5. criteo_api_retailmedia_preview/api/campaign_api.py +10 -10
  6. criteo_api_retailmedia_preview/api_client.py +4 -4
  7. criteo_api_retailmedia_preview/configuration.py +1 -1
  8. criteo_api_retailmedia_preview/model/balance_response_v2.py +10 -10
  9. criteo_api_retailmedia_preview/model/create_balance_v2.py +6 -6
  10. criteo_api_retailmedia_preview/model/promoted_product_resource_collection_outcome.py +6 -4
  11. criteo_api_retailmedia_preview/model/resource_of_retail_media_account.py +270 -0
  12. criteo_api_retailmedia_preview/model/resource_outcome_of_retail_media_account.py +274 -0
  13. criteo_api_retailmedia_preview/model/retail_media_account.py +297 -0
  14. criteo_api_retailmedia_preview/model/retail_media_seller.py +261 -0
  15. criteo_api_retailmedia_preview/model/retail_media_seller_account_creation.py +270 -0
  16. criteo_api_retailmedia_preview/model/rm_audience_segment_entity_v1.py +11 -0
  17. criteo_api_retailmedia_preview/model/rm_audience_segment_search_entity_v1.py +10 -0
  18. criteo_api_retailmedia_preview/model/rm_contact_list_v1.py +11 -0
  19. criteo_api_retailmedia_preview/model/rm_user_behavior_v1.py +303 -0
  20. criteo_api_retailmedia_preview/model/value_resource_collection_input_of_retail_media_seller.py +262 -0
  21. criteo_api_retailmedia_preview/model/value_resource_collection_outcome_of_retail_media_seller.py +274 -0
  22. criteo_api_retailmedia_preview/model/value_resource_input_of_retail_media_seller_account_creation.py +262 -0
  23. criteo_api_retailmedia_preview/model/value_resource_of_retail_media_seller.py +266 -0
  24. criteo_api_retailmedia_preview/model/value_resource_of_retail_media_seller_account_creation.py +266 -0
  25. criteo_api_retailmedia_preview/models/__init__.py +11 -0
  26. {criteo_api_retailmedia_sdk-0.0.240731.dist-info → criteo_api_retailmedia_sdk-0.0.240808.dist-info}/METADATA +3 -3
  27. {criteo_api_retailmedia_sdk-0.0.240731.dist-info → criteo_api_retailmedia_sdk-0.0.240808.dist-info}/RECORD +29 -18
  28. {criteo_api_retailmedia_sdk-0.0.240731.dist-info → criteo_api_retailmedia_sdk-0.0.240808.dist-info}/WHEEL +0 -0
  29. {criteo_api_retailmedia_sdk-0.0.240731.dist-info → criteo_api_retailmedia_sdk-0.0.240808.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,270 @@
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.retail_media_seller import RetailMediaSeller
34
+ globals()['RetailMediaSeller'] = RetailMediaSeller
35
+
36
+
37
+ class RetailMediaSellerAccountCreation(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
+ 'name': (str, none_type,), # noqa: E501
84
+ 'company_name': (str, none_type,), # noqa: E501
85
+ 'sellers': ([RetailMediaSeller], none_type,), # noqa: E501
86
+ }
87
+
88
+ @cached_property
89
+ def discriminator():
90
+ return None
91
+
92
+
93
+ attribute_map = {
94
+ 'name': 'name', # noqa: E501
95
+ 'company_name': 'companyName', # noqa: E501
96
+ 'sellers': 'sellers', # 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, *args, **kwargs): # noqa: E501
107
+ """RetailMediaSellerAccountCreation - a model defined in OpenAPI
108
+
109
+ Keyword Args:
110
+ _check_type (bool): if True, values for parameters in openapi_types
111
+ will be type checked and a TypeError will be
112
+ raised if the wrong type is input.
113
+ Defaults to True
114
+ _path_to_item (tuple/list): This is a list of keys or values to
115
+ drill down to the model in received_data
116
+ when deserializing a response
117
+ _spec_property_naming (bool): True if the variable names in the input data
118
+ are serialized names, as specified in the OpenAPI document.
119
+ False if the variable names in the input data
120
+ are pythonic names, e.g. snake case (default)
121
+ _configuration (Configuration): the instance to use when
122
+ deserializing a file_type parameter.
123
+ If passed, type conversion is attempted
124
+ If omitted no type conversion is done.
125
+ _visited_composed_classes (tuple): This stores a tuple of
126
+ classes that we have traveled through so that
127
+ if we see that class again we will not use its
128
+ discriminator again.
129
+ When traveling through a discriminator, the
130
+ composed schema that is
131
+ is traveled through is added to this set.
132
+ For example if Animal has a discriminator
133
+ petType and we pass in "Dog", and the class Dog
134
+ allOf includes Animal, we move through Animal
135
+ once using the discriminator, and pick Dog.
136
+ Then in Dog, we will make an instance of the
137
+ Animal class but this time we won't travel
138
+ through its discriminator because we passed in
139
+ _visited_composed_classes = (Animal,)
140
+ name (str, none_type): the name of the account, must be unique across all accounts. [optional] # noqa: E501
141
+ company_name (str, none_type): Display name for reporting the owning entity of ads for the Digital Services Act in the European Union. [optional] # noqa: E501
142
+ sellers ([RetailMediaSeller], none_type): list of sellers to associate to the new account. [optional] # noqa: E501
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
+ for var_name, var_value in kwargs.items():
175
+ if var_name not in self.attribute_map and \
176
+ self._configuration is not None and \
177
+ self._configuration.discard_unknown_keys and \
178
+ self.additional_properties_type is None:
179
+ # discard variable.
180
+ continue
181
+ setattr(self, var_name, var_value)
182
+ return self
183
+
184
+ required_properties = set([
185
+ '_data_store',
186
+ '_check_type',
187
+ '_spec_property_naming',
188
+ '_path_to_item',
189
+ '_configuration',
190
+ '_visited_composed_classes',
191
+ ])
192
+
193
+ @convert_js_args_to_python_args
194
+ def __init__(self, *args, **kwargs): # noqa: E501
195
+ """RetailMediaSellerAccountCreation - a model defined in OpenAPI
196
+
197
+ Keyword Args:
198
+ _check_type (bool): if True, values for parameters in openapi_types
199
+ will be type checked and a TypeError will be
200
+ raised if the wrong type is input.
201
+ Defaults to True
202
+ _path_to_item (tuple/list): This is a list of keys or values to
203
+ drill down to the model in received_data
204
+ when deserializing a response
205
+ _spec_property_naming (bool): True if the variable names in the input data
206
+ are serialized names, as specified in the OpenAPI document.
207
+ False if the variable names in the input data
208
+ are pythonic names, e.g. snake case (default)
209
+ _configuration (Configuration): the instance to use when
210
+ deserializing a file_type parameter.
211
+ If passed, type conversion is attempted
212
+ If omitted no type conversion is done.
213
+ _visited_composed_classes (tuple): This stores a tuple of
214
+ classes that we have traveled through so that
215
+ if we see that class again we will not use its
216
+ discriminator again.
217
+ When traveling through a discriminator, the
218
+ composed schema that is
219
+ is traveled through is added to this set.
220
+ For example if Animal has a discriminator
221
+ petType and we pass in "Dog", and the class Dog
222
+ allOf includes Animal, we move through Animal
223
+ once using the discriminator, and pick Dog.
224
+ Then in Dog, we will make an instance of the
225
+ Animal class but this time we won't travel
226
+ through its discriminator because we passed in
227
+ _visited_composed_classes = (Animal,)
228
+ name (str, none_type): the name of the account, must be unique across all accounts. [optional] # noqa: E501
229
+ company_name (str, none_type): Display name for reporting the owning entity of ads for the Digital Services Act in the European Union. [optional] # noqa: E501
230
+ sellers ([RetailMediaSeller], none_type): list of sellers to associate to the new account. [optional] # noqa: E501
231
+ """
232
+
233
+ _check_type = kwargs.pop('_check_type', True)
234
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
235
+ _path_to_item = kwargs.pop('_path_to_item', ())
236
+ _configuration = kwargs.pop('_configuration', None)
237
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
238
+
239
+ if args:
240
+ for arg in args:
241
+ if isinstance(arg, dict):
242
+ kwargs.update(arg)
243
+ else:
244
+ raise ApiTypeError(
245
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
246
+ args,
247
+ self.__class__.__name__,
248
+ ),
249
+ path_to_item=_path_to_item,
250
+ valid_classes=(self.__class__,),
251
+ )
252
+
253
+ self._data_store = {}
254
+ self._check_type = _check_type
255
+ self._spec_property_naming = _spec_property_naming
256
+ self._path_to_item = _path_to_item
257
+ self._configuration = _configuration
258
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
259
+
260
+ for var_name, var_value in kwargs.items():
261
+ if var_name not in self.attribute_map and \
262
+ self._configuration is not None and \
263
+ self._configuration.discard_unknown_keys and \
264
+ self.additional_properties_type is None:
265
+ # discard variable.
266
+ continue
267
+ setattr(self, var_name, var_value)
268
+ if var_name in self.read_only_vars:
269
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
270
+ f"class with read only attributes.")
@@ -31,7 +31,9 @@ from criteo_api_retailmedia_preview.exceptions import ApiAttributeError
31
31
 
32
32
  def lazy_import():
33
33
  from criteo_api_retailmedia_preview.model.rm_contact_list_v1 import RmContactListV1
34
+ from criteo_api_retailmedia_preview.model.rm_user_behavior_v1 import RmUserBehaviorV1
34
35
  globals()['RmContactListV1'] = RmContactListV1
36
+ globals()['RmUserBehaviorV1'] = RmUserBehaviorV1
35
37
 
36
38
 
37
39
  class RmAudienceSegmentEntityV1(ModelNormal):
@@ -63,6 +65,7 @@ class RmAudienceSegmentEntityV1(ModelNormal):
63
65
  'None': None,
64
66
  'UNKNOWN': "Unknown",
65
67
  'CONTACTLIST': "ContactList",
68
+ 'USERBEHAVIOR': "UserBehavior",
66
69
  },
67
70
  ('channels',): {
68
71
  'None': None,
@@ -105,7 +108,9 @@ class RmAudienceSegmentEntityV1(ModelNormal):
105
108
  'type': (str, none_type,), # noqa: E501
106
109
  'created_at': (datetime, none_type,), # noqa: E501
107
110
  'updated_at': (datetime, none_type,), # noqa: E501
111
+ 'created_by_id': (str, none_type,), # noqa: E501
108
112
  'contact_list': (RmContactListV1,), # noqa: E501
113
+ 'user_behavior': (RmUserBehaviorV1,), # noqa: E501
109
114
  'channels': ([str], none_type,), # noqa: E501
110
115
  }
111
116
 
@@ -122,7 +127,9 @@ class RmAudienceSegmentEntityV1(ModelNormal):
122
127
  'type': 'type', # noqa: E501
123
128
  'created_at': 'createdAt', # noqa: E501
124
129
  'updated_at': 'updatedAt', # noqa: E501
130
+ 'created_by_id': 'createdById', # noqa: E501
125
131
  'contact_list': 'contactList', # noqa: E501
132
+ 'user_behavior': 'userBehavior', # noqa: E501
126
133
  'channels': 'channels', # noqa: E501
127
134
  }
128
135
 
@@ -174,7 +181,9 @@ class RmAudienceSegmentEntityV1(ModelNormal):
174
181
  type (str, none_type): Type of segment (read-only). [optional] # noqa: E501
175
182
  created_at (datetime, none_type): ISO-8601 timestamp in UTC of segment creation (read-only). [optional] # noqa: E501
176
183
  updated_at (datetime, none_type): ISO-8601 timestamp in UTC of segment update (read-only). [optional] # noqa: E501
184
+ created_by_id (str, none_type): User that created the segment. [optional] # noqa: E501
177
185
  contact_list (RmContactListV1): [optional] # noqa: E501
186
+ user_behavior (RmUserBehaviorV1): [optional] # noqa: E501
178
187
  channels ([str], none_type): Channels associated to the segment (read-only). [optional] # noqa: E501
179
188
  """
180
189
 
@@ -268,7 +277,9 @@ class RmAudienceSegmentEntityV1(ModelNormal):
268
277
  type (str, none_type): Type of segment (read-only). [optional] # noqa: E501
269
278
  created_at (datetime, none_type): ISO-8601 timestamp in UTC of segment creation (read-only). [optional] # noqa: E501
270
279
  updated_at (datetime, none_type): ISO-8601 timestamp in UTC of segment update (read-only). [optional] # noqa: E501
280
+ created_by_id (str, none_type): User that created the segment. [optional] # noqa: E501
271
281
  contact_list (RmContactListV1): [optional] # noqa: E501
282
+ user_behavior (RmUserBehaviorV1): [optional] # noqa: E501
272
283
  channels ([str], none_type): Channels associated to the segment (read-only). [optional] # noqa: E501
273
284
  """
274
285
 
@@ -55,6 +55,12 @@ class RmAudienceSegmentSearchEntityV1(ModelNormal):
55
55
  """
56
56
 
57
57
  allowed_values = {
58
+ ('audience_segment_types',): {
59
+ 'None': None,
60
+ 'UNKNOWN': "Unknown",
61
+ 'CONTACTLIST': "ContactList",
62
+ 'USERBEHAVIOR': "UserBehavior",
63
+ },
58
64
  }
59
65
 
60
66
  validations = {
@@ -83,6 +89,7 @@ class RmAudienceSegmentSearchEntityV1(ModelNormal):
83
89
  return {
84
90
  'audience_segment_ids': ([str], none_type,), # noqa: E501
85
91
  'retailer_ids': ([str], none_type,), # noqa: E501
92
+ 'audience_segment_types': ([str], none_type,), # noqa: E501
86
93
  }
87
94
 
88
95
  @cached_property
@@ -93,6 +100,7 @@ class RmAudienceSegmentSearchEntityV1(ModelNormal):
93
100
  attribute_map = {
94
101
  'audience_segment_ids': 'audienceSegmentIds', # noqa: E501
95
102
  'retailer_ids': 'retailerIds', # noqa: E501
103
+ 'audience_segment_types': 'audienceSegmentTypes', # noqa: E501
96
104
  }
97
105
 
98
106
  read_only_vars = {
@@ -138,6 +146,7 @@ class RmAudienceSegmentSearchEntityV1(ModelNormal):
138
146
  _visited_composed_classes = (Animal,)
139
147
  audience_segment_ids ([str], none_type): List of segment ids. [optional] # noqa: E501
140
148
  retailer_ids ([str], none_type): List of retailer ids. [optional] # noqa: E501
149
+ audience_segment_types ([str], none_type): List of segment types. [optional] # noqa: E501
141
150
  """
142
151
 
143
152
  _check_type = kwargs.pop('_check_type', True)
@@ -225,6 +234,7 @@ class RmAudienceSegmentSearchEntityV1(ModelNormal):
225
234
  _visited_composed_classes = (Animal,)
226
235
  audience_segment_ids ([str], none_type): List of segment ids. [optional] # noqa: E501
227
236
  retailer_ids ([str], none_type): List of retailer ids. [optional] # noqa: E501
237
+ audience_segment_types ([str], none_type): List of segment types. [optional] # noqa: E501
228
238
  """
229
239
 
230
240
  _check_type = kwargs.pop('_check_type', True)
@@ -63,6 +63,13 @@ class RmContactListV1(ModelNormal):
63
63
  'IDENTITYLINK': "IdentityLink",
64
64
  'CUSTOMERID': "CustomerId",
65
65
  },
66
+ ('sharing_status',): {
67
+ 'None': None,
68
+ 'UNKNOWN': "Unknown",
69
+ 'NOTSHARED': "NotShared",
70
+ 'SHAREDWITHALL': "SharedWithAll",
71
+ 'SHAREDWITHDEMANDACCOUNTS': "SharedWithDemandAccounts",
72
+ },
66
73
  }
67
74
 
68
75
  validations = {
@@ -91,6 +98,7 @@ class RmContactListV1(ModelNormal):
91
98
  return {
92
99
  'is_read_only': (bool, none_type,), # noqa: E501
93
100
  'type': (str, none_type,), # noqa: E501
101
+ 'sharing_status': (str, none_type,), # noqa: E501
94
102
  }
95
103
 
96
104
  @cached_property
@@ -101,6 +109,7 @@ class RmContactListV1(ModelNormal):
101
109
  attribute_map = {
102
110
  'is_read_only': 'isReadOnly', # noqa: E501
103
111
  'type': 'type', # noqa: E501
112
+ 'sharing_status': 'sharingStatus', # noqa: E501
104
113
  }
105
114
 
106
115
  read_only_vars = {
@@ -146,6 +155,7 @@ class RmContactListV1(ModelNormal):
146
155
  _visited_composed_classes = (Animal,)
147
156
  is_read_only (bool, none_type): Is the segment read-only. [optional] # noqa: E501
148
157
  type (str, none_type): Indicates contact list type. [optional] # noqa: E501
158
+ sharing_status (str, none_type): Indicates if the contact list is shared with other accounts. [optional] # noqa: E501
149
159
  """
150
160
 
151
161
  _check_type = kwargs.pop('_check_type', True)
@@ -233,6 +243,7 @@ class RmContactListV1(ModelNormal):
233
243
  _visited_composed_classes = (Animal,)
234
244
  is_read_only (bool, none_type): Is the segment read-only. [optional] # noqa: E501
235
245
  type (str, none_type): Indicates contact list type. [optional] # noqa: E501
246
+ sharing_status (str, none_type): Indicates if the contact list is shared with other accounts. [optional] # noqa: E501
236
247
  """
237
248
 
238
249
  _check_type = kwargs.pop('_check_type', True)