criteo-api-retailmedia-sdk 0.0.240207__py3-none-any.whl → 0.0.240515__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.
Files changed (131) hide show
  1. criteo_api_retailmedia_preview/__init__.py +1 -1
  2. criteo_api_retailmedia_preview/api/accounts_api.py +181 -35
  3. criteo_api_retailmedia_preview/api/analytics_api.py +142 -0
  4. criteo_api_retailmedia_preview/api/audience_api.py +284 -0
  5. criteo_api_retailmedia_preview/api/campaign_api.py +1678 -902
  6. criteo_api_retailmedia_preview/api/catalog_api.py +312 -0
  7. criteo_api_retailmedia_preview/api_client.py +4 -4
  8. criteo_api_retailmedia_preview/apis/__init__.py +1 -0
  9. criteo_api_retailmedia_preview/configuration.py +1 -1
  10. criteo_api_retailmedia_preview/model/{retail_media_externalv1_add_remove_keyword_model.py → add_remove_keyword_model.py} +12 -19
  11. criteo_api_retailmedia_preview/model/add_remove_keywords_model.py +262 -0
  12. criteo_api_retailmedia_preview/model/add_remove_keywords_model_request.py +262 -0
  13. criteo_api_retailmedia_preview/model/add_remove_keywords_model_resource.py +270 -0
  14. criteo_api_retailmedia_preview/model/approval_status_model.py +292 -0
  15. criteo_api_retailmedia_preview/model/async_accounts_report.py +421 -0
  16. criteo_api_retailmedia_preview/model/{external_catalog_request_preview.py → async_accounts_report_request.py} +13 -10
  17. criteo_api_retailmedia_preview/model/async_accounts_report_resource.py +273 -0
  18. criteo_api_retailmedia_preview/model/async_campaigns_report.py +74 -59
  19. criteo_api_retailmedia_preview/model/async_line_items_report.py +74 -60
  20. criteo_api_retailmedia_preview/model/audience_error.py +310 -0
  21. criteo_api_retailmedia_preview/model/{template_variable.py → audience_warning.py} +48 -46
  22. criteo_api_retailmedia_preview/model/{hyperlink_variable_value.py → batch_accepted_response.py} +11 -11
  23. criteo_api_retailmedia_preview/model/change_details.py +275 -0
  24. criteo_api_retailmedia_preview/model/{creative202210_list_response.py → creative_v2_list_response.py} +16 -16
  25. criteo_api_retailmedia_preview/model/{value_resource_collection_outcome_of_int64.py → creative_v2_response.py} +16 -9
  26. criteo_api_retailmedia_preview/model/custom_attribute.py +275 -0
  27. criteo_api_retailmedia_preview/model/error_code_response.py +281 -0
  28. criteo_api_retailmedia_preview/model/export_report_column.py +2 -2
  29. criteo_api_retailmedia_preview/model/{choice_variable_value.py → external_choice_variable_value.py} +3 -3
  30. criteo_api_retailmedia_preview/model/{color_variable_value.py → external_color_variable_value.py} +8 -14
  31. criteo_api_retailmedia_preview/model/{creative_update_model202207.py → external_creative_create_model_v2.py} +11 -11
  32. criteo_api_retailmedia_preview/model/{creative_create_model202207.py → external_creative_update_model_v2.py} +11 -11
  33. criteo_api_retailmedia_preview/model/{creative202210.py → external_creative_v2.py} +34 -28
  34. criteo_api_retailmedia_preview/model/{files_variable_value.py → external_files_variable_value.py} +4 -3
  35. criteo_api_retailmedia_preview/model/{text_variable_specification.py → external_hyperlink_variable_value.py} +7 -7
  36. criteo_api_retailmedia_preview/model/{line_item_bid_multipliers.py → external_line_item_bid_multipliers_v2.py} +41 -29
  37. criteo_api_retailmedia_preview/model/external_line_item_capping_v2.py +280 -0
  38. criteo_api_retailmedia_preview/model/external_line_item_page_category_v2.py +273 -0
  39. criteo_api_retailmedia_preview/model/{choice_variable_specification.py → external_line_item_page_v2.py} +36 -21
  40. criteo_api_retailmedia_preview/model/{page_type_environment.py → external_page_type_environment.py} +15 -9
  41. criteo_api_retailmedia_preview/model/external_preferred_line_item_create_model_v2.py +345 -0
  42. criteo_api_retailmedia_preview/model/{external_catalog_status.py → external_preferred_line_item_update_model_v2.py} +70 -47
  43. criteo_api_retailmedia_preview/model/{template.py → external_preferred_line_item_v2.py} +93 -70
  44. criteo_api_retailmedia_preview/model/{template_variable_value.py → external_template_variable_value.py} +36 -30
  45. criteo_api_retailmedia_preview/model/{text_variable_value.py → external_text_variable_value.py} +8 -14
  46. criteo_api_retailmedia_preview/model/external_video_variable_value.py +293 -0
  47. criteo_api_retailmedia_preview/model/{choice_option.py → fail_response.py} +21 -19
  48. criteo_api_retailmedia_preview/model/{retail_media_externalv1_input_keywords_model.py → input_keywords_model.py} +4 -16
  49. criteo_api_retailmedia_preview/model/{retail_media_externalv1_add_remove_keywords_model.py → input_resource_of_preferred_line_item_create_model_v2.py} +13 -11
  50. criteo_api_retailmedia_preview/model/insertion_order_history_change_data_capture.py +303 -0
  51. criteo_api_retailmedia_preview/model/{retail_media_externalv1_set_bids_model.py → installment.py} +13 -11
  52. criteo_api_retailmedia_preview/model/{json_api_body_with_id_of_int64_and_line_item_bid_multipliers_and_line_item_bid_multipliers.py → json_api_body_with_id_of_int64_and_line_item_bid_multipliers_v2_and_line_item_bid_multipliers_v2.py} +8 -8
  53. criteo_api_retailmedia_preview/model/{json_api_single_response_of_line_item_bid_multipliers.py → json_api_single_response_of_line_item_bid_multipliers_v2.py} +14 -14
  54. criteo_api_retailmedia_preview/model/{retail_media_externalv1_keyword_data_model.py → keyword_data_model.py} +19 -37
  55. criteo_api_retailmedia_preview/model/{retail_media_externalv1_keywords_model.py → keywords_model.py} +9 -18
  56. criteo_api_retailmedia_preview/model/keywords_model_resource.py +270 -0
  57. criteo_api_retailmedia_preview/model/keywords_model_response.py +274 -0
  58. criteo_api_retailmedia_preview/model/{line_item_bid_multipliers_request.py → line_item_bid_multipliers_v2_request.py} +8 -8
  59. criteo_api_retailmedia_preview/model/{line_item_bid_multipliers_response.py → line_item_bid_multipliers_v2_response.py} +16 -16
  60. criteo_api_retailmedia_preview/model/line_item_product_status.py +291 -0
  61. criteo_api_retailmedia_preview/model/loyalty_points.py +271 -0
  62. criteo_api_retailmedia_preview/model/match_type_model.py +291 -0
  63. criteo_api_retailmedia_preview/model/metadata.py +273 -0
  64. criteo_api_retailmedia_preview/model/negotiation_state_model.py +293 -0
  65. criteo_api_retailmedia_preview/model/page_of_insertion_order_history_change_data_capture.py +276 -0
  66. criteo_api_retailmedia_preview/model/{json_api_request_of_catalog_request_preview.py → preferred_line_item_create_model_v2_request.py} +8 -8
  67. criteo_api_retailmedia_preview/model/{retail_media_externalv1_set_bids_model_request.py → preferred_line_item_update_model_v2_request.py} +8 -8
  68. criteo_api_retailmedia_preview/model/{creative202210_response.py → preferred_line_item_v2_paged_list_response.py} +22 -16
  69. criteo_api_retailmedia_preview/model/{template_response.py → preferred_line_item_v2_response.py} +16 -16
  70. criteo_api_retailmedia_preview/model/price.py +267 -0
  71. criteo_api_retailmedia_preview/model/product.py +626 -0
  72. criteo_api_retailmedia_preview/model/product_importer_error.py +299 -0
  73. criteo_api_retailmedia_preview/model/product_importer_warning.py +299 -0
  74. criteo_api_retailmedia_preview/model/product_metadata.py +269 -0
  75. criteo_api_retailmedia_preview/model/product_resource_outcome.py +266 -0
  76. criteo_api_retailmedia_preview/model/{retail_media_externalv1_keywords_model_response.py → product_shipping.py} +33 -25
  77. criteo_api_retailmedia_preview/model/product_shipping_dimension.py +267 -0
  78. criteo_api_retailmedia_preview/model/product_shipping_weight.py +267 -0
  79. criteo_api_retailmedia_preview/model/product_tax.py +283 -0
  80. criteo_api_retailmedia_preview/model/product_unit_pricing_base_measure.py +267 -0
  81. criteo_api_retailmedia_preview/model/product_unit_pricing_measure.py +267 -0
  82. criteo_api_retailmedia_preview/model/{section.py → products_custom_batch_request.py} +13 -19
  83. criteo_api_retailmedia_preview/model/products_custom_batch_request_entry.py +305 -0
  84. criteo_api_retailmedia_preview/model/promoted_product.py +270 -0
  85. criteo_api_retailmedia_preview/model/promoted_product_resource.py +270 -0
  86. criteo_api_retailmedia_preview/model/promoted_product_resource_collection_input.py +262 -0
  87. criteo_api_retailmedia_preview/model/promoted_product_resource_collection_outcome.py +278 -0
  88. criteo_api_retailmedia_preview/model/{retail_media_externalv1_proposal_status_model.py → proposal_status_model.py} +22 -50
  89. criteo_api_retailmedia_preview/model/proposal_status_model_resource.py +270 -0
  90. criteo_api_retailmedia_preview/model/{template_list_response.py → proposal_status_model_response.py} +20 -27
  91. criteo_api_retailmedia_preview/model/report_detail_error.py +299 -0
  92. criteo_api_retailmedia_preview/model/{retail_media_externalv1_add_remove_keywords_model_request.py → report_detail_errors.py} +23 -11
  93. criteo_api_retailmedia_preview/model/{retail_media_externalv1_keywords_model_resource.py → report_ok_response.py} +56 -21
  94. criteo_api_retailmedia_preview/model/{resource_of_creative202210.py → resource_of_creative_v2.py} +8 -8
  95. criteo_api_retailmedia_preview/model/{resource_of_template.py → resource_of_line_item_bid_multipliers_v2.py} +8 -8
  96. criteo_api_retailmedia_preview/model/{retail_media_externalv1_add_remove_keywords_model_resource.py → resource_of_preferred_line_item_update_model_v2.py} +16 -22
  97. criteo_api_retailmedia_preview/model/{resource_of_line_item_bid_multipliers.py → resource_of_preferred_line_item_v2.py} +9 -9
  98. criteo_api_retailmedia_preview/model/resource_outcome.py +268 -0
  99. criteo_api_retailmedia_preview/model/retail_media_account.py +6 -6
  100. criteo_api_retailmedia_preview/model/retail_media_brands.py +257 -0
  101. criteo_api_retailmedia_preview/model/{json_api_body_without_id_of_catalog_request_and_catalog_request_preview.py → retail_media_contactlist_amendment.py} +16 -16
  102. criteo_api_retailmedia_preview/model/{retail_media_externalv1_set_bids_model_resource.py → retail_media_contactlist_amendment_attributes.py} +34 -25
  103. criteo_api_retailmedia_preview/model/retail_media_contactlist_amendment_request.py +275 -0
  104. criteo_api_retailmedia_preview/model/{json_api_single_response_of_catalog_status.py → retail_media_contactlist_operation.py} +24 -20
  105. criteo_api_retailmedia_preview/model/{json_api_body_with_id_of_int64_and_catalog_status_and_catalog_status.py → retail_media_contactlist_operation_response_attributes.py} +14 -18
  106. criteo_api_retailmedia_preview/model/retail_media_contactlist_operation_response_attributes_attributes.py +297 -0
  107. criteo_api_retailmedia_preview/model/review_state_model.py +294 -0
  108. criteo_api_retailmedia_preview/model/{retail_media_externalv1_problem_details.py → rmca_common_problem.py} +41 -30
  109. criteo_api_retailmedia_preview/model/{retail_media_externalv1_set_bid_model.py → set_bid_model.py} +4 -10
  110. criteo_api_retailmedia_preview/model/set_bids_model.py +262 -0
  111. criteo_api_retailmedia_preview/model/set_bids_model_request.py +262 -0
  112. criteo_api_retailmedia_preview/model/set_bids_model_resource.py +270 -0
  113. criteo_api_retailmedia_preview/model/sync_attributed_transactions_report.py +47 -45
  114. criteo_api_retailmedia_preview/model/sync_campaigns_report.py +68 -53
  115. criteo_api_retailmedia_preview/model/sync_line_items_report.py +70 -56
  116. criteo_api_retailmedia_preview/model/value_resource_collection_input_of_retail_media_seller.py +262 -0
  117. criteo_api_retailmedia_preview/model/value_resource_input_of_retail_media_brand_account_creation.py +262 -0
  118. criteo_api_retailmedia_preview/model/value_resource_input_of_retail_media_brands.py +262 -0
  119. criteo_api_retailmedia_preview/model/value_resource_input_of_retail_media_seller_account_creation.py +262 -0
  120. criteo_api_retailmedia_preview/model/value_resource_of_retail_media_brand_account_creation.py +266 -0
  121. criteo_api_retailmedia_preview/model/{value_resource_of_int64.py → value_resource_of_retail_media_brands.py} +11 -6
  122. criteo_api_retailmedia_preview/model/value_resource_of_retail_media_seller_account_creation.py +266 -0
  123. criteo_api_retailmedia_preview/models/__init__.py +106 -55
  124. {criteo_api_retailmedia_sdk-0.0.240207.dist-info → criteo_api_retailmedia_sdk-0.0.240515.dist-info}/METADATA +3 -3
  125. {criteo_api_retailmedia_sdk-0.0.240207.dist-info → criteo_api_retailmedia_sdk-0.0.240515.dist-info}/RECORD +127 -75
  126. {criteo_api_retailmedia_sdk-0.0.240207.dist-info → criteo_api_retailmedia_sdk-0.0.240515.dist-info}/WHEEL +1 -1
  127. criteo_api_retailmedia_preview/model/files_variables_specification.py +0 -290
  128. criteo_api_retailmedia_preview/model/retail_media_externalv1_proposal_status_model_resource.py +0 -283
  129. criteo_api_retailmedia_preview/model/retail_media_externalv1_proposal_status_model_response.py +0 -285
  130. criteo_api_retailmedia_preview/model/retail_media_externalv1_resource_outcome.py +0 -279
  131. {criteo_api_retailmedia_sdk-0.0.240207.dist-info → criteo_api_retailmedia_sdk-0.0.240515.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,303 @@
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.change_details import ChangeDetails
34
+ globals()['ChangeDetails'] = ChangeDetails
35
+
36
+
37
+ class InsertionOrderHistoryChangeDataCapture(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
+ ('change_type',): {
63
+ 'BALANCECREATED': "BalanceCreated",
64
+ 'BALANCEADDED': "BalanceAdded",
65
+ 'BALANCEREMOVED': "BalanceRemoved",
66
+ 'BALANCEUNCAPPED': "BalanceUncapped",
67
+ 'BALANCECAPPED': "BalanceCapped",
68
+ 'ENDDATE': "EndDate",
69
+ 'STARTDATE': "StartDate",
70
+ 'BALANCENAME': "BalanceName",
71
+ 'PONUMBER': "PoNumber",
72
+ 'VALUEADD': "ValueAdd",
73
+ 'SALESFORCEID': "SalesforceId",
74
+ },
75
+ }
76
+
77
+ validations = {
78
+ }
79
+
80
+ additional_properties_type = None
81
+
82
+ _nullable = False
83
+
84
+ @cached_property
85
+ def openapi_types():
86
+ """
87
+ This must be a method because a model may have properties that are
88
+ of type self, this must run after the class is loaded
89
+
90
+ Returns
91
+ openapi_types (dict): The key is attribute name
92
+ and the value is attribute type.
93
+ """
94
+ lazy_import()
95
+ return {
96
+ 'date_of_modification': (datetime,), # noqa: E501
97
+ 'modified_by_user': (str,), # noqa: E501
98
+ 'change_type': (str,), # noqa: E501
99
+ 'change_details': (ChangeDetails,), # noqa: E501
100
+ 'memo': (str, none_type,), # noqa: E501
101
+ }
102
+
103
+ @cached_property
104
+ def discriminator():
105
+ return None
106
+
107
+
108
+ attribute_map = {
109
+ 'date_of_modification': 'dateOfModification', # noqa: E501
110
+ 'modified_by_user': 'modifiedByUser', # noqa: E501
111
+ 'change_type': 'changeType', # noqa: E501
112
+ 'change_details': 'changeDetails', # noqa: E501
113
+ 'memo': 'memo', # noqa: E501
114
+ }
115
+
116
+ read_only_vars = {
117
+ }
118
+
119
+ _composed_schemas = {}
120
+
121
+ @classmethod
122
+ @convert_js_args_to_python_args
123
+ def _from_openapi_data(cls, date_of_modification, modified_by_user, change_type, change_details, *args, **kwargs): # noqa: E501
124
+ """InsertionOrderHistoryChangeDataCapture - a model defined in OpenAPI
125
+
126
+ Args:
127
+ date_of_modification (datetime): Date when data change has occured.
128
+ modified_by_user (str): User name who modified the insertion order.
129
+ change_type (str): Represent the type of change states of the history.
130
+ change_details (ChangeDetails):
131
+
132
+ Keyword Args:
133
+ _check_type (bool): if True, values for parameters in openapi_types
134
+ will be type checked and a TypeError will be
135
+ raised if the wrong type is input.
136
+ Defaults to True
137
+ _path_to_item (tuple/list): This is a list of keys or values to
138
+ drill down to the model in received_data
139
+ when deserializing a response
140
+ _spec_property_naming (bool): True if the variable names in the input data
141
+ are serialized names, as specified in the OpenAPI document.
142
+ False if the variable names in the input data
143
+ are pythonic names, e.g. snake case (default)
144
+ _configuration (Configuration): the instance to use when
145
+ deserializing a file_type parameter.
146
+ If passed, type conversion is attempted
147
+ If omitted no type conversion is done.
148
+ _visited_composed_classes (tuple): This stores a tuple of
149
+ classes that we have traveled through so that
150
+ if we see that class again we will not use its
151
+ discriminator again.
152
+ When traveling through a discriminator, the
153
+ composed schema that is
154
+ is traveled through is added to this set.
155
+ For example if Animal has a discriminator
156
+ petType and we pass in "Dog", and the class Dog
157
+ allOf includes Animal, we move through Animal
158
+ once using the discriminator, and pick Dog.
159
+ Then in Dog, we will make an instance of the
160
+ Animal class but this time we won't travel
161
+ through its discriminator because we passed in
162
+ _visited_composed_classes = (Animal,)
163
+ memo (str, none_type): Memo associate with the insertion order modification.. [optional] # noqa: E501
164
+ """
165
+
166
+ _check_type = kwargs.pop('_check_type', True)
167
+ _spec_property_naming = kwargs.pop('_spec_property_naming', True)
168
+ _path_to_item = kwargs.pop('_path_to_item', ())
169
+ _configuration = kwargs.pop('_configuration', None)
170
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
171
+
172
+ self = super(OpenApiModel, cls).__new__(cls)
173
+
174
+ if args:
175
+ for arg in args:
176
+ if isinstance(arg, dict):
177
+ kwargs.update(arg)
178
+ else:
179
+ raise ApiTypeError(
180
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
181
+ args,
182
+ self.__class__.__name__,
183
+ ),
184
+ path_to_item=_path_to_item,
185
+ valid_classes=(self.__class__,),
186
+ )
187
+
188
+ self._data_store = {}
189
+ self._check_type = _check_type
190
+ self._spec_property_naming = _spec_property_naming
191
+ self._path_to_item = _path_to_item
192
+ self._configuration = _configuration
193
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
194
+
195
+ self.date_of_modification = date_of_modification
196
+ self.modified_by_user = modified_by_user
197
+ self.change_type = change_type
198
+ self.change_details = change_details
199
+ for var_name, var_value in kwargs.items():
200
+ if var_name not in self.attribute_map and \
201
+ self._configuration is not None and \
202
+ self._configuration.discard_unknown_keys and \
203
+ self.additional_properties_type is None:
204
+ # discard variable.
205
+ continue
206
+ setattr(self, var_name, var_value)
207
+ return self
208
+
209
+ required_properties = set([
210
+ '_data_store',
211
+ '_check_type',
212
+ '_spec_property_naming',
213
+ '_path_to_item',
214
+ '_configuration',
215
+ '_visited_composed_classes',
216
+ ])
217
+
218
+ @convert_js_args_to_python_args
219
+ def __init__(self, date_of_modification, modified_by_user, change_type, change_details, *args, **kwargs): # noqa: E501
220
+ """InsertionOrderHistoryChangeDataCapture - a model defined in OpenAPI
221
+
222
+ Args:
223
+ date_of_modification (datetime): Date when data change has occured.
224
+ modified_by_user (str): User name who modified the insertion order.
225
+ change_type (str): Represent the type of change states of the history.
226
+ change_details (ChangeDetails):
227
+
228
+ Keyword Args:
229
+ _check_type (bool): if True, values for parameters in openapi_types
230
+ will be type checked and a TypeError will be
231
+ raised if the wrong type is input.
232
+ Defaults to True
233
+ _path_to_item (tuple/list): This is a list of keys or values to
234
+ drill down to the model in received_data
235
+ when deserializing a response
236
+ _spec_property_naming (bool): True if the variable names in the input data
237
+ are serialized names, as specified in the OpenAPI document.
238
+ False if the variable names in the input data
239
+ are pythonic names, e.g. snake case (default)
240
+ _configuration (Configuration): the instance to use when
241
+ deserializing a file_type parameter.
242
+ If passed, type conversion is attempted
243
+ If omitted no type conversion is done.
244
+ _visited_composed_classes (tuple): This stores a tuple of
245
+ classes that we have traveled through so that
246
+ if we see that class again we will not use its
247
+ discriminator again.
248
+ When traveling through a discriminator, the
249
+ composed schema that is
250
+ is traveled through is added to this set.
251
+ For example if Animal has a discriminator
252
+ petType and we pass in "Dog", and the class Dog
253
+ allOf includes Animal, we move through Animal
254
+ once using the discriminator, and pick Dog.
255
+ Then in Dog, we will make an instance of the
256
+ Animal class but this time we won't travel
257
+ through its discriminator because we passed in
258
+ _visited_composed_classes = (Animal,)
259
+ memo (str, none_type): Memo associate with the insertion order modification.. [optional] # noqa: E501
260
+ """
261
+
262
+ _check_type = kwargs.pop('_check_type', True)
263
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
264
+ _path_to_item = kwargs.pop('_path_to_item', ())
265
+ _configuration = kwargs.pop('_configuration', None)
266
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
267
+
268
+ if args:
269
+ for arg in args:
270
+ if isinstance(arg, dict):
271
+ kwargs.update(arg)
272
+ else:
273
+ raise ApiTypeError(
274
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
275
+ args,
276
+ self.__class__.__name__,
277
+ ),
278
+ path_to_item=_path_to_item,
279
+ valid_classes=(self.__class__,),
280
+ )
281
+
282
+ self._data_store = {}
283
+ self._check_type = _check_type
284
+ self._spec_property_naming = _spec_property_naming
285
+ self._path_to_item = _path_to_item
286
+ self._configuration = _configuration
287
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
288
+
289
+ self.date_of_modification = date_of_modification
290
+ self.modified_by_user = modified_by_user
291
+ self.change_type = change_type
292
+ self.change_details = change_details
293
+ for var_name, var_value in kwargs.items():
294
+ if var_name not in self.attribute_map and \
295
+ self._configuration is not None and \
296
+ self._configuration.discard_unknown_keys and \
297
+ self.additional_properties_type is None:
298
+ # discard variable.
299
+ continue
300
+ setattr(self, var_name, var_value)
301
+ if var_name in self.read_only_vars:
302
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
303
+ f"class with read only attributes.")
@@ -30,11 +30,11 @@ from criteo_api_retailmedia_preview.exceptions import ApiAttributeError
30
30
 
31
31
 
32
32
  def lazy_import():
33
- from criteo_api_retailmedia_preview.model.retail_media_externalv1_set_bid_model import RetailMediaExternalv1SetBidModel
34
- globals()['RetailMediaExternalv1SetBidModel'] = RetailMediaExternalv1SetBidModel
33
+ from criteo_api_retailmedia_preview.model.price import Price
34
+ globals()['Price'] = Price
35
35
 
36
36
 
37
- class RetailMediaExternalv1SetBidsModel(ModelNormal):
37
+ class Installment(ModelNormal):
38
38
  """NOTE: This class is auto generated by OpenAPI Generator.
39
39
  Ref: https://openapi-generator.tech
40
40
 
@@ -62,8 +62,6 @@ class RetailMediaExternalv1SetBidsModel(ModelNormal):
62
62
  }
63
63
 
64
64
  validations = {
65
- ('keywords',): {
66
- },
67
65
  }
68
66
 
69
67
  @cached_property
@@ -89,7 +87,8 @@ class RetailMediaExternalv1SetBidsModel(ModelNormal):
89
87
  """
90
88
  lazy_import()
91
89
  return {
92
- 'keywords': ([RetailMediaExternalv1SetBidModel], none_type,), # noqa: E501
90
+ 'months': (int, none_type,), # noqa: E501
91
+ 'amount': (Price,), # noqa: E501
93
92
  }
94
93
 
95
94
  @cached_property
@@ -98,7 +97,8 @@ class RetailMediaExternalv1SetBidsModel(ModelNormal):
98
97
 
99
98
 
100
99
  attribute_map = {
101
- 'keywords': 'keywords', # noqa: E501
100
+ 'months': 'months', # noqa: E501
101
+ 'amount': 'amount', # noqa: E501
102
102
  }
103
103
 
104
104
  read_only_vars = {
@@ -109,7 +109,7 @@ class RetailMediaExternalv1SetBidsModel(ModelNormal):
109
109
  @classmethod
110
110
  @convert_js_args_to_python_args
111
111
  def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
112
- """RetailMediaExternalv1SetBidsModel - a model defined in OpenAPI
112
+ """Installment - a model defined in OpenAPI
113
113
 
114
114
  Keyword Args:
115
115
  _check_type (bool): if True, values for parameters in openapi_types
@@ -142,7 +142,8 @@ class RetailMediaExternalv1SetBidsModel(ModelNormal):
142
142
  Animal class but this time we won't travel
143
143
  through its discriminator because we passed in
144
144
  _visited_composed_classes = (Animal,)
145
- keywords ([RetailMediaExternalv1SetBidModel], none_type): [optional] # noqa: E501
145
+ months (int, none_type): The number of installments the buyer has to pay.. [optional] # noqa: E501
146
+ amount (Price): [optional] # noqa: E501
146
147
  """
147
148
 
148
149
  _check_type = kwargs.pop('_check_type', True)
@@ -195,7 +196,7 @@ class RetailMediaExternalv1SetBidsModel(ModelNormal):
195
196
 
196
197
  @convert_js_args_to_python_args
197
198
  def __init__(self, *args, **kwargs): # noqa: E501
198
- """RetailMediaExternalv1SetBidsModel - a model defined in OpenAPI
199
+ """Installment - a model defined in OpenAPI
199
200
 
200
201
  Keyword Args:
201
202
  _check_type (bool): if True, values for parameters in openapi_types
@@ -228,7 +229,8 @@ class RetailMediaExternalv1SetBidsModel(ModelNormal):
228
229
  Animal class but this time we won't travel
229
230
  through its discriminator because we passed in
230
231
  _visited_composed_classes = (Animal,)
231
- keywords ([RetailMediaExternalv1SetBidModel], none_type): [optional] # noqa: E501
232
+ months (int, none_type): The number of installments the buyer has to pay.. [optional] # noqa: E501
233
+ amount (Price): [optional] # noqa: E501
232
234
  """
233
235
 
234
236
  _check_type = kwargs.pop('_check_type', True)
@@ -30,11 +30,11 @@ from criteo_api_retailmedia_preview.exceptions import ApiAttributeError
30
30
 
31
31
 
32
32
  def lazy_import():
33
- from criteo_api_retailmedia_preview.model.line_item_bid_multipliers import LineItemBidMultipliers
34
- globals()['LineItemBidMultipliers'] = LineItemBidMultipliers
33
+ from criteo_api_retailmedia_preview.model.external_line_item_bid_multipliers_v2 import ExternalLineItemBidMultipliersV2
34
+ globals()['ExternalLineItemBidMultipliersV2'] = ExternalLineItemBidMultipliersV2
35
35
 
36
36
 
37
- class JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersAndLineItemBidMultipliers(ModelNormal):
37
+ class JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersV2AndLineItemBidMultipliersV2(ModelNormal):
38
38
  """NOTE: This class is auto generated by OpenAPI Generator.
39
39
  Ref: https://openapi-generator.tech
40
40
 
@@ -89,7 +89,7 @@ class JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersAndLineItemBidMultipliers
89
89
  return {
90
90
  'id': (str,), # noqa: E501
91
91
  'type': (str,), # noqa: E501
92
- 'attributes': (LineItemBidMultipliers,), # noqa: E501
92
+ 'attributes': (ExternalLineItemBidMultipliersV2,), # noqa: E501
93
93
  }
94
94
 
95
95
  @cached_property
@@ -111,7 +111,7 @@ class JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersAndLineItemBidMultipliers
111
111
  @classmethod
112
112
  @convert_js_args_to_python_args
113
113
  def _from_openapi_data(cls, id, type, *args, **kwargs): # noqa: E501
114
- """JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersAndLineItemBidMultipliers - a model defined in OpenAPI
114
+ """JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersV2AndLineItemBidMultipliersV2 - a model defined in OpenAPI
115
115
 
116
116
  Args:
117
117
  id (str):
@@ -148,7 +148,7 @@ class JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersAndLineItemBidMultipliers
148
148
  Animal class but this time we won't travel
149
149
  through its discriminator because we passed in
150
150
  _visited_composed_classes = (Animal,)
151
- attributes (LineItemBidMultipliers): [optional] # noqa: E501
151
+ attributes (ExternalLineItemBidMultipliersV2): [optional] # noqa: E501
152
152
  """
153
153
 
154
154
  _check_type = kwargs.pop('_check_type', True)
@@ -203,7 +203,7 @@ class JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersAndLineItemBidMultipliers
203
203
 
204
204
  @convert_js_args_to_python_args
205
205
  def __init__(self, id, type, *args, **kwargs): # noqa: E501
206
- """JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersAndLineItemBidMultipliers - a model defined in OpenAPI
206
+ """JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersV2AndLineItemBidMultipliersV2 - a model defined in OpenAPI
207
207
 
208
208
  Args:
209
209
  id (str):
@@ -240,7 +240,7 @@ class JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersAndLineItemBidMultipliers
240
240
  Animal class but this time we won't travel
241
241
  through its discriminator because we passed in
242
242
  _visited_composed_classes = (Animal,)
243
- attributes (LineItemBidMultipliers): [optional] # noqa: E501
243
+ attributes (ExternalLineItemBidMultipliersV2): [optional] # noqa: E501
244
244
  """
245
245
 
246
246
  _check_type = kwargs.pop('_check_type', True)
@@ -32,13 +32,13 @@ from criteo_api_retailmedia_preview.exceptions import ApiAttributeError
32
32
  def lazy_import():
33
33
  from criteo_api_retailmedia_preview.model.common_error import CommonError
34
34
  from criteo_api_retailmedia_preview.model.common_warning import CommonWarning
35
- from criteo_api_retailmedia_preview.model.json_api_body_with_id_of_int64_and_line_item_bid_multipliers_and_line_item_bid_multipliers import JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersAndLineItemBidMultipliers
35
+ from criteo_api_retailmedia_preview.model.json_api_body_with_id_of_int64_and_line_item_bid_multipliers_v2_and_line_item_bid_multipliers_v2 import JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersV2AndLineItemBidMultipliersV2
36
36
  globals()['CommonError'] = CommonError
37
37
  globals()['CommonWarning'] = CommonWarning
38
- globals()['JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersAndLineItemBidMultipliers'] = JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersAndLineItemBidMultipliers
38
+ globals()['JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersV2AndLineItemBidMultipliersV2'] = JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersV2AndLineItemBidMultipliersV2
39
39
 
40
40
 
41
- class JsonApiSingleResponseOfLineItemBidMultipliers(ModelNormal):
41
+ class JsonApiSingleResponseOfLineItemBidMultipliersV2(ModelNormal):
42
42
  """NOTE: This class is auto generated by OpenAPI Generator.
43
43
  Ref: https://openapi-generator.tech
44
44
 
@@ -91,9 +91,9 @@ class JsonApiSingleResponseOfLineItemBidMultipliers(ModelNormal):
91
91
  """
92
92
  lazy_import()
93
93
  return {
94
- 'data': (JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersAndLineItemBidMultipliers,), # noqa: E501
95
- 'errors': ([CommonError],), # noqa: E501
96
- 'warnings': ([CommonWarning],), # noqa: E501
94
+ 'data': (JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersV2AndLineItemBidMultipliersV2,), # noqa: E501
95
+ 'errors': ([CommonError], none_type,), # noqa: E501
96
+ 'warnings': ([CommonWarning], none_type,), # noqa: E501
97
97
  }
98
98
 
99
99
  @cached_property
@@ -115,10 +115,10 @@ class JsonApiSingleResponseOfLineItemBidMultipliers(ModelNormal):
115
115
  @classmethod
116
116
  @convert_js_args_to_python_args
117
117
  def _from_openapi_data(cls, data, *args, **kwargs): # noqa: E501
118
- """JsonApiSingleResponseOfLineItemBidMultipliers - a model defined in OpenAPI
118
+ """JsonApiSingleResponseOfLineItemBidMultipliersV2 - a model defined in OpenAPI
119
119
 
120
120
  Args:
121
- data (JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersAndLineItemBidMultipliers):
121
+ data (JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersV2AndLineItemBidMultipliersV2):
122
122
 
123
123
  Keyword Args:
124
124
  _check_type (bool): if True, values for parameters in openapi_types
@@ -151,8 +151,8 @@ class JsonApiSingleResponseOfLineItemBidMultipliers(ModelNormal):
151
151
  Animal class but this time we won't travel
152
152
  through its discriminator because we passed in
153
153
  _visited_composed_classes = (Animal,)
154
- errors ([CommonError]): [optional] # noqa: E501
155
- warnings ([CommonWarning]): [optional] # noqa: E501
154
+ errors ([CommonError], none_type): [optional] # noqa: E501
155
+ warnings ([CommonWarning], none_type): [optional] # noqa: E501
156
156
  """
157
157
 
158
158
  _check_type = kwargs.pop('_check_type', True)
@@ -206,10 +206,10 @@ class JsonApiSingleResponseOfLineItemBidMultipliers(ModelNormal):
206
206
 
207
207
  @convert_js_args_to_python_args
208
208
  def __init__(self, data, *args, **kwargs): # noqa: E501
209
- """JsonApiSingleResponseOfLineItemBidMultipliers - a model defined in OpenAPI
209
+ """JsonApiSingleResponseOfLineItemBidMultipliersV2 - a model defined in OpenAPI
210
210
 
211
211
  Args:
212
- data (JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersAndLineItemBidMultipliers):
212
+ data (JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersV2AndLineItemBidMultipliersV2):
213
213
 
214
214
  Keyword Args:
215
215
  _check_type (bool): if True, values for parameters in openapi_types
@@ -242,8 +242,8 @@ class JsonApiSingleResponseOfLineItemBidMultipliers(ModelNormal):
242
242
  Animal class but this time we won't travel
243
243
  through its discriminator because we passed in
244
244
  _visited_composed_classes = (Animal,)
245
- errors ([CommonError]): [optional] # noqa: E501
246
- warnings ([CommonWarning]): [optional] # noqa: E501
245
+ errors ([CommonError], none_type): [optional] # noqa: E501
246
+ warnings ([CommonWarning], none_type): [optional] # noqa: E501
247
247
  """
248
248
 
249
249
  _check_type = kwargs.pop('_check_type', True)
@@ -30,11 +30,15 @@ from criteo_api_retailmedia_preview.exceptions import ApiAttributeError
30
30
 
31
31
 
32
32
  def lazy_import():
33
- from criteo_api_retailmedia_preview.model.retail_media_externalv1_input_keywords_model import RetailMediaExternalv1InputKeywordsModel
34
- globals()['RetailMediaExternalv1InputKeywordsModel'] = RetailMediaExternalv1InputKeywordsModel
33
+ from criteo_api_retailmedia_preview.model.input_keywords_model import InputKeywordsModel
34
+ from criteo_api_retailmedia_preview.model.match_type_model import MatchTypeModel
35
+ from criteo_api_retailmedia_preview.model.review_state_model import ReviewStateModel
36
+ globals()['InputKeywordsModel'] = InputKeywordsModel
37
+ globals()['MatchTypeModel'] = MatchTypeModel
38
+ globals()['ReviewStateModel'] = ReviewStateModel
35
39
 
36
40
 
37
- class RetailMediaExternalv1KeywordDataModel(ModelNormal):
41
+ class KeywordDataModel(ModelNormal):
38
42
  """NOTE: This class is auto generated by OpenAPI Generator.
39
43
  Ref: https://openapi-generator.tech
40
44
 
@@ -59,34 +63,12 @@ class RetailMediaExternalv1KeywordDataModel(ModelNormal):
59
63
  """
60
64
 
61
65
  allowed_values = {
62
- ('review_state',): {
63
- 'None': None,
64
- 'INREVIEW': "InReview",
65
- 'RECOMMENDED': "Recommended",
66
- 'APPROVED': "Approved",
67
- 'AUTOAPPROVED': "AutoApproved",
68
- 'REJECTED': "Rejected",
69
- 'AUTOREJECTED': "AutoRejected",
70
- },
71
- ('match_type',): {
72
- 'None': None,
73
- 'POSITIVEEXACTMATCH': "PositiveExactMatch",
74
- 'NEGATIVEEXACTMATCH': "NegativeExactMatch",
75
- 'NEGATIVEBROADMATCH': "NegativeBroadMatch",
76
- },
77
66
  }
78
67
 
79
68
  validations = {
80
69
  }
81
70
 
82
- @cached_property
83
- def additional_properties_type():
84
- """
85
- This must be a method because a model may have properties that are
86
- of type self, this must run after the class is loaded
87
- """
88
- lazy_import()
89
- return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
71
+ additional_properties_type = None
90
72
 
91
73
  _nullable = False
92
74
 
@@ -102,10 +84,10 @@ class RetailMediaExternalv1KeywordDataModel(ModelNormal):
102
84
  """
103
85
  lazy_import()
104
86
  return {
105
- 'review_state': (str, none_type,), # noqa: E501
106
- 'match_type': (str, none_type,), # noqa: E501
87
+ 'review_state': (ReviewStateModel,), # noqa: E501
88
+ 'match_type': (MatchTypeModel,), # noqa: E501
107
89
  'bid': (float, none_type,), # noqa: E501
108
- 'input_keywords': (RetailMediaExternalv1InputKeywordsModel,), # noqa: E501
90
+ 'input_keywords': (InputKeywordsModel,), # noqa: E501
109
91
  'created_at': (datetime, none_type,), # noqa: E501
110
92
  'updated_at': (datetime, none_type,), # noqa: E501
111
93
  }
@@ -132,7 +114,7 @@ class RetailMediaExternalv1KeywordDataModel(ModelNormal):
132
114
  @classmethod
133
115
  @convert_js_args_to_python_args
134
116
  def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
135
- """RetailMediaExternalv1KeywordDataModel - a model defined in OpenAPI
117
+ """KeywordDataModel - a model defined in OpenAPI
136
118
 
137
119
  Keyword Args:
138
120
  _check_type (bool): if True, values for parameters in openapi_types
@@ -165,10 +147,10 @@ class RetailMediaExternalv1KeywordDataModel(ModelNormal):
165
147
  Animal class but this time we won't travel
166
148
  through its discriminator because we passed in
167
149
  _visited_composed_classes = (Animal,)
168
- review_state (str, none_type): [optional] # noqa: E501
169
- match_type (str, none_type): [optional] # noqa: E501
150
+ review_state (ReviewStateModel): [optional] # noqa: E501
151
+ match_type (MatchTypeModel): [optional] # noqa: E501
170
152
  bid (float, none_type): [optional] # noqa: E501
171
- input_keywords (RetailMediaExternalv1InputKeywordsModel): [optional] # noqa: E501
153
+ input_keywords (InputKeywordsModel): [optional] # noqa: E501
172
154
  created_at (datetime, none_type): [optional] # noqa: E501
173
155
  updated_at (datetime, none_type): [optional] # noqa: E501
174
156
  """
@@ -223,7 +205,7 @@ class RetailMediaExternalv1KeywordDataModel(ModelNormal):
223
205
 
224
206
  @convert_js_args_to_python_args
225
207
  def __init__(self, *args, **kwargs): # noqa: E501
226
- """RetailMediaExternalv1KeywordDataModel - a model defined in OpenAPI
208
+ """KeywordDataModel - a model defined in OpenAPI
227
209
 
228
210
  Keyword Args:
229
211
  _check_type (bool): if True, values for parameters in openapi_types
@@ -256,10 +238,10 @@ class RetailMediaExternalv1KeywordDataModel(ModelNormal):
256
238
  Animal class but this time we won't travel
257
239
  through its discriminator because we passed in
258
240
  _visited_composed_classes = (Animal,)
259
- review_state (str, none_type): [optional] # noqa: E501
260
- match_type (str, none_type): [optional] # noqa: E501
241
+ review_state (ReviewStateModel): [optional] # noqa: E501
242
+ match_type (MatchTypeModel): [optional] # noqa: E501
261
243
  bid (float, none_type): [optional] # noqa: E501
262
- input_keywords (RetailMediaExternalv1InputKeywordsModel): [optional] # noqa: E501
244
+ input_keywords (InputKeywordsModel): [optional] # noqa: E501
263
245
  created_at (datetime, none_type): [optional] # noqa: E501
264
246
  updated_at (datetime, none_type): [optional] # noqa: E501
265
247
  """