criteo-api-retailmedia-sdk 0.0.240808__py3-none-any.whl → 0.0.250129__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 (130) hide show
  1. criteo_api_retailmedia_preview/__init__.py +1 -1
  2. criteo_api_retailmedia_preview/api/accounts_api.py +45 -198
  3. criteo_api_retailmedia_preview/api/analytics_api.py +3 -3
  4. criteo_api_retailmedia_preview/api/audience_api.py +89 -232
  5. criteo_api_retailmedia_preview/api/balance_api.py +0 -159
  6. criteo_api_retailmedia_preview/api/campaign_api.py +246 -1604
  7. criteo_api_retailmedia_preview/api/catalog_api.py +161 -0
  8. criteo_api_retailmedia_preview/api/on_site_recommendation_api.py +186 -0
  9. criteo_api_retailmedia_preview/api_client.py +4 -4
  10. criteo_api_retailmedia_preview/apis/__init__.py +1 -0
  11. criteo_api_retailmedia_preview/configuration.py +1 -1
  12. criteo_api_retailmedia_preview/model/async_accounts_report.py +40 -0
  13. criteo_api_retailmedia_preview/model/async_campaigns_report.py +40 -0
  14. criteo_api_retailmedia_preview/model/async_line_items_report.py +40 -0
  15. criteo_api_retailmedia_preview/model/balance_response_v2_response.py +1 -1
  16. criteo_api_retailmedia_preview/model/{creative_v2_response.py → bot_message.py} +17 -21
  17. criteo_api_retailmedia_preview/model/botmessage.py +329 -0
  18. criteo_api_retailmedia_preview/model/brand_id_search_request.py +271 -0
  19. criteo_api_retailmedia_preview/model/{external_retailer.py → brand_id_search_result.py} +26 -26
  20. criteo_api_retailmedia_preview/model/category.py +3 -3
  21. criteo_api_retailmedia_preview/model/change_details_v1.py +8 -18
  22. criteo_api_retailmedia_preview/model/{external_choice_variable_value.py → choice_variable_value.py} +4 -10
  23. criteo_api_retailmedia_preview/model/{external_color_variable_value.py → color_variable_value.py} +5 -11
  24. criteo_api_retailmedia_preview/model/{sku_search_request.py → cpc_min_bids_request.py} +11 -16
  25. criteo_api_retailmedia_preview/model/{page_of_insertion_order_history_change_data_capture_v2.py → cpc_min_bids_response.py} +19 -21
  26. criteo_api_retailmedia_preview/model/cpc_rate_card_preview.py +6 -6
  27. criteo_api_retailmedia_preview/model/{external_creative_v2.py → creative2.py} +23 -30
  28. criteo_api_retailmedia_preview/model/{resource_outcome_of_retail_media_account.py → creative2_list_response.py} +9 -9
  29. criteo_api_retailmedia_preview/model/{resource_collection_outcome_of_sku_search_result.py → creative2_response.py} +9 -9
  30. criteo_api_retailmedia_preview/model/{external_creative_create_model_v2.py → creative_create_model2.py} +9 -16
  31. criteo_api_retailmedia_preview/model/{external_creative_update_model_v2.py → creative_update_model2.py} +9 -16
  32. criteo_api_retailmedia_preview/model/{resource_of_retail_media_account.py → entity_resource_brand_id_search_result.py} +13 -13
  33. criteo_api_retailmedia_preview/model/{value_resource_outcome_of_campaign_budget_overrides.py → entity_resource_collection_outcome_brand_id_search_result.py} +16 -16
  34. criteo_api_retailmedia_preview/model/{rm_legacy_audience_get_entity_v1_list_response.py → entity_resource_collection_outcome_of_retail_media_child_account.py} +15 -9
  35. criteo_api_retailmedia_preview/model/{resource_of_add_funds_to_balance_v2.py → entity_resource_of_retail_media_child_account.py} +14 -14
  36. criteo_api_retailmedia_preview/model/external_line_item_bid_multipliers_v2.py +1 -1
  37. criteo_api_retailmedia_preview/model/{external_account.py → external_retail_media_child_account.py} +39 -56
  38. criteo_api_retailmedia_preview/model/{external_files_variable_value.py → files_variable_value.py} +4 -10
  39. criteo_api_retailmedia_preview/model/http_validation_error.py +269 -0
  40. criteo_api_retailmedia_preview/model/{external_hyperlink_variable_value.py → hyperlink_variable_value.py} +5 -11
  41. criteo_api_retailmedia_preview/model/inbot_discussion.py +272 -0
  42. criteo_api_retailmedia_preview/model/{external_brand.py → inbot_discussion_body_model.py} +17 -15
  43. criteo_api_retailmedia_preview/model/inbot_discussion_data_instance_model.py +279 -0
  44. criteo_api_retailmedia_preview/model/json_api_request_of_seller_catalog_request.py +1 -1
  45. criteo_api_retailmedia_preview/model/line_item_bid_multipliers_v2_request.py +1 -1
  46. criteo_api_retailmedia_preview/model/line_item_bid_multipliers_v2_response.py +1 -1
  47. criteo_api_retailmedia_preview/model/{external_text_variable_value.py → location_inner.py} +3 -7
  48. criteo_api_retailmedia_preview/model/message.py +273 -0
  49. criteo_api_retailmedia_preview/model/message_body_model.py +275 -0
  50. criteo_api_retailmedia_preview/model/{json_api_body_with_id_of_int64_and_retailer_and_retailer.py → message_data_instance_model.py} +16 -22
  51. criteo_api_retailmedia_preview/model/message_error.py +275 -0
  52. criteo_api_retailmedia_preview/model/{rm_legacy_segment_customer_list.py → offset_page_metadata.py} +21 -17
  53. criteo_api_retailmedia_preview/model/{resource_of_sku_search_result.py → outcome.py} +15 -17
  54. criteo_api_retailmedia_preview/model/{external_page_type_environment.py → page_type_environment2.py} +4 -10
  55. criteo_api_retailmedia_preview/model/placement_preview.py +4 -0
  56. criteo_api_retailmedia_preview/model/product.py +4 -0
  57. criteo_api_retailmedia_preview/model/product_recommendation.py +305 -0
  58. criteo_api_retailmedia_preview/model/{json_api_body_with_id_of_int64_and_account_and_account.py → report_detail_warning.py} +21 -21
  59. criteo_api_retailmedia_preview/model/report_detail_warnings.py +281 -0
  60. criteo_api_retailmedia_preview/model/report_ok_response.py +31 -17
  61. criteo_api_retailmedia_preview/model/{proposal_status_model_resource.py → resource_of_creative2.py} +14 -14
  62. criteo_api_retailmedia_preview/model/resource_of_line_item_bid_multipliers_v2.py +1 -1
  63. criteo_api_retailmedia_preview/model/resource_of_preferred_line_item_v2.py +1 -1
  64. criteo_api_retailmedia_preview/model/retail_media_seller.py +4 -0
  65. criteo_api_retailmedia_preview/model/rm_algebra_node_v1.py +275 -0
  66. criteo_api_retailmedia_preview/model/{rm_legacy_audience_get_entity_v1_resource.py → rm_audience_entity_v1.py} +45 -24
  67. criteo_api_retailmedia_preview/model/{rm_legacy_audience_get_entity_v2_resource.py → rm_audience_entity_v1_resource.py} +8 -8
  68. criteo_api_retailmedia_preview/model/{creative_v2_list_response.py → rm_audience_entity_v1_rm_audience_search_metadata_v1_list_response.py} +14 -8
  69. criteo_api_retailmedia_preview/model/rm_audience_search_entity_v1.py +271 -0
  70. criteo_api_retailmedia_preview/model/{resource_of_creative_v2.py → rm_audience_search_entity_v1_resource.py} +11 -15
  71. criteo_api_retailmedia_preview/model/{add_funds_to_balance_v2_request.py → rm_audience_search_input_v1.py} +8 -8
  72. criteo_api_retailmedia_preview/model/rm_audience_search_metadata_v1.py +271 -0
  73. criteo_api_retailmedia_preview/model/rm_audience_segment_create_entity_v1.py +17 -9
  74. criteo_api_retailmedia_preview/model/rm_audience_segment_entity_v1.py +7 -7
  75. criteo_api_retailmedia_preview/model/rm_audience_segment_search_entity_v1.py +1 -1
  76. criteo_api_retailmedia_preview/model/rm_contact_list_v1.py +5 -5
  77. criteo_api_retailmedia_preview/model/{rm_user_behavior_v1.py → rm_events_v1.py} +3 -3
  78. criteo_api_retailmedia_preview/model/{retail_media_account.py → sdk_api_rest_common_problem.py} +41 -42
  79. criteo_api_retailmedia_preview/model/seller_catalog_request.py +1 -1
  80. criteo_api_retailmedia_preview/model/{sku_search_request_body.py → seller_search.py} +18 -25
  81. criteo_api_retailmedia_preview/model/sku_data_preview.py +27 -27
  82. criteo_api_retailmedia_preview/model/sku_min_bid.py +269 -0
  83. criteo_api_retailmedia_preview/model/sku_slim_data_v2.py +9 -13
  84. criteo_api_retailmedia_preview/model/sync_attributed_transactions_report.py +4 -0
  85. criteo_api_retailmedia_preview/model/sync_campaigns_report.py +1 -11
  86. criteo_api_retailmedia_preview/model/sync_line_items_report.py +1 -11
  87. criteo_api_retailmedia_preview/model/{external_template_variable_value.py → template_variable_value.py} +36 -43
  88. criteo_api_retailmedia_preview/model/text_variable_value.py +257 -0
  89. criteo_api_retailmedia_preview/model/{json_api_body_with_id_of_int64_and_brand_and_brand.py → validation_error.py} +19 -17
  90. criteo_api_retailmedia_preview/model/{value_resource_of_retail_media_seller_account_creation.py → value_resource_brand_id_search_request.py} +10 -10
  91. criteo_api_retailmedia_preview/model/value_resource_collection_outcome_of_retail_media_seller.py +8 -8
  92. criteo_api_retailmedia_preview/model/{value_resource_of_campaign_budget_overrides.py → value_resource_cpc_min_bids_request.py} +10 -10
  93. criteo_api_retailmedia_preview/model/{value_resource_of_line_item_budget_overrides.py → value_resource_cpc_min_bids_response.py} +10 -10
  94. criteo_api_retailmedia_preview/model/{value_resource_input_of_line_item_budget_overrides.py → value_resource_input_brand_id_search_request.py} +8 -8
  95. criteo_api_retailmedia_preview/model/{value_resource_collection_input_of_retail_media_seller.py → value_resource_input_cpc_min_bids_request.py} +8 -8
  96. criteo_api_retailmedia_preview/model/{value_resource_input_of_campaign_budget_overrides.py → value_resource_input_of_seller_search.py} +8 -8
  97. criteo_api_retailmedia_preview/model/value_resource_of_retail_media_seller.py +2 -2
  98. criteo_api_retailmedia_preview/model/value_resource_of_seller_search.py +266 -0
  99. criteo_api_retailmedia_preview/model/{value_resource_outcome_of_line_item_budget_overrides.py → value_resource_outcome_cpc_min_bids_response.py} +16 -16
  100. criteo_api_retailmedia_preview/model/{external_video_variable_value.py → video_variable_value.py} +4 -10
  101. criteo_api_retailmedia_preview/models/__init__.py +60 -69
  102. {criteo_api_retailmedia_sdk-0.0.240808.dist-info → criteo_api_retailmedia_sdk-0.0.250129.dist-info}/METADATA +14 -5
  103. {criteo_api_retailmedia_sdk-0.0.240808.dist-info → criteo_api_retailmedia_sdk-0.0.250129.dist-info}/RECORD +105 -113
  104. {criteo_api_retailmedia_sdk-0.0.240808.dist-info → criteo_api_retailmedia_sdk-0.0.250129.dist-info}/WHEEL +1 -1
  105. criteo_api_retailmedia_preview/model/add_funds_to_balance_v2.py +0 -277
  106. criteo_api_retailmedia_preview/model/approval_status_model.py +0 -292
  107. criteo_api_retailmedia_preview/model/campaign_budget_overrides.py +0 -276
  108. criteo_api_retailmedia_preview/model/campaign_daily_budget_override.py +0 -283
  109. criteo_api_retailmedia_preview/model/campaign_monthly_budget_override.py +0 -283
  110. criteo_api_retailmedia_preview/model/change_details_v2.py +0 -275
  111. criteo_api_retailmedia_preview/model/daily_line_item_budget_override.py +0 -281
  112. criteo_api_retailmedia_preview/model/insertion_order_history_change_data_capture_v2.py +0 -303
  113. criteo_api_retailmedia_preview/model/json_api_page_response_of_account.py +0 -295
  114. criteo_api_retailmedia_preview/model/json_api_page_response_of_brand.py +0 -295
  115. criteo_api_retailmedia_preview/model/json_api_page_response_of_retailer.py +0 -295
  116. criteo_api_retailmedia_preview/model/line_item_budget_overrides.py +0 -276
  117. criteo_api_retailmedia_preview/model/monthly_line_item_budeget_override.py +0 -283
  118. criteo_api_retailmedia_preview/model/negotiation_state_model.py +0 -293
  119. criteo_api_retailmedia_preview/model/proposal_status_model.py +0 -284
  120. criteo_api_retailmedia_preview/model/proposal_status_model_response.py +0 -274
  121. criteo_api_retailmedia_preview/model/retail_media_seller_account_creation.py +0 -270
  122. criteo_api_retailmedia_preview/model/rm_legacy_audience_get_entity_v1.py +0 -291
  123. criteo_api_retailmedia_preview/model/rm_legacy_audience_get_entity_v2.py +0 -291
  124. criteo_api_retailmedia_preview/model/rm_legacy_audience_get_entity_v2_list_response.py +0 -281
  125. criteo_api_retailmedia_preview/model/rm_legacy_audience_user_behavior_details_v2.py +0 -279
  126. criteo_api_retailmedia_preview/model/rm_legacy_segment_user_behavior_v1.py +0 -306
  127. criteo_api_retailmedia_preview/model/rm_legacy_segment_user_behavior_v2.py +0 -311
  128. criteo_api_retailmedia_preview/model/sku_search_result.py +0 -313
  129. criteo_api_retailmedia_preview/model/value_resource_input_of_retail_media_seller_account_creation.py +0 -262
  130. {criteo_api_retailmedia_sdk-0.0.240808.dist-info → criteo_api_retailmedia_sdk-0.0.250129.dist-info}/top_level.txt +0 -0
@@ -55,6 +55,18 @@ class AsyncLineItemsReport(ModelNormal):
55
55
  """
56
56
 
57
57
  allowed_values = {
58
+ ('search_term_types',): {
59
+ 'None': None,
60
+ 'UNKNOWN': "unknown",
61
+ 'SEARCHED': "searched",
62
+ 'ENTERED': "entered",
63
+ },
64
+ ('search_term_targetings',): {
65
+ 'None': None,
66
+ 'UNKNOWN': "unknown",
67
+ 'AUTOMATIC': "automatic",
68
+ 'MANUAL': "manual",
69
+ },
58
70
  ('campaign_type',): {
59
71
  'None': None,
60
72
  'ALL': "all",
@@ -84,6 +96,7 @@ class AsyncLineItemsReport(ModelNormal):
84
96
  'ATTRIBUTEDTRANSACTIONS': "attributedTransactions",
85
97
  'ENVIRONMENT': "environment",
86
98
  'SERVEDCATEGORY': "servedCategory",
99
+ 'CAPOUT': "capout",
87
100
  },
88
101
  ('click_attribution_window',): {
89
102
  'None': None,
@@ -122,9 +135,18 @@ class AsyncLineItemsReport(ModelNormal):
122
135
  'ENVIRONMENT': "environment",
123
136
  'PAGETYPENAME': "pageTypeName",
124
137
  'PAGECATEGORY': "pageCategory",
138
+ 'SERVEDCATEGORY': "servedCategory",
125
139
  'TAXONOMYBREADCRUMB': "taxonomyBreadcrumb",
126
140
  'KEYWORD': "keyword",
127
141
  'SEARCHTERM': "searchTerm",
142
+ 'SEARCHTERMTYPE': "searchTermType",
143
+ 'SEARCHTERMTARGETING': "searchTermTargeting",
144
+ 'CREATIVEID': "creativeId",
145
+ 'CREATIVENAME': "creativeName",
146
+ 'CREATIVETYPEID': "creativeTypeId",
147
+ 'CREATIVETYPENAME': "creativeTypeName",
148
+ 'CREATIVETEMPLATEID': "creativeTemplateId",
149
+ 'CREATIVETEMPLATENAME': "creativeTemplateName",
128
150
  },
129
151
  ('metrics',): {
130
152
  'None': None,
@@ -149,6 +171,16 @@ class AsyncLineItemsReport(ModelNormal):
149
171
  'VIDEOSPLAYEDTO100': "videosPlayedTo100",
150
172
  'VIDEOPLAYINGRATE': "videoPlayingRate",
151
173
  'VIDEOCOMPLETIONRATE': "videoCompletionRate",
174
+ 'VIDEOIMPRESSIONS': "videoImpressions",
175
+ 'VIDEOMUTED': "videoMuted",
176
+ 'VIDEOUNMUTED': "videoUnmuted",
177
+ 'VIDEOPAUSED': "videoPaused",
178
+ 'VIDEORESUMED': "videoResumed",
179
+ 'VIDEOAVGINTERACTIONRATE': "videoAvgInteractionRate",
180
+ 'VIDEOVIEWABILITY': "videoViewability",
181
+ 'VIDEOSTARTINGRATE': "videoStartingRate",
182
+ 'VIDEOCPC': "videoCPC",
183
+ 'VIDEOCPCV': "videoCPCV",
152
184
  'UNIQUEVISITORS': "uniqueVisitors",
153
185
  'FREQUENCY': "frequency",
154
186
  },
@@ -182,6 +214,8 @@ class AsyncLineItemsReport(ModelNormal):
182
214
  'end_date': (datetime,), # noqa: E501
183
215
  'ids': ([str], none_type,), # noqa: E501
184
216
  'id': (str, none_type,), # noqa: E501
217
+ 'search_term_types': ([str], none_type,), # noqa: E501
218
+ 'search_term_targetings': ([str], none_type,), # noqa: E501
185
219
  'campaign_type': (str, none_type,), # noqa: E501
186
220
  'sales_channel': (str, none_type,), # noqa: E501
187
221
  'format': (str, none_type,), # noqa: E501
@@ -203,6 +237,8 @@ class AsyncLineItemsReport(ModelNormal):
203
237
  'end_date': 'endDate', # noqa: E501
204
238
  'ids': 'ids', # noqa: E501
205
239
  'id': 'id', # noqa: E501
240
+ 'search_term_types': 'searchTermTypes', # noqa: E501
241
+ 'search_term_targetings': 'searchTermTargetings', # noqa: E501
206
242
  'campaign_type': 'campaignType', # noqa: E501
207
243
  'sales_channel': 'salesChannel', # noqa: E501
208
244
  'format': 'format', # noqa: E501
@@ -261,6 +297,8 @@ class AsyncLineItemsReport(ModelNormal):
261
297
  _visited_composed_classes = (Animal,)
262
298
  ids ([str], none_type): Line Item ids to report on. [optional] # noqa: E501
263
299
  id (str, none_type): Line Item id to report on. [optional] # noqa: E501
300
+ search_term_types ([str], none_type): Filter on the type of search term type: unknown, searched, entered. [optional] # noqa: E501
301
+ search_term_targetings ([str], none_type): Filter on the type of search term targeting: unknown, automatic, manual. [optional] # noqa: E501
264
302
  campaign_type (str, none_type): Filter the type of campaigns to report on: sponsoredProducts or onSiteDisplays. [optional] if omitted the server will use the default value of "all" # noqa: E501
265
303
  sales_channel (str, none_type): Filter on specific sales channel: offline or online. [optional] if omitted the server will use the default value of "all" # noqa: E501
266
304
  format (str, none_type): Format of the output. [optional] if omitted the server will use the default value of "json-compact" # noqa: E501
@@ -363,6 +401,8 @@ class AsyncLineItemsReport(ModelNormal):
363
401
  _visited_composed_classes = (Animal,)
364
402
  ids ([str], none_type): Line Item ids to report on. [optional] # noqa: E501
365
403
  id (str, none_type): Line Item id to report on. [optional] # noqa: E501
404
+ search_term_types ([str], none_type): Filter on the type of search term type: unknown, searched, entered. [optional] # noqa: E501
405
+ search_term_targetings ([str], none_type): Filter on the type of search term targeting: unknown, automatic, manual. [optional] # noqa: E501
366
406
  campaign_type (str, none_type): Filter the type of campaigns to report on: sponsoredProducts or onSiteDisplays. [optional] if omitted the server will use the default value of "all" # noqa: E501
367
407
  sales_channel (str, none_type): Filter on specific sales channel: offline or online. [optional] if omitted the server will use the default value of "all" # noqa: E501
368
408
  format (str, none_type): Format of the output. [optional] if omitted the server will use the default value of "json-compact" # noqa: E501
@@ -75,7 +75,7 @@ class BalanceResponseV2Response(ModelNormal):
75
75
  lazy_import()
76
76
  return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
77
77
 
78
- _nullable = False
78
+ _nullable = True
79
79
 
80
80
  @cached_property
81
81
  def openapi_types():
@@ -30,13 +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.common_problem import CommonProblem
34
- from criteo_api_retailmedia_preview.model.resource_of_creative_v2 import ResourceOfCreativeV2
35
- globals()['CommonProblem'] = CommonProblem
36
- globals()['ResourceOfCreativeV2'] = ResourceOfCreativeV2
33
+ from criteo_api_retailmedia_preview.model.product_recommendation import ProductRecommendation
34
+ globals()['ProductRecommendation'] = ProductRecommendation
37
35
 
38
36
 
39
- class CreativeV2Response(ModelNormal):
37
+ class BotMessage(ModelNormal):
40
38
  """NOTE: This class is auto generated by OpenAPI Generator.
41
39
  Ref: https://openapi-generator.tech
42
40
 
@@ -89,9 +87,9 @@ class CreativeV2Response(ModelNormal):
89
87
  """
90
88
  lazy_import()
91
89
  return {
92
- 'data': (ResourceOfCreativeV2,), # noqa: E501
93
- 'warnings': ([CommonProblem], none_type,), # noqa: E501
94
- 'errors': ([CommonProblem], none_type,), # noqa: E501
90
+ 'opening': (str, none_type,), # noqa: E501
91
+ 'product_recos': ([ProductRecommendation], none_type,), # noqa: E501
92
+ 'closing': (str, none_type,), # noqa: E501
95
93
  }
96
94
 
97
95
  @cached_property
@@ -100,14 +98,12 @@ class CreativeV2Response(ModelNormal):
100
98
 
101
99
 
102
100
  attribute_map = {
103
- 'data': 'data', # noqa: E501
104
- 'warnings': 'warnings', # noqa: E501
105
- 'errors': 'errors', # noqa: E501
101
+ 'opening': 'opening', # noqa: E501
102
+ 'product_recos': 'productRecos', # noqa: E501
103
+ 'closing': 'closing', # noqa: E501
106
104
  }
107
105
 
108
106
  read_only_vars = {
109
- 'warnings', # noqa: E501
110
- 'errors', # noqa: E501
111
107
  }
112
108
 
113
109
  _composed_schemas = {}
@@ -115,7 +111,7 @@ class CreativeV2Response(ModelNormal):
115
111
  @classmethod
116
112
  @convert_js_args_to_python_args
117
113
  def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
118
- """CreativeV2Response - a model defined in OpenAPI
114
+ """BotMessage - a model defined in OpenAPI
119
115
 
120
116
  Keyword Args:
121
117
  _check_type (bool): if True, values for parameters in openapi_types
@@ -148,9 +144,9 @@ class CreativeV2Response(ModelNormal):
148
144
  Animal class but this time we won't travel
149
145
  through its discriminator because we passed in
150
146
  _visited_composed_classes = (Animal,)
151
- data (ResourceOfCreativeV2): [optional] # noqa: E501
152
- warnings ([CommonProblem], none_type): [optional] # noqa: E501
153
- errors ([CommonProblem], none_type): [optional] # noqa: E501
147
+ opening (str, none_type): opening comment from the bot, introducing the list of recommended products if relevant.. [optional] # noqa: E501
148
+ product_recos ([ProductRecommendation], none_type): list of recommended products. [optional] # noqa: E501
149
+ closing (str, none_type): closing remark from the bot. [optional] # noqa: E501
154
150
  """
155
151
 
156
152
  _check_type = kwargs.pop('_check_type', True)
@@ -203,7 +199,7 @@ class CreativeV2Response(ModelNormal):
203
199
 
204
200
  @convert_js_args_to_python_args
205
201
  def __init__(self, *args, **kwargs): # noqa: E501
206
- """CreativeV2Response - a model defined in OpenAPI
202
+ """BotMessage - a model defined in OpenAPI
207
203
 
208
204
  Keyword Args:
209
205
  _check_type (bool): if True, values for parameters in openapi_types
@@ -236,9 +232,9 @@ class CreativeV2Response(ModelNormal):
236
232
  Animal class but this time we won't travel
237
233
  through its discriminator because we passed in
238
234
  _visited_composed_classes = (Animal,)
239
- data (ResourceOfCreativeV2): [optional] # noqa: E501
240
- warnings ([CommonProblem], none_type): [optional] # noqa: E501
241
- errors ([CommonProblem], none_type): [optional] # noqa: E501
235
+ opening (str, none_type): opening comment from the bot, introducing the list of recommended products if relevant.. [optional] # noqa: E501
236
+ product_recos ([ProductRecommendation], none_type): list of recommended products. [optional] # noqa: E501
237
+ closing (str, none_type): closing remark from the bot. [optional] # noqa: E501
242
238
  """
243
239
 
244
240
  _check_type = kwargs.pop('_check_type', True)
@@ -0,0 +1,329 @@
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.bot_message import BotMessage
34
+ from criteo_api_retailmedia_preview.model.product_recommendation import ProductRecommendation
35
+ globals()['BotMessage'] = BotMessage
36
+ globals()['ProductRecommendation'] = ProductRecommendation
37
+
38
+
39
+ class Botmessage(ModelComposed):
40
+ """NOTE: This class is auto generated by OpenAPI Generator.
41
+ Ref: https://openapi-generator.tech
42
+
43
+ Do not edit the class manually.
44
+
45
+ Attributes:
46
+ allowed_values (dict): The key is the tuple path to the attribute
47
+ and the for var_name this is (var_name,). The value is a dict
48
+ with a capitalized key describing the allowed value and an allowed
49
+ value. These dicts store the allowed enum values.
50
+ attribute_map (dict): The key is attribute name
51
+ and the value is json key in definition.
52
+ discriminator_value_class_map (dict): A dict to go from the discriminator
53
+ variable value to the discriminator class name.
54
+ validations (dict): The key is the tuple path to the attribute
55
+ and the for var_name this is (var_name,). The value is a dict
56
+ that stores validations for max_length, min_length, max_items,
57
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
58
+ inclusive_minimum, and regex.
59
+ additional_properties_type (tuple): A tuple of classes accepted
60
+ as additional properties values.
61
+ """
62
+
63
+ allowed_values = {
64
+ }
65
+
66
+ validations = {
67
+ }
68
+
69
+ @cached_property
70
+ def additional_properties_type():
71
+ """
72
+ This must be a method because a model may have properties that are
73
+ of type self, this must run after the class is loaded
74
+ """
75
+ lazy_import()
76
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
77
+
78
+ _nullable = True
79
+
80
+ @cached_property
81
+ def openapi_types():
82
+ """
83
+ This must be a method because a model may have properties that are
84
+ of type self, this must run after the class is loaded
85
+
86
+ Returns
87
+ openapi_types (dict): The key is attribute name
88
+ and the value is attribute type.
89
+ """
90
+ lazy_import()
91
+ return {
92
+ 'opening': (str, none_type,), # noqa: E501
93
+ 'product_recos': ([ProductRecommendation], none_type,), # noqa: E501
94
+ 'closing': (str, none_type,), # noqa: E501
95
+ }
96
+
97
+ @cached_property
98
+ def discriminator():
99
+ return None
100
+
101
+
102
+ attribute_map = {
103
+ 'opening': 'opening', # noqa: E501
104
+ 'product_recos': 'productRecos', # noqa: E501
105
+ 'closing': 'closing', # noqa: E501
106
+ }
107
+
108
+ read_only_vars = {
109
+ }
110
+
111
+ @classmethod
112
+ @convert_js_args_to_python_args
113
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
114
+ """Botmessage - a model defined in OpenAPI
115
+
116
+ Keyword Args:
117
+ _check_type (bool): if True, values for parameters in openapi_types
118
+ will be type checked and a TypeError will be
119
+ raised if the wrong type is input.
120
+ Defaults to True
121
+ _path_to_item (tuple/list): This is a list of keys or values to
122
+ drill down to the model in received_data
123
+ when deserializing a response
124
+ _spec_property_naming (bool): True if the variable names in the input data
125
+ are serialized names, as specified in the OpenAPI document.
126
+ False if the variable names in the input data
127
+ are pythonic names, e.g. snake case (default)
128
+ _configuration (Configuration): the instance to use when
129
+ deserializing a file_type parameter.
130
+ If passed, type conversion is attempted
131
+ If omitted no type conversion is done.
132
+ _visited_composed_classes (tuple): This stores a tuple of
133
+ classes that we have traveled through so that
134
+ if we see that class again we will not use its
135
+ discriminator again.
136
+ When traveling through a discriminator, the
137
+ composed schema that is
138
+ is traveled through is added to this set.
139
+ For example if Animal has a discriminator
140
+ petType and we pass in "Dog", and the class Dog
141
+ allOf includes Animal, we move through Animal
142
+ once using the discriminator, and pick Dog.
143
+ Then in Dog, we will make an instance of the
144
+ Animal class but this time we won't travel
145
+ through its discriminator because we passed in
146
+ _visited_composed_classes = (Animal,)
147
+ opening (str, none_type): opening comment from the bot, introducing the list of recommended products if relevant.. [optional] # noqa: E501
148
+ product_recos ([ProductRecommendation], none_type): list of recommended products. [optional] # noqa: E501
149
+ closing (str, none_type): closing remark from the bot. [optional] # noqa: E501
150
+ """
151
+
152
+ _check_type = kwargs.pop('_check_type', True)
153
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
154
+ _path_to_item = kwargs.pop('_path_to_item', ())
155
+ _configuration = kwargs.pop('_configuration', None)
156
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
157
+
158
+ self = super(OpenApiModel, cls).__new__(cls)
159
+
160
+ if args:
161
+ for arg in args:
162
+ if isinstance(arg, dict):
163
+ kwargs.update(arg)
164
+ else:
165
+ raise ApiTypeError(
166
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
167
+ args,
168
+ self.__class__.__name__,
169
+ ),
170
+ path_to_item=_path_to_item,
171
+ valid_classes=(self.__class__,),
172
+ )
173
+
174
+ self._data_store = {}
175
+ self._check_type = _check_type
176
+ self._spec_property_naming = _spec_property_naming
177
+ self._path_to_item = _path_to_item
178
+ self._configuration = _configuration
179
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
180
+
181
+ constant_args = {
182
+ '_check_type': _check_type,
183
+ '_path_to_item': _path_to_item,
184
+ '_spec_property_naming': _spec_property_naming,
185
+ '_configuration': _configuration,
186
+ '_visited_composed_classes': self._visited_composed_classes,
187
+ }
188
+ composed_info = validate_get_composed_info(
189
+ constant_args, kwargs, self)
190
+ self._composed_instances = composed_info[0]
191
+ self._var_name_to_model_instances = composed_info[1]
192
+ self._additional_properties_model_instances = composed_info[2]
193
+ discarded_args = composed_info[3]
194
+
195
+ for var_name, var_value in kwargs.items():
196
+ if var_name in discarded_args and \
197
+ self._configuration is not None and \
198
+ self._configuration.discard_unknown_keys and \
199
+ self._additional_properties_model_instances:
200
+ # discard variable.
201
+ continue
202
+ setattr(self, var_name, var_value)
203
+
204
+ return self
205
+
206
+ required_properties = set([
207
+ '_data_store',
208
+ '_check_type',
209
+ '_spec_property_naming',
210
+ '_path_to_item',
211
+ '_configuration',
212
+ '_visited_composed_classes',
213
+ '_composed_instances',
214
+ '_var_name_to_model_instances',
215
+ '_additional_properties_model_instances',
216
+ ])
217
+
218
+ @convert_js_args_to_python_args
219
+ def __init__(self, *args, **kwargs): # noqa: E501
220
+ """Botmessage - a model defined in OpenAPI
221
+
222
+ Keyword Args:
223
+ _check_type (bool): if True, values for parameters in openapi_types
224
+ will be type checked and a TypeError will be
225
+ raised if the wrong type is input.
226
+ Defaults to True
227
+ _path_to_item (tuple/list): This is a list of keys or values to
228
+ drill down to the model in received_data
229
+ when deserializing a response
230
+ _spec_property_naming (bool): True if the variable names in the input data
231
+ are serialized names, as specified in the OpenAPI document.
232
+ False if the variable names in the input data
233
+ are pythonic names, e.g. snake case (default)
234
+ _configuration (Configuration): the instance to use when
235
+ deserializing a file_type parameter.
236
+ If passed, type conversion is attempted
237
+ If omitted no type conversion is done.
238
+ _visited_composed_classes (tuple): This stores a tuple of
239
+ classes that we have traveled through so that
240
+ if we see that class again we will not use its
241
+ discriminator again.
242
+ When traveling through a discriminator, the
243
+ composed schema that is
244
+ is traveled through is added to this set.
245
+ For example if Animal has a discriminator
246
+ petType and we pass in "Dog", and the class Dog
247
+ allOf includes Animal, we move through Animal
248
+ once using the discriminator, and pick Dog.
249
+ Then in Dog, we will make an instance of the
250
+ Animal class but this time we won't travel
251
+ through its discriminator because we passed in
252
+ _visited_composed_classes = (Animal,)
253
+ opening (str, none_type): opening comment from the bot, introducing the list of recommended products if relevant.. [optional] # noqa: E501
254
+ product_recos ([ProductRecommendation], none_type): list of recommended products. [optional] # noqa: E501
255
+ closing (str, none_type): closing remark from the bot. [optional] # noqa: E501
256
+ """
257
+
258
+ _check_type = kwargs.pop('_check_type', True)
259
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
260
+ _path_to_item = kwargs.pop('_path_to_item', ())
261
+ _configuration = kwargs.pop('_configuration', None)
262
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
263
+
264
+ if args:
265
+ for arg in args:
266
+ if isinstance(arg, dict):
267
+ kwargs.update(arg)
268
+ else:
269
+ raise ApiTypeError(
270
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
271
+ args,
272
+ self.__class__.__name__,
273
+ ),
274
+ path_to_item=_path_to_item,
275
+ valid_classes=(self.__class__,),
276
+ )
277
+
278
+ self._data_store = {}
279
+ self._check_type = _check_type
280
+ self._spec_property_naming = _spec_property_naming
281
+ self._path_to_item = _path_to_item
282
+ self._configuration = _configuration
283
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
284
+
285
+ constant_args = {
286
+ '_check_type': _check_type,
287
+ '_path_to_item': _path_to_item,
288
+ '_spec_property_naming': _spec_property_naming,
289
+ '_configuration': _configuration,
290
+ '_visited_composed_classes': self._visited_composed_classes,
291
+ }
292
+ composed_info = validate_get_composed_info(
293
+ constant_args, kwargs, self)
294
+ self._composed_instances = composed_info[0]
295
+ self._var_name_to_model_instances = composed_info[1]
296
+ self._additional_properties_model_instances = composed_info[2]
297
+ discarded_args = composed_info[3]
298
+
299
+ for var_name, var_value in kwargs.items():
300
+ if var_name in discarded_args and \
301
+ self._configuration is not None and \
302
+ self._configuration.discard_unknown_keys and \
303
+ self._additional_properties_model_instances:
304
+ # discard variable.
305
+ continue
306
+ setattr(self, var_name, var_value)
307
+ if var_name in self.read_only_vars:
308
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
309
+ f"class with read only attributes.")
310
+
311
+ @cached_property
312
+ def _composed_schemas():
313
+ # we need this here to make our import statements work
314
+ # we must store _composed_schemas in here so the code is only run
315
+ # when we invoke this method. If we kept this at the class
316
+ # level we would get an error because the class level
317
+ # code would be run when this module is imported, and these composed
318
+ # classes don't exist yet because their module has not finished
319
+ # loading
320
+ lazy_import()
321
+ return {
322
+ 'anyOf': [
323
+ ],
324
+ 'allOf': [
325
+ BotMessage,
326
+ ],
327
+ 'oneOf': [
328
+ ],
329
+ }