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,626 @@
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.custom_attribute import CustomAttribute
34
+ from criteo_api_retailmedia_preview.model.installment import Installment
35
+ from criteo_api_retailmedia_preview.model.loyalty_points import LoyaltyPoints
36
+ from criteo_api_retailmedia_preview.model.price import Price
37
+ from criteo_api_retailmedia_preview.model.product_shipping import ProductShipping
38
+ from criteo_api_retailmedia_preview.model.product_shipping_dimension import ProductShippingDimension
39
+ from criteo_api_retailmedia_preview.model.product_shipping_weight import ProductShippingWeight
40
+ from criteo_api_retailmedia_preview.model.product_tax import ProductTax
41
+ from criteo_api_retailmedia_preview.model.product_unit_pricing_base_measure import ProductUnitPricingBaseMeasure
42
+ from criteo_api_retailmedia_preview.model.product_unit_pricing_measure import ProductUnitPricingMeasure
43
+ globals()['CustomAttribute'] = CustomAttribute
44
+ globals()['Installment'] = Installment
45
+ globals()['LoyaltyPoints'] = LoyaltyPoints
46
+ globals()['Price'] = Price
47
+ globals()['ProductShipping'] = ProductShipping
48
+ globals()['ProductShippingDimension'] = ProductShippingDimension
49
+ globals()['ProductShippingWeight'] = ProductShippingWeight
50
+ globals()['ProductTax'] = ProductTax
51
+ globals()['ProductUnitPricingBaseMeasure'] = ProductUnitPricingBaseMeasure
52
+ globals()['ProductUnitPricingMeasure'] = ProductUnitPricingMeasure
53
+
54
+
55
+ class Product(ModelNormal):
56
+ """NOTE: This class is auto generated by OpenAPI Generator.
57
+ Ref: https://openapi-generator.tech
58
+
59
+ Do not edit the class manually.
60
+
61
+ Attributes:
62
+ allowed_values (dict): The key is the tuple path to the attribute
63
+ and the for var_name this is (var_name,). The value is a dict
64
+ with a capitalized key describing the allowed value and an allowed
65
+ value. These dicts store the allowed enum values.
66
+ attribute_map (dict): The key is attribute name
67
+ and the value is json key in definition.
68
+ discriminator_value_class_map (dict): A dict to go from the discriminator
69
+ variable value to the discriminator class name.
70
+ validations (dict): The key is the tuple path to the attribute
71
+ and the for var_name this is (var_name,). The value is a dict
72
+ that stores validations for max_length, min_length, max_items,
73
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
74
+ inclusive_minimum, and regex.
75
+ additional_properties_type (tuple): A tuple of classes accepted
76
+ as additional properties values.
77
+ """
78
+
79
+ allowed_values = {
80
+ ('channel',): {
81
+ 'ONLINE': "online",
82
+ },
83
+ }
84
+
85
+ validations = {
86
+ }
87
+
88
+ @cached_property
89
+ def additional_properties_type():
90
+ """
91
+ This must be a method because a model may have properties that are
92
+ of type self, this must run after the class is loaded
93
+ """
94
+ lazy_import()
95
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
96
+
97
+ _nullable = False
98
+
99
+ @cached_property
100
+ def openapi_types():
101
+ """
102
+ This must be a method because a model may have properties that are
103
+ of type self, this must run after the class is loaded
104
+
105
+ Returns
106
+ openapi_types (dict): The key is attribute name
107
+ and the value is attribute type.
108
+ """
109
+ lazy_import()
110
+ return {
111
+ 'id': (str,), # noqa: E501
112
+ 'title': (str,), # noqa: E501
113
+ 'link': (str,), # noqa: E501
114
+ 'image_link': (str,), # noqa: E501
115
+ 'channel': (str,), # noqa: E501
116
+ 'offer_id': (str, none_type,), # noqa: E501
117
+ 'description': (str, none_type,), # noqa: E501
118
+ 'additional_image_links': ([str], none_type,), # noqa: E501
119
+ 'content_language': (str, none_type,), # noqa: E501
120
+ 'target_country': (str, none_type,), # noqa: E501
121
+ 'expiration_date': (str, none_type,), # noqa: E501
122
+ 'adult': (bool, none_type,), # noqa: E501
123
+ 'kind': (str, none_type,), # noqa: E501
124
+ 'brand': (str, none_type,), # noqa: E501
125
+ 'color': (str, none_type,), # noqa: E501
126
+ 'google_product_category': (str, none_type,), # noqa: E501
127
+ 'gtin': (str, none_type,), # noqa: E501
128
+ 'item_group_id': (str, none_type,), # noqa: E501
129
+ 'material': (str, none_type,), # noqa: E501
130
+ 'mpn': (str, none_type,), # noqa: E501
131
+ 'pattern': (str, none_type,), # noqa: E501
132
+ 'price': (Price,), # noqa: E501
133
+ 'sale_price': (Price,), # noqa: E501
134
+ 'sale_price_effective_date': (str, none_type,), # noqa: E501
135
+ 'shipping': ([ProductShipping], none_type,), # noqa: E501
136
+ 'shipping_weight': (ProductShippingWeight,), # noqa: E501
137
+ 'sizes': ([str], none_type,), # noqa: E501
138
+ 'taxes': ([ProductTax], none_type,), # noqa: E501
139
+ 'custom_attributes': ([CustomAttribute], none_type,), # noqa: E501
140
+ 'identifier_exists': (bool, none_type,), # noqa: E501
141
+ 'installment': (Installment,), # noqa: E501
142
+ 'loyalty_points': (LoyaltyPoints,), # noqa: E501
143
+ 'multipack': (int, none_type,), # noqa: E501
144
+ 'custom_label0': (str, none_type,), # noqa: E501
145
+ 'custom_label1': (str, none_type,), # noqa: E501
146
+ 'custom_label2': (str, none_type,), # noqa: E501
147
+ 'custom_label3': (str, none_type,), # noqa: E501
148
+ 'custom_label4': (str, none_type,), # noqa: E501
149
+ 'is_bundle': (bool, none_type,), # noqa: E501
150
+ 'mobile_link': (str, none_type,), # noqa: E501
151
+ 'availability_date': (str, none_type,), # noqa: E501
152
+ 'shipping_label': (str, none_type,), # noqa: E501
153
+ 'unit_pricing_measure': (ProductUnitPricingMeasure,), # noqa: E501
154
+ 'unit_pricing_base_measure': (ProductUnitPricingBaseMeasure,), # noqa: E501
155
+ 'shipping_length': (ProductShippingDimension,), # noqa: E501
156
+ 'shipping_width': (ProductShippingDimension,), # noqa: E501
157
+ 'shipping_height': (ProductShippingDimension,), # noqa: E501
158
+ 'display_ads_id': (str, none_type,), # noqa: E501
159
+ 'display_ads_similar_ids': ([str], none_type,), # noqa: E501
160
+ 'display_ads_title': (str, none_type,), # noqa: E501
161
+ 'display_ads_link': (str, none_type,), # noqa: E501
162
+ 'display_ads_value': (float, none_type,), # noqa: E501
163
+ 'sell_on_google_quantity': (int, none_type,), # noqa: E501
164
+ 'promotion_ids': ([str], none_type,), # noqa: E501
165
+ 'max_handling_time': (int, none_type,), # noqa: E501
166
+ 'min_handling_time': (int, none_type,), # noqa: E501
167
+ 'cost_of_goods_sold': (Price,), # noqa: E501
168
+ 'source': (str, none_type,), # noqa: E501
169
+ 'included_destinations': ([str], none_type,), # noqa: E501
170
+ 'excluded_destinations': ([str], none_type,), # noqa: E501
171
+ 'ads_grouping': (str, none_type,), # noqa: E501
172
+ 'ads_labels': ([str], none_type,), # noqa: E501
173
+ 'ads_redirect': (str, none_type,), # noqa: E501
174
+ 'product_types': ([str], none_type,), # noqa: E501
175
+ 'product_type_keys': ([str], none_type,), # noqa: E501
176
+ 'age_group': (str, none_type,), # noqa: E501
177
+ 'availability': (str, none_type,), # noqa: E501
178
+ 'condition': (str, none_type,), # noqa: E501
179
+ 'gender': (str, none_type,), # noqa: E501
180
+ 'size_system': (str, none_type,), # noqa: E501
181
+ 'size_type': (str, none_type,), # noqa: E501
182
+ 'energy_efficiency_class': (str, none_type,), # noqa: E501
183
+ 'min_energy_efficiency_class': (str, none_type,), # noqa: E501
184
+ 'max_energy_efficiency_class': (str, none_type,), # noqa: E501
185
+ 'tax_category': (str, none_type,), # noqa: E501
186
+ 'transit_time_label': (str, none_type,), # noqa: E501
187
+ 'seller_id': (str, none_type,), # noqa: E501
188
+ 'external_seller_id': (str, none_type,), # noqa: E501
189
+ 'external_seller_name': (str, none_type,), # noqa: E501
190
+ 'number_of_reviews': (int, none_type,), # noqa: E501
191
+ 'product_rating': (str, none_type,), # noqa: E501
192
+ }
193
+
194
+ @cached_property
195
+ def discriminator():
196
+ return None
197
+
198
+
199
+ attribute_map = {
200
+ 'id': 'id', # noqa: E501
201
+ 'title': 'title', # noqa: E501
202
+ 'link': 'link', # noqa: E501
203
+ 'image_link': 'imageLink', # noqa: E501
204
+ 'channel': 'channel', # noqa: E501
205
+ 'offer_id': 'offerId', # noqa: E501
206
+ 'description': 'description', # noqa: E501
207
+ 'additional_image_links': 'additionalImageLinks', # noqa: E501
208
+ 'content_language': 'contentLanguage', # noqa: E501
209
+ 'target_country': 'targetCountry', # noqa: E501
210
+ 'expiration_date': 'expirationDate', # noqa: E501
211
+ 'adult': 'adult', # noqa: E501
212
+ 'kind': 'kind', # noqa: E501
213
+ 'brand': 'brand', # noqa: E501
214
+ 'color': 'color', # noqa: E501
215
+ 'google_product_category': 'googleProductCategory', # noqa: E501
216
+ 'gtin': 'gtin', # noqa: E501
217
+ 'item_group_id': 'itemGroupId', # noqa: E501
218
+ 'material': 'material', # noqa: E501
219
+ 'mpn': 'mpn', # noqa: E501
220
+ 'pattern': 'pattern', # noqa: E501
221
+ 'price': 'price', # noqa: E501
222
+ 'sale_price': 'salePrice', # noqa: E501
223
+ 'sale_price_effective_date': 'salePriceEffectiveDate', # noqa: E501
224
+ 'shipping': 'shipping', # noqa: E501
225
+ 'shipping_weight': 'shippingWeight', # noqa: E501
226
+ 'sizes': 'sizes', # noqa: E501
227
+ 'taxes': 'taxes', # noqa: E501
228
+ 'custom_attributes': 'customAttributes', # noqa: E501
229
+ 'identifier_exists': 'identifierExists', # noqa: E501
230
+ 'installment': 'installment', # noqa: E501
231
+ 'loyalty_points': 'loyaltyPoints', # noqa: E501
232
+ 'multipack': 'multipack', # noqa: E501
233
+ 'custom_label0': 'customLabel0', # noqa: E501
234
+ 'custom_label1': 'customLabel1', # noqa: E501
235
+ 'custom_label2': 'customLabel2', # noqa: E501
236
+ 'custom_label3': 'customLabel3', # noqa: E501
237
+ 'custom_label4': 'customLabel4', # noqa: E501
238
+ 'is_bundle': 'isBundle', # noqa: E501
239
+ 'mobile_link': 'mobileLink', # noqa: E501
240
+ 'availability_date': 'availabilityDate', # noqa: E501
241
+ 'shipping_label': 'shippingLabel', # noqa: E501
242
+ 'unit_pricing_measure': 'unitPricingMeasure', # noqa: E501
243
+ 'unit_pricing_base_measure': 'unitPricingBaseMeasure', # noqa: E501
244
+ 'shipping_length': 'shippingLength', # noqa: E501
245
+ 'shipping_width': 'shippingWidth', # noqa: E501
246
+ 'shipping_height': 'shippingHeight', # noqa: E501
247
+ 'display_ads_id': 'displayAdsId', # noqa: E501
248
+ 'display_ads_similar_ids': 'displayAdsSimilarIds', # noqa: E501
249
+ 'display_ads_title': 'displayAdsTitle', # noqa: E501
250
+ 'display_ads_link': 'displayAdsLink', # noqa: E501
251
+ 'display_ads_value': 'displayAdsValue', # noqa: E501
252
+ 'sell_on_google_quantity': 'sellOnGoogleQuantity', # noqa: E501
253
+ 'promotion_ids': 'promotionIds', # noqa: E501
254
+ 'max_handling_time': 'maxHandlingTime', # noqa: E501
255
+ 'min_handling_time': 'minHandlingTime', # noqa: E501
256
+ 'cost_of_goods_sold': 'costOfGoodsSold', # noqa: E501
257
+ 'source': 'source', # noqa: E501
258
+ 'included_destinations': 'includedDestinations', # noqa: E501
259
+ 'excluded_destinations': 'excludedDestinations', # noqa: E501
260
+ 'ads_grouping': 'adsGrouping', # noqa: E501
261
+ 'ads_labels': 'adsLabels', # noqa: E501
262
+ 'ads_redirect': 'adsRedirect', # noqa: E501
263
+ 'product_types': 'productTypes', # noqa: E501
264
+ 'product_type_keys': 'productTypeKeys', # noqa: E501
265
+ 'age_group': 'ageGroup', # noqa: E501
266
+ 'availability': 'availability', # noqa: E501
267
+ 'condition': 'condition', # noqa: E501
268
+ 'gender': 'gender', # noqa: E501
269
+ 'size_system': 'sizeSystem', # noqa: E501
270
+ 'size_type': 'sizeType', # noqa: E501
271
+ 'energy_efficiency_class': 'energyEfficiencyClass', # noqa: E501
272
+ 'min_energy_efficiency_class': 'minEnergyEfficiencyClass', # noqa: E501
273
+ 'max_energy_efficiency_class': 'maxEnergyEfficiencyClass', # noqa: E501
274
+ 'tax_category': 'taxCategory', # noqa: E501
275
+ 'transit_time_label': 'transitTimeLabel', # noqa: E501
276
+ 'seller_id': 'sellerId', # noqa: E501
277
+ 'external_seller_id': 'externalSellerId', # noqa: E501
278
+ 'external_seller_name': 'externalSellerName', # noqa: E501
279
+ 'number_of_reviews': 'numberOfReviews', # noqa: E501
280
+ 'product_rating': 'productRating', # noqa: E501
281
+ }
282
+
283
+ read_only_vars = {
284
+ }
285
+
286
+ _composed_schemas = {}
287
+
288
+ @classmethod
289
+ @convert_js_args_to_python_args
290
+ def _from_openapi_data(cls, id, title, link, image_link, *args, **kwargs): # noqa: E501
291
+ """Product - a model defined in OpenAPI
292
+
293
+ Args:
294
+ id (str): A unique identifier for the item. Aka Product ID. Don’t use casing to make IDs unique.
295
+ title (str): Title of the item. (500 UTF8 characters max).
296
+ link (str): URL directly linking to your item's page on your website. (1000 UTF8 characters max).
297
+ image_link (str): URL of an image of the item. Supported formats: PNG, JPEG, GIF. (2000 UTF8 characters max).
298
+
299
+ Keyword Args:
300
+ channel (str): The item's channel (online only).. defaults to "online", must be one of ["online", ] # noqa: E501
301
+ _check_type (bool): if True, values for parameters in openapi_types
302
+ will be type checked and a TypeError will be
303
+ raised if the wrong type is input.
304
+ Defaults to True
305
+ _path_to_item (tuple/list): This is a list of keys or values to
306
+ drill down to the model in received_data
307
+ when deserializing a response
308
+ _spec_property_naming (bool): True if the variable names in the input data
309
+ are serialized names, as specified in the OpenAPI document.
310
+ False if the variable names in the input data
311
+ are pythonic names, e.g. snake case (default)
312
+ _configuration (Configuration): the instance to use when
313
+ deserializing a file_type parameter.
314
+ If passed, type conversion is attempted
315
+ If omitted no type conversion is done.
316
+ _visited_composed_classes (tuple): This stores a tuple of
317
+ classes that we have traveled through so that
318
+ if we see that class again we will not use its
319
+ discriminator again.
320
+ When traveling through a discriminator, the
321
+ composed schema that is
322
+ is traveled through is added to this set.
323
+ For example if Animal has a discriminator
324
+ petType and we pass in "Dog", and the class Dog
325
+ allOf includes Animal, we move through Animal
326
+ once using the discriminator, and pick Dog.
327
+ Then in Dog, we will make an instance of the
328
+ Animal class but this time we won't travel
329
+ through its discriminator because we passed in
330
+ _visited_composed_classes = (Animal,)
331
+ offer_id (str, none_type): Not used by Criteo.. [optional] # noqa: E501
332
+ description (str, none_type): Description of the item. RECOMMENDED. (5000 UTF8 characters max).. [optional] # noqa: E501
333
+ additional_image_links ([str], none_type): Additional URLs of images of the item.. [optional] # noqa: E501
334
+ content_language (str, none_type): The two-letter ISO 639-1 language code for the item.. [optional] # noqa: E501
335
+ target_country (str, none_type): The CLDR territory code for the item.. [optional] # noqa: E501
336
+ expiration_date (str, none_type): Date on which the item should expire, as specified upon insertion, in ISO 8601 format.. [optional] # noqa: E501
337
+ adult (bool, none_type): Set to true if the item is targeted towards adults. RECOMMENDED.. [optional] # noqa: E501
338
+ kind (str, none_type): Identifies what kind of resource this is.. [optional] # noqa: E501
339
+ brand (str, none_type): Brand of the item. RECOMMENDED.. [optional] # noqa: E501
340
+ color (str, none_type): Color of the item.. [optional] # noqa: E501
341
+ google_product_category (str, none_type): Google's category of the item (see Google product taxonomy). RECOMMENDED.. [optional] # noqa: E501
342
+ gtin (str, none_type): Global Trade Item Number (GTIN) of the item. RECOMMENDED.. [optional] # noqa: E501
343
+ item_group_id (str, none_type): Shared identifier for all variants of the same product. RECOMMENDED. Don’t use casing to make IDs unique. (50 characters max). [optional] # noqa: E501
344
+ material (str, none_type): The material of which the item is made.. [optional] # noqa: E501
345
+ mpn (str, none_type): Manufacturer Part Number (MPN) of the item. RECOMMENDED.. [optional] # noqa: E501
346
+ pattern (str, none_type): The item's pattern (e.g. polka dots).. [optional] # noqa: E501
347
+ price (Price): [optional] # noqa: E501
348
+ sale_price (Price): [optional] # noqa: E501
349
+ sale_price_effective_date (str, none_type): Date range during which the item is on sale.. [optional] # noqa: E501
350
+ shipping ([ProductShipping], none_type): Shipping rules.. [optional] # noqa: E501
351
+ shipping_weight (ProductShippingWeight): [optional] # noqa: E501
352
+ sizes ([str], none_type): Size of the item. RECOMMENDED. Only one value is allowed. For variants with different sizes, insert a separate product for each size with the same itemGroupId value.. [optional] # noqa: E501
353
+ taxes ([ProductTax], none_type): Tax information.. [optional] # noqa: E501
354
+ custom_attributes ([CustomAttribute], none_type): A list of custom (merchant-provided) attributes. This is useful for submitting attributes not explicitly exposed by the API. Declaring attributes explicitly exposed by the API using is forbidden. [optional] # noqa: E501
355
+ identifier_exists (bool, none_type): False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all target countries except for Canada.. [optional] # noqa: E501
356
+ installment (Installment): [optional] # noqa: E501
357
+ loyalty_points (LoyaltyPoints): [optional] # noqa: E501
358
+ multipack (int, none_type): The number of identical products in a merchant-defined multipack. To avoid any overflow issue, pass it as a string.. [optional] # noqa: E501
359
+ custom_label0 (str, none_type): Custom label 0 for custom grouping of items in a Shopping campaign.. [optional] # noqa: E501
360
+ custom_label1 (str, none_type): Custom label 1 for custom grouping of items in a Shopping campaign.. [optional] # noqa: E501
361
+ custom_label2 (str, none_type): Custom label 2 for custom grouping of items in a Shopping campaign.. [optional] # noqa: E501
362
+ custom_label3 (str, none_type): Custom label 3 for custom grouping of items in a Shopping campaign.. [optional] # noqa: E501
363
+ custom_label4 (str, none_type): Custom label 4 for custom grouping of items in a Shopping campaign.. [optional] # noqa: E501
364
+ is_bundle (bool, none_type): Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price.. [optional] # noqa: E501
365
+ mobile_link (str, none_type): accounts.link to a mobile-optimized version of the landing page.. [optional] # noqa: E501
366
+ availability_date (str, none_type): The day a pre-ordered product becomes available for delivery, in ISO 8601 format.. [optional] # noqa: E501
367
+ shipping_label (str, none_type): The shipping label of the product, used to group product in account-level shipping rules.. [optional] # noqa: E501
368
+ unit_pricing_measure (ProductUnitPricingMeasure): [optional] # noqa: E501
369
+ unit_pricing_base_measure (ProductUnitPricingBaseMeasure): [optional] # noqa: E501
370
+ shipping_length (ProductShippingDimension): [optional] # noqa: E501
371
+ shipping_width (ProductShippingDimension): [optional] # noqa: E501
372
+ shipping_height (ProductShippingDimension): [optional] # noqa: E501
373
+ display_ads_id (str, none_type): An identifier for an item for dynamic remarketing campaigns.. [optional] # noqa: E501
374
+ display_ads_similar_ids ([str], none_type): Advertiser-specified recommendations.. [optional] # noqa: E501
375
+ display_ads_title (str, none_type): Title of an item for dynamic remarketing campaigns.. [optional] # noqa: E501
376
+ display_ads_link (str, none_type): URL directly to your item's landing page for dynamic remarketing campaigns.. [optional] # noqa: E501
377
+ display_ads_value (float, none_type): Offer margin for dynamic remarketing campaigns.. [optional] # noqa: E501
378
+ sell_on_google_quantity (int, none_type): The quantity of the product that is available for selling on Google. Supported only for online products.. [optional] # noqa: E501
379
+ promotion_ids ([str], none_type): The unique ID of a promotion.. [optional] # noqa: E501
380
+ max_handling_time (int, none_type): Maximal product handling time (in business days).. [optional] # noqa: E501
381
+ min_handling_time (int, none_type): Minimal product handling time (in business days).. [optional] # noqa: E501
382
+ cost_of_goods_sold (Price): [optional] # noqa: E501
383
+ source (str, none_type): The source of the offer, i.e., how the offer was created.. [optional] # noqa: E501
384
+ included_destinations ([str], none_type): The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in excludedDestinations.. [optional] # noqa: E501
385
+ excluded_destinations ([str], none_type): The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center).. [optional] # noqa: E501
386
+ ads_grouping (str, none_type): Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.. [optional] # noqa: E501
387
+ ads_labels ([str], none_type): Similar to adsGrouping, but only works on CPC.. [optional] # noqa: E501
388
+ ads_redirect (str, none_type): Allows advertisers to override the item URL when the product is shown within the context of Product Ads.. [optional] # noqa: E501
389
+ product_types ([str], none_type): Categories of the item (formatted as in products data specification).. [optional] # noqa: E501
390
+ product_type_keys ([str], none_type): Category keys of the item (formatted as in productTypes).. [optional] # noqa: E501
391
+ age_group (str, none_type): Target age group of the item.. [optional] # noqa: E501
392
+ availability (str, none_type): Availability status of the item. RECOMMENDED.. [optional] # noqa: E501
393
+ condition (str, none_type): Condition or state of the item.. [optional] # noqa: E501
394
+ gender (str, none_type): Target gender of the item.. [optional] # noqa: E501
395
+ size_system (str, none_type): System in which the size is specified. Recommended for apparel items.. [optional] # noqa: E501
396
+ size_type (str, none_type): The cut of the item. Recommended for apparel items.. [optional] # noqa: E501
397
+ energy_efficiency_class (str, none_type): The energy efficiency class as defined in EU directive 2010/30/EU.. [optional] # noqa: E501
398
+ min_energy_efficiency_class (str, none_type): The energy efficiency class as defined in EU directive 2010/30/EU.. [optional] # noqa: E501
399
+ max_energy_efficiency_class (str, none_type): The energy efficiency class as defined in EU directive 2010/30/EU.. [optional] # noqa: E501
400
+ tax_category (str, none_type): The tax category of the product, used to configure detailed tax nexus in account-level tax settings.. [optional] # noqa: E501
401
+ transit_time_label (str, none_type): The transit time label of the product, used to group product in account-level transit time tables.. [optional] # noqa: E501
402
+ seller_id (str, none_type): (Deprecated Field) The external ID of the seller (case sensitive and 50 UTF8 characters max). This information is required by the Criteo Offsite Ads.. [optional] # noqa: E501
403
+ external_seller_id (str, none_type): The external id of the seller (case sensitive and 50 UTF8 characters max). This information is required by the Criteo Offsite Ads.. [optional] # noqa: E501
404
+ external_seller_name (str, none_type): The external name of the seller (case sensitive and 50 UTF8 characters max). This information is required by the Criteo Offsite Ads.. [optional] # noqa: E501
405
+ number_of_reviews (int, none_type): The number of customer reviews for the product. [optional] # noqa: E501
406
+ product_rating (str, none_type): The product rating for the product. [optional] # noqa: E501
407
+ """
408
+
409
+ channel = kwargs.get('channel', "online")
410
+ _check_type = kwargs.pop('_check_type', True)
411
+ _spec_property_naming = kwargs.pop('_spec_property_naming', True)
412
+ _path_to_item = kwargs.pop('_path_to_item', ())
413
+ _configuration = kwargs.pop('_configuration', None)
414
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
415
+
416
+ self = super(OpenApiModel, cls).__new__(cls)
417
+
418
+ if args:
419
+ for arg in args:
420
+ if isinstance(arg, dict):
421
+ kwargs.update(arg)
422
+ else:
423
+ raise ApiTypeError(
424
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
425
+ args,
426
+ self.__class__.__name__,
427
+ ),
428
+ path_to_item=_path_to_item,
429
+ valid_classes=(self.__class__,),
430
+ )
431
+
432
+ self._data_store = {}
433
+ self._check_type = _check_type
434
+ self._spec_property_naming = _spec_property_naming
435
+ self._path_to_item = _path_to_item
436
+ self._configuration = _configuration
437
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
438
+
439
+ self.id = id
440
+ self.title = title
441
+ self.link = link
442
+ self.image_link = image_link
443
+ self.channel = channel
444
+ for var_name, var_value in kwargs.items():
445
+ if var_name not in self.attribute_map and \
446
+ self._configuration is not None and \
447
+ self._configuration.discard_unknown_keys and \
448
+ self.additional_properties_type is None:
449
+ # discard variable.
450
+ continue
451
+ setattr(self, var_name, var_value)
452
+ return self
453
+
454
+ required_properties = set([
455
+ '_data_store',
456
+ '_check_type',
457
+ '_spec_property_naming',
458
+ '_path_to_item',
459
+ '_configuration',
460
+ '_visited_composed_classes',
461
+ ])
462
+
463
+ @convert_js_args_to_python_args
464
+ def __init__(self, id, title, link, image_link, *args, **kwargs): # noqa: E501
465
+ """Product - a model defined in OpenAPI
466
+
467
+ Args:
468
+ id (str): A unique identifier for the item. Aka Product ID. Don’t use casing to make IDs unique.
469
+ title (str): Title of the item. (500 UTF8 characters max).
470
+ link (str): URL directly linking to your item's page on your website. (1000 UTF8 characters max).
471
+ image_link (str): URL of an image of the item. Supported formats: PNG, JPEG, GIF. (2000 UTF8 characters max).
472
+
473
+ Keyword Args:
474
+ channel (str): The item's channel (online only).. defaults to "online", must be one of ["online", ] # noqa: E501
475
+ _check_type (bool): if True, values for parameters in openapi_types
476
+ will be type checked and a TypeError will be
477
+ raised if the wrong type is input.
478
+ Defaults to True
479
+ _path_to_item (tuple/list): This is a list of keys or values to
480
+ drill down to the model in received_data
481
+ when deserializing a response
482
+ _spec_property_naming (bool): True if the variable names in the input data
483
+ are serialized names, as specified in the OpenAPI document.
484
+ False if the variable names in the input data
485
+ are pythonic names, e.g. snake case (default)
486
+ _configuration (Configuration): the instance to use when
487
+ deserializing a file_type parameter.
488
+ If passed, type conversion is attempted
489
+ If omitted no type conversion is done.
490
+ _visited_composed_classes (tuple): This stores a tuple of
491
+ classes that we have traveled through so that
492
+ if we see that class again we will not use its
493
+ discriminator again.
494
+ When traveling through a discriminator, the
495
+ composed schema that is
496
+ is traveled through is added to this set.
497
+ For example if Animal has a discriminator
498
+ petType and we pass in "Dog", and the class Dog
499
+ allOf includes Animal, we move through Animal
500
+ once using the discriminator, and pick Dog.
501
+ Then in Dog, we will make an instance of the
502
+ Animal class but this time we won't travel
503
+ through its discriminator because we passed in
504
+ _visited_composed_classes = (Animal,)
505
+ offer_id (str, none_type): Not used by Criteo.. [optional] # noqa: E501
506
+ description (str, none_type): Description of the item. RECOMMENDED. (5000 UTF8 characters max).. [optional] # noqa: E501
507
+ additional_image_links ([str], none_type): Additional URLs of images of the item.. [optional] # noqa: E501
508
+ content_language (str, none_type): The two-letter ISO 639-1 language code for the item.. [optional] # noqa: E501
509
+ target_country (str, none_type): The CLDR territory code for the item.. [optional] # noqa: E501
510
+ expiration_date (str, none_type): Date on which the item should expire, as specified upon insertion, in ISO 8601 format.. [optional] # noqa: E501
511
+ adult (bool, none_type): Set to true if the item is targeted towards adults. RECOMMENDED.. [optional] # noqa: E501
512
+ kind (str, none_type): Identifies what kind of resource this is.. [optional] # noqa: E501
513
+ brand (str, none_type): Brand of the item. RECOMMENDED.. [optional] # noqa: E501
514
+ color (str, none_type): Color of the item.. [optional] # noqa: E501
515
+ google_product_category (str, none_type): Google's category of the item (see Google product taxonomy). RECOMMENDED.. [optional] # noqa: E501
516
+ gtin (str, none_type): Global Trade Item Number (GTIN) of the item. RECOMMENDED.. [optional] # noqa: E501
517
+ item_group_id (str, none_type): Shared identifier for all variants of the same product. RECOMMENDED. Don’t use casing to make IDs unique. (50 characters max). [optional] # noqa: E501
518
+ material (str, none_type): The material of which the item is made.. [optional] # noqa: E501
519
+ mpn (str, none_type): Manufacturer Part Number (MPN) of the item. RECOMMENDED.. [optional] # noqa: E501
520
+ pattern (str, none_type): The item's pattern (e.g. polka dots).. [optional] # noqa: E501
521
+ price (Price): [optional] # noqa: E501
522
+ sale_price (Price): [optional] # noqa: E501
523
+ sale_price_effective_date (str, none_type): Date range during which the item is on sale.. [optional] # noqa: E501
524
+ shipping ([ProductShipping], none_type): Shipping rules.. [optional] # noqa: E501
525
+ shipping_weight (ProductShippingWeight): [optional] # noqa: E501
526
+ sizes ([str], none_type): Size of the item. RECOMMENDED. Only one value is allowed. For variants with different sizes, insert a separate product for each size with the same itemGroupId value.. [optional] # noqa: E501
527
+ taxes ([ProductTax], none_type): Tax information.. [optional] # noqa: E501
528
+ custom_attributes ([CustomAttribute], none_type): A list of custom (merchant-provided) attributes. This is useful for submitting attributes not explicitly exposed by the API. Declaring attributes explicitly exposed by the API using is forbidden. [optional] # noqa: E501
529
+ identifier_exists (bool, none_type): False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all target countries except for Canada.. [optional] # noqa: E501
530
+ installment (Installment): [optional] # noqa: E501
531
+ loyalty_points (LoyaltyPoints): [optional] # noqa: E501
532
+ multipack (int, none_type): The number of identical products in a merchant-defined multipack. To avoid any overflow issue, pass it as a string.. [optional] # noqa: E501
533
+ custom_label0 (str, none_type): Custom label 0 for custom grouping of items in a Shopping campaign.. [optional] # noqa: E501
534
+ custom_label1 (str, none_type): Custom label 1 for custom grouping of items in a Shopping campaign.. [optional] # noqa: E501
535
+ custom_label2 (str, none_type): Custom label 2 for custom grouping of items in a Shopping campaign.. [optional] # noqa: E501
536
+ custom_label3 (str, none_type): Custom label 3 for custom grouping of items in a Shopping campaign.. [optional] # noqa: E501
537
+ custom_label4 (str, none_type): Custom label 4 for custom grouping of items in a Shopping campaign.. [optional] # noqa: E501
538
+ is_bundle (bool, none_type): Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price.. [optional] # noqa: E501
539
+ mobile_link (str, none_type): accounts.link to a mobile-optimized version of the landing page.. [optional] # noqa: E501
540
+ availability_date (str, none_type): The day a pre-ordered product becomes available for delivery, in ISO 8601 format.. [optional] # noqa: E501
541
+ shipping_label (str, none_type): The shipping label of the product, used to group product in account-level shipping rules.. [optional] # noqa: E501
542
+ unit_pricing_measure (ProductUnitPricingMeasure): [optional] # noqa: E501
543
+ unit_pricing_base_measure (ProductUnitPricingBaseMeasure): [optional] # noqa: E501
544
+ shipping_length (ProductShippingDimension): [optional] # noqa: E501
545
+ shipping_width (ProductShippingDimension): [optional] # noqa: E501
546
+ shipping_height (ProductShippingDimension): [optional] # noqa: E501
547
+ display_ads_id (str, none_type): An identifier for an item for dynamic remarketing campaigns.. [optional] # noqa: E501
548
+ display_ads_similar_ids ([str], none_type): Advertiser-specified recommendations.. [optional] # noqa: E501
549
+ display_ads_title (str, none_type): Title of an item for dynamic remarketing campaigns.. [optional] # noqa: E501
550
+ display_ads_link (str, none_type): URL directly to your item's landing page for dynamic remarketing campaigns.. [optional] # noqa: E501
551
+ display_ads_value (float, none_type): Offer margin for dynamic remarketing campaigns.. [optional] # noqa: E501
552
+ sell_on_google_quantity (int, none_type): The quantity of the product that is available for selling on Google. Supported only for online products.. [optional] # noqa: E501
553
+ promotion_ids ([str], none_type): The unique ID of a promotion.. [optional] # noqa: E501
554
+ max_handling_time (int, none_type): Maximal product handling time (in business days).. [optional] # noqa: E501
555
+ min_handling_time (int, none_type): Minimal product handling time (in business days).. [optional] # noqa: E501
556
+ cost_of_goods_sold (Price): [optional] # noqa: E501
557
+ source (str, none_type): The source of the offer, i.e., how the offer was created.. [optional] # noqa: E501
558
+ included_destinations ([str], none_type): The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in excludedDestinations.. [optional] # noqa: E501
559
+ excluded_destinations ([str], none_type): The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center).. [optional] # noqa: E501
560
+ ads_grouping (str, none_type): Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.. [optional] # noqa: E501
561
+ ads_labels ([str], none_type): Similar to adsGrouping, but only works on CPC.. [optional] # noqa: E501
562
+ ads_redirect (str, none_type): Allows advertisers to override the item URL when the product is shown within the context of Product Ads.. [optional] # noqa: E501
563
+ product_types ([str], none_type): Categories of the item (formatted as in products data specification).. [optional] # noqa: E501
564
+ product_type_keys ([str], none_type): Category keys of the item (formatted as in productTypes).. [optional] # noqa: E501
565
+ age_group (str, none_type): Target age group of the item.. [optional] # noqa: E501
566
+ availability (str, none_type): Availability status of the item. RECOMMENDED.. [optional] # noqa: E501
567
+ condition (str, none_type): Condition or state of the item.. [optional] # noqa: E501
568
+ gender (str, none_type): Target gender of the item.. [optional] # noqa: E501
569
+ size_system (str, none_type): System in which the size is specified. Recommended for apparel items.. [optional] # noqa: E501
570
+ size_type (str, none_type): The cut of the item. Recommended for apparel items.. [optional] # noqa: E501
571
+ energy_efficiency_class (str, none_type): The energy efficiency class as defined in EU directive 2010/30/EU.. [optional] # noqa: E501
572
+ min_energy_efficiency_class (str, none_type): The energy efficiency class as defined in EU directive 2010/30/EU.. [optional] # noqa: E501
573
+ max_energy_efficiency_class (str, none_type): The energy efficiency class as defined in EU directive 2010/30/EU.. [optional] # noqa: E501
574
+ tax_category (str, none_type): The tax category of the product, used to configure detailed tax nexus in account-level tax settings.. [optional] # noqa: E501
575
+ transit_time_label (str, none_type): The transit time label of the product, used to group product in account-level transit time tables.. [optional] # noqa: E501
576
+ seller_id (str, none_type): (Deprecated Field) The external ID of the seller (case sensitive and 50 UTF8 characters max). This information is required by the Criteo Offsite Ads.. [optional] # noqa: E501
577
+ external_seller_id (str, none_type): The external id of the seller (case sensitive and 50 UTF8 characters max). This information is required by the Criteo Offsite Ads.. [optional] # noqa: E501
578
+ external_seller_name (str, none_type): The external name of the seller (case sensitive and 50 UTF8 characters max). This information is required by the Criteo Offsite Ads.. [optional] # noqa: E501
579
+ number_of_reviews (int, none_type): The number of customer reviews for the product. [optional] # noqa: E501
580
+ product_rating (str, none_type): The product rating for the product. [optional] # noqa: E501
581
+ """
582
+
583
+ channel = kwargs.get('channel', "online")
584
+ _check_type = kwargs.pop('_check_type', True)
585
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
586
+ _path_to_item = kwargs.pop('_path_to_item', ())
587
+ _configuration = kwargs.pop('_configuration', None)
588
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
589
+
590
+ if args:
591
+ for arg in args:
592
+ if isinstance(arg, dict):
593
+ kwargs.update(arg)
594
+ else:
595
+ raise ApiTypeError(
596
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
597
+ args,
598
+ self.__class__.__name__,
599
+ ),
600
+ path_to_item=_path_to_item,
601
+ valid_classes=(self.__class__,),
602
+ )
603
+
604
+ self._data_store = {}
605
+ self._check_type = _check_type
606
+ self._spec_property_naming = _spec_property_naming
607
+ self._path_to_item = _path_to_item
608
+ self._configuration = _configuration
609
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
610
+
611
+ self.id = id
612
+ self.title = title
613
+ self.link = link
614
+ self.image_link = image_link
615
+ self.channel = channel
616
+ for var_name, var_value in kwargs.items():
617
+ if var_name not in self.attribute_map and \
618
+ self._configuration is not None and \
619
+ self._configuration.discard_unknown_keys and \
620
+ self.additional_properties_type is None:
621
+ # discard variable.
622
+ continue
623
+ setattr(self, var_name, var_value)
624
+ if var_name in self.read_only_vars:
625
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
626
+ f"class with read only attributes.")