klaviyo-api-sdk 14.0.1 → 16.0.0

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 (342) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +332 -298
  4. data/klaviyo-api-sdk.gemspec +1 -1
  5. data/lib/klaviyo-api-sdk/api/accounts_api.rb +6 -6
  6. data/lib/klaviyo-api-sdk/api/campaigns_api.rb +82 -82
  7. data/lib/klaviyo-api-sdk/api/catalogs_api.rb +235 -235
  8. data/lib/klaviyo-api-sdk/api/coupons_api.rb +63 -63
  9. data/lib/klaviyo-api-sdk/api/custom_objects_api.rb +89 -13
  10. data/lib/klaviyo-api-sdk/api/data_privacy_api.rb +1 -1
  11. data/lib/klaviyo-api-sdk/api/events_api.rb +35 -35
  12. data/lib/klaviyo-api-sdk/api/flows_api.rb +180 -104
  13. data/lib/klaviyo-api-sdk/api/forms_api.rb +107 -51
  14. data/lib/klaviyo-api-sdk/api/images_api.rb +15 -15
  15. data/lib/klaviyo-api-sdk/api/lists_api.rb +60 -60
  16. data/lib/klaviyo-api-sdk/api/metrics_api.rb +86 -86
  17. data/lib/klaviyo-api-sdk/api/profiles_api.rb +132 -132
  18. data/lib/klaviyo-api-sdk/api/reporting_api.rb +13 -13
  19. data/lib/klaviyo-api-sdk/api/reviews_api.rb +21 -21
  20. data/lib/klaviyo-api-sdk/api/segments_api.rb +54 -54
  21. data/lib/klaviyo-api-sdk/api/tags_api.rb +58 -58
  22. data/lib/klaviyo-api-sdk/api/templates_api.rb +54 -54
  23. data/lib/klaviyo-api-sdk/api/tracking_settings_api.rb +9 -9
  24. data/lib/klaviyo-api-sdk/api/web_feeds_api.rb +15 -15
  25. data/lib/klaviyo-api-sdk/api/webhooks_api.rb +15 -15
  26. data/lib/klaviyo-api-sdk/api_client.rb +1 -1
  27. data/lib/klaviyo-api-sdk/models/account_default_enum.rb +35 -0
  28. data/lib/klaviyo-api-sdk/models/action_output_condition.rb +265 -0
  29. data/lib/klaviyo-api-sdk/models/action_output_condition_filter.rb +225 -0
  30. data/lib/klaviyo-api-sdk/models/action_output_condition_filter2.rb +108 -0
  31. data/lib/klaviyo-api-sdk/models/action_output_condition_group.rb +225 -0
  32. data/lib/klaviyo-api-sdk/models/action_output_enum.rb +35 -0
  33. data/lib/klaviyo-api-sdk/models/action_output_split_action.rb +263 -0
  34. data/lib/klaviyo-api-sdk/models/action_output_split_action_data.rb +223 -0
  35. data/lib/klaviyo-api-sdk/models/action_output_split_enum.rb +35 -0
  36. data/lib/klaviyo-api-sdk/models/additional_field.rb +237 -0
  37. data/lib/klaviyo-api-sdk/models/after_close_or_submit_timeout_enum.rb +35 -0
  38. data/lib/klaviyo-api-sdk/models/after_close_timeout.rb +242 -0
  39. data/lib/klaviyo-api-sdk/models/after_close_timeout_properties.rb +220 -0
  40. data/lib/klaviyo-api-sdk/models/age_gate.rb +289 -0
  41. data/lib/klaviyo-api-sdk/models/age_gate_enum.rb +35 -0
  42. data/lib/klaviyo-api-sdk/models/age_gate_properties.rb +349 -0
  43. data/lib/klaviyo-api-sdk/models/age_gate_styles.rb +228 -0
  44. data/lib/klaviyo-api-sdk/models/back_in_stock.rb +242 -0
  45. data/lib/klaviyo-api-sdk/models/back_in_stock_dynamic_button_border_styles.rb +289 -0
  46. data/lib/klaviyo-api-sdk/models/back_in_stock_dynamic_button_data.rb +284 -0
  47. data/lib/klaviyo-api-sdk/models/back_in_stock_dynamic_button_drop_shadow_styles.rb +231 -0
  48. data/lib/klaviyo-api-sdk/models/back_in_stock_dynamic_button_styles.rb +330 -0
  49. data/lib/klaviyo-api-sdk/models/back_in_stock_dynamic_button_text_styles.rb +318 -0
  50. data/lib/klaviyo-api-sdk/models/back_in_stock_email_consent_checkbox.rb +256 -0
  51. data/lib/klaviyo-api-sdk/models/back_in_stock_email_consent_checkbox_properties.rb +339 -0
  52. data/lib/klaviyo-api-sdk/models/back_in_stock_email_consent_checkbox_styles.rb +274 -0
  53. data/lib/klaviyo-api-sdk/models/back_in_stock_properties.rb +231 -0
  54. data/lib/klaviyo-api-sdk/models/background_image.rb +232 -0
  55. data/lib/klaviyo-api-sdk/models/background_image_styles.rb +323 -0
  56. data/lib/klaviyo-api-sdk/models/banner_styles.rb +290 -0
  57. data/lib/klaviyo-api-sdk/models/bis_promotional_email_checkbox_enum.rb +35 -0
  58. data/lib/klaviyo-api-sdk/models/border_style.rb +285 -0
  59. data/lib/klaviyo-api-sdk/models/button.rb +265 -0
  60. data/lib/klaviyo-api-sdk/models/button_action.rb +113 -0
  61. data/lib/klaviyo-api-sdk/models/button_properties.rb +268 -0
  62. data/lib/klaviyo-api-sdk/models/button_styles.rb +333 -0
  63. data/lib/klaviyo-api-sdk/models/campaign_values_request_dto_resource_object_attributes.rb +15 -2
  64. data/lib/klaviyo-api-sdk/models/cart_item_count.rb +242 -0
  65. data/lib/klaviyo-api-sdk/models/cart_item_count_enum.rb +35 -0
  66. data/lib/klaviyo-api-sdk/models/cart_item_count_properties.rb +264 -0
  67. data/lib/klaviyo-api-sdk/models/cart_product.rb +242 -0
  68. data/lib/klaviyo-api-sdk/models/cart_product_enum.rb +35 -0
  69. data/lib/klaviyo-api-sdk/models/cart_product_properties.rb +264 -0
  70. data/lib/klaviyo-api-sdk/models/cart_value.rb +242 -0
  71. data/lib/klaviyo-api-sdk/models/cart_value_enum.rb +35 -0
  72. data/lib/klaviyo-api-sdk/models/cart_value_properties.rb +264 -0
  73. data/lib/klaviyo-api-sdk/models/channel.rb +247 -0
  74. data/lib/klaviyo-api-sdk/models/channel_enum.rb +35 -0
  75. data/lib/klaviyo-api-sdk/models/channel_properties.rb +258 -0
  76. data/lib/klaviyo-api-sdk/models/channel_settings.rb +227 -0
  77. data/lib/klaviyo-api-sdk/models/checkboxes.rb +256 -0
  78. data/lib/klaviyo-api-sdk/models/checkboxes_enum.rb +35 -0
  79. data/lib/klaviyo-api-sdk/models/checkboxes_properties.rb +324 -0
  80. data/lib/klaviyo-api-sdk/models/checkboxes_styles.rb +298 -0
  81. data/lib/klaviyo-api-sdk/models/close.rb +256 -0
  82. data/lib/klaviyo-api-sdk/models/close_button_style.rb +273 -0
  83. data/lib/klaviyo-api-sdk/models/close_enum.rb +35 -0
  84. data/lib/klaviyo-api-sdk/models/close_properties.rb +219 -0
  85. data/lib/klaviyo-api-sdk/models/column.rb +239 -0
  86. data/lib/klaviyo-api-sdk/models/column_styles.rb +228 -0
  87. data/lib/klaviyo-api-sdk/models/condition_group_conditions_inner.rb +3 -1
  88. data/lib/klaviyo-api-sdk/models/conditional_branch_action_data_profile_filter_condition_groups_inner_conditions_inner.rb +1 -0
  89. data/lib/klaviyo-api-sdk/models/content_experiment_action.rb +264 -0
  90. data/lib/klaviyo-api-sdk/models/content_experiment_enum.rb +35 -0
  91. data/lib/klaviyo-api-sdk/models/countdown_timer.rb +256 -0
  92. data/lib/klaviyo-api-sdk/models/countdown_timer_enum.rb +35 -0
  93. data/lib/klaviyo-api-sdk/models/countdown_timer_properties.rb +305 -0
  94. data/lib/klaviyo-api-sdk/models/countdown_timer_properties_configuration.rb +104 -0
  95. data/lib/klaviyo-api-sdk/models/countdown_timer_styles.rb +305 -0
  96. data/lib/klaviyo-api-sdk/models/coupon.rb +256 -0
  97. data/lib/klaviyo-api-sdk/models/coupon_properties.rb +266 -0
  98. data/lib/klaviyo-api-sdk/models/coupon_properties_coupon.rb +104 -0
  99. data/lib/klaviyo-api-sdk/models/coupon_styles.rb +258 -0
  100. data/lib/klaviyo-api-sdk/models/custom_enum.rb +35 -0
  101. data/lib/klaviyo-api-sdk/models/custom_javascript.rb +248 -0
  102. data/lib/klaviyo-api-sdk/models/custom_javascript_enum.rb +35 -0
  103. data/lib/klaviyo-api-sdk/models/data_source_create_query_resource_object_attributes.rb +1 -1
  104. data/lib/klaviyo-api-sdk/models/data_source_record_create_job_create_query.rb +223 -0
  105. data/lib/klaviyo-api-sdk/models/data_source_record_create_job_create_query_resource_object.rb +246 -0
  106. data/lib/klaviyo-api-sdk/models/data_source_record_create_job_create_query_resource_object_attributes.rb +223 -0
  107. data/lib/klaviyo-api-sdk/models/data_source_record_create_job_create_query_resource_object_attributes_data_source_record.rb +224 -0
  108. data/lib/klaviyo-api-sdk/models/data_source_record_create_job_enum.rb +35 -0
  109. data/lib/klaviyo-api-sdk/models/date.rb +256 -0
  110. data/lib/klaviyo-api-sdk/models/date_properties.rb +319 -0
  111. data/lib/klaviyo-api-sdk/models/date_styles.rb +228 -0
  112. data/lib/klaviyo-api-sdk/models/delay.rb +242 -0
  113. data/lib/klaviyo-api-sdk/models/delay_enum.rb +35 -0
  114. data/lib/klaviyo-api-sdk/models/delay_properties.rb +220 -0
  115. data/lib/klaviyo-api-sdk/models/device.rb +242 -0
  116. data/lib/klaviyo-api-sdk/models/device_enum.rb +35 -0
  117. data/lib/klaviyo-api-sdk/models/device_properties.rb +255 -0
  118. data/lib/klaviyo-api-sdk/models/dollar_sign_age_gated_date_of_birth_enum.rb +35 -0
  119. data/lib/klaviyo-api-sdk/models/dollar_sign_email_enum.rb +35 -0
  120. data/lib/klaviyo-api-sdk/models/drop_shadow.rb +243 -0
  121. data/lib/klaviyo-api-sdk/models/dropdown.rb +256 -0
  122. data/lib/klaviyo-api-sdk/models/dropdown_enum.rb +35 -0
  123. data/lib/klaviyo-api-sdk/models/dropdown_properties.rb +324 -0
  124. data/lib/klaviyo-api-sdk/models/dropdown_styles.rb +228 -0
  125. data/lib/klaviyo-api-sdk/models/dynamic_button.rb +282 -0
  126. data/lib/klaviyo-api-sdk/models/effective_date_enum.rb +35 -0
  127. data/lib/klaviyo-api-sdk/models/effective_date_filter.rb +237 -0
  128. data/lib/klaviyo-api-sdk/models/email.rb +256 -0
  129. data/lib/klaviyo-api-sdk/models/email_properties.rb +303 -0
  130. data/lib/klaviyo-api-sdk/models/email_styles.rb +228 -0
  131. data/lib/klaviyo-api-sdk/models/error_messages.rb +231 -0
  132. data/lib/klaviyo-api-sdk/models/exit_intent.rb +248 -0
  133. data/lib/klaviyo-api-sdk/models/exit_intent_enum.rb +35 -0
  134. data/lib/klaviyo-api-sdk/models/explicitly_reachable.rb +239 -0
  135. data/lib/klaviyo-api-sdk/models/explicitly_reachable_enum.rb +35 -0
  136. data/lib/klaviyo-api-sdk/models/explicitly_reachable_filters_inner.rb +106 -0
  137. data/lib/klaviyo-api-sdk/models/explicitly_unreachable.rb +239 -0
  138. data/lib/klaviyo-api-sdk/models/explicitly_unreachable_enum.rb +35 -0
  139. data/lib/klaviyo-api-sdk/models/fixed_enum.rb +35 -0
  140. data/lib/klaviyo-api-sdk/models/fixed_timer_configuration.rb +281 -0
  141. data/lib/klaviyo-api-sdk/models/flow_action_enum.rb +35 -0
  142. data/lib/klaviyo-api-sdk/models/flow_action_update_query.rb +223 -0
  143. data/lib/klaviyo-api-sdk/models/flow_action_update_query_resource_object.rb +251 -0
  144. data/lib/klaviyo-api-sdk/models/flow_action_update_query_resource_object_attributes.rb +223 -0
  145. data/lib/klaviyo-api-sdk/models/flow_action_update_query_resource_object_attributes_definition.rb +124 -0
  146. data/lib/klaviyo-api-sdk/models/flow_definition_actions_inner.rb +3 -0
  147. data/lib/klaviyo-api-sdk/models/flow_definition_profile_filter_condition_groups_inner_conditions_inner.rb +1 -0
  148. data/lib/klaviyo-api-sdk/models/flow_email_additional_filters_condition_groups_inner_conditions_inner.rb +1 -0
  149. data/lib/klaviyo-api-sdk/models/flow_push_notification.rb +1 -1
  150. data/lib/klaviyo-api-sdk/models/flow_push_notification_additional_filters_condition_groups_inner_conditions_inner.rb +1 -0
  151. data/lib/klaviyo-api-sdk/models/flow_series_request_dto_resource_object_attributes.rb +15 -2
  152. data/lib/klaviyo-api-sdk/models/flow_sms_additional_filters_condition_groups_inner_conditions_inner.rb +1 -0
  153. data/lib/klaviyo-api-sdk/models/flow_values_request_dto_resource_object_attributes.rb +15 -2
  154. data/lib/klaviyo-api-sdk/models/flow_whats_app.rb +271 -0
  155. data/lib/klaviyo-api-sdk/models/form_create_query.rb +223 -0
  156. data/lib/klaviyo-api-sdk/models/form_create_query_resource_object.rb +237 -0
  157. data/lib/klaviyo-api-sdk/models/form_create_query_resource_object_attributes.rb +302 -0
  158. data/lib/klaviyo-api-sdk/models/form_definition.rb +225 -0
  159. data/lib/klaviyo-api-sdk/models/form_subscribe_filter.rb +246 -0
  160. data/lib/klaviyo-api-sdk/models/{profile_partial_update_query_resource_object_attributes.rb → go_to_inbox.rb} +76 -115
  161. data/lib/klaviyo-api-sdk/models/go_to_inbox_enum.rb +35 -0
  162. data/lib/klaviyo-api-sdk/models/html_text.rb +251 -0
  163. data/lib/klaviyo-api-sdk/models/html_text_enum.rb +35 -0
  164. data/lib/klaviyo-api-sdk/models/html_text_properties.rb +253 -0
  165. data/lib/klaviyo-api-sdk/models/html_text_styles.rb +228 -0
  166. data/lib/klaviyo-api-sdk/models/identified_profiles.rb +248 -0
  167. data/lib/klaviyo-api-sdk/models/identified_profiles_enum.rb +35 -0
  168. data/lib/klaviyo-api-sdk/models/image.rb +266 -0
  169. data/lib/klaviyo-api-sdk/models/image_action.rb +113 -0
  170. data/lib/klaviyo-api-sdk/models/image_asset_properties.rb +259 -0
  171. data/lib/klaviyo-api-sdk/models/image_properties.rb +268 -0
  172. data/lib/klaviyo-api-sdk/models/image_styles.rb +284 -0
  173. data/lib/klaviyo-api-sdk/models/implicitly_or_explicitly_reachable.rb +223 -0
  174. data/lib/klaviyo-api-sdk/models/implicitly_or_explicitly_reachable_enum.rb +35 -0
  175. data/lib/klaviyo-api-sdk/models/implicitly_or_explicitly_unreachable.rb +223 -0
  176. data/lib/klaviyo-api-sdk/models/implicitly_or_explicitly_unreachable_enum.rb +35 -0
  177. data/lib/klaviyo-api-sdk/models/implicitly_reachable.rb +223 -0
  178. data/lib/klaviyo-api-sdk/models/implicitly_reachable_enum.rb +35 -0
  179. data/lib/klaviyo-api-sdk/models/implicitly_unreachable.rb +223 -0
  180. data/lib/klaviyo-api-sdk/models/implicitly_unreachable_enum.rb +35 -0
  181. data/lib/klaviyo-api-sdk/models/input_styles.rb +317 -0
  182. data/lib/klaviyo-api-sdk/models/link_styles.rb +229 -0
  183. data/lib/klaviyo-api-sdk/models/list_create_query_resource_object_attributes.rb +49 -4
  184. data/lib/klaviyo-api-sdk/models/list_partial_update_query_resource_object.rb +1 -1
  185. data/lib/klaviyo-api-sdk/models/list_partial_update_query_resource_object_attributes.rb +265 -0
  186. data/lib/klaviyo-api-sdk/models/list_update_action.rb +18 -18
  187. data/lib/klaviyo-api-sdk/models/list_update_action_data.rb +1 -1
  188. data/lib/klaviyo-api-sdk/models/lists_and_segments.rb +247 -0
  189. data/lib/klaviyo-api-sdk/models/lists_and_segments_enum.rb +35 -0
  190. data/lib/klaviyo-api-sdk/models/lists_and_segments_properties.rb +233 -0
  191. data/lib/klaviyo-api-sdk/models/location.rb +247 -0
  192. data/lib/klaviyo-api-sdk/models/location_enum.rb +35 -0
  193. data/lib/klaviyo-api-sdk/models/location_properties.rb +233 -0
  194. data/lib/klaviyo-api-sdk/models/location_properties_allow_list_inner.rb +103 -0
  195. data/lib/klaviyo-api-sdk/models/margin.rb +253 -0
  196. data/lib/klaviyo-api-sdk/models/method_filter.rb +272 -0
  197. data/lib/klaviyo-api-sdk/models/metric_aggregate_query_resource_object_attributes.rb +2 -2
  198. data/lib/klaviyo-api-sdk/models/mobile_overlay.rb +266 -0
  199. data/lib/klaviyo-api-sdk/models/next_step.rb +256 -0
  200. data/lib/klaviyo-api-sdk/models/next_step_enum.rb +35 -0
  201. data/lib/klaviyo-api-sdk/models/next_step_properties.rb +219 -0
  202. data/lib/klaviyo-api-sdk/models/open_form.rb +292 -0
  203. data/lib/klaviyo-api-sdk/models/open_form_enum.rb +35 -0
  204. data/lib/klaviyo-api-sdk/models/open_form_properties.rb +234 -0
  205. data/lib/klaviyo-api-sdk/models/opt_in_code.rb +256 -0
  206. data/lib/klaviyo-api-sdk/models/opt_in_code_enum.rb +35 -0
  207. data/lib/klaviyo-api-sdk/models/opt_in_code_properties.rb +314 -0
  208. data/lib/klaviyo-api-sdk/models/opt_in_code_styles.rb +228 -0
  209. data/lib/klaviyo-api-sdk/models/opt_in_promotional_email_enum.rb +35 -0
  210. data/lib/klaviyo-api-sdk/models/opt_in_promotional_sms_enum.rb +35 -0
  211. data/lib/klaviyo-api-sdk/models/padding.rb +253 -0
  212. data/lib/klaviyo-api-sdk/models/page_visits.rb +242 -0
  213. data/lib/klaviyo-api-sdk/models/page_visits_enum.rb +35 -0
  214. data/lib/klaviyo-api-sdk/models/page_visits_properties.rb +220 -0
  215. data/lib/klaviyo-api-sdk/models/phone_number.rb +256 -0
  216. data/lib/klaviyo-api-sdk/models/phone_number_consent_channel_settings.rb +254 -0
  217. data/lib/klaviyo-api-sdk/models/phone_number_enum.rb +35 -0
  218. data/lib/klaviyo-api-sdk/models/phone_number_properties.rb +326 -0
  219. data/lib/klaviyo-api-sdk/models/phone_number_styles.rb +228 -0
  220. data/lib/klaviyo-api-sdk/models/previously_submitted.rb +248 -0
  221. data/lib/klaviyo-api-sdk/models/previously_submitted_enum.rb +35 -0
  222. data/lib/klaviyo-api-sdk/models/profile_event_tracked.rb +247 -0
  223. data/lib/klaviyo-api-sdk/models/profile_event_tracked_enum.rb +35 -0
  224. data/lib/klaviyo-api-sdk/models/profile_event_tracked_properties.rb +223 -0
  225. data/lib/klaviyo-api-sdk/models/profile_has_not_received_email_message_condition.rb +1 -1
  226. data/lib/klaviyo-api-sdk/models/{profile_not_in_flow_condition_timeframe_filter.rb → profile_has_not_received_email_message_condition_timeframe_filter.rb} +1 -1
  227. data/lib/klaviyo-api-sdk/models/profile_has_not_received_push_message_condition.rb +1 -1
  228. data/lib/klaviyo-api-sdk/models/profile_has_not_received_sms_message_condition.rb +1 -1
  229. data/lib/klaviyo-api-sdk/models/profile_identifier_dto_resource_object_attributes.rb +5 -15
  230. data/lib/klaviyo-api-sdk/models/profile_metric_funnel_enum.rb +35 -0
  231. data/lib/klaviyo-api-sdk/models/profile_metric_funnel_steps.rb +249 -0
  232. data/lib/klaviyo-api-sdk/models/profile_not_in_flow_condition.rb +1 -1
  233. data/lib/klaviyo-api-sdk/models/profile_partial_update_query_resource_object.rb +1 -1
  234. data/lib/klaviyo-api-sdk/models/profile_permissions_condition.rb +286 -0
  235. data/lib/klaviyo-api-sdk/models/profile_permissions_condition_permission.rb +108 -0
  236. data/lib/klaviyo-api-sdk/models/profile_permissions_enum.rb +35 -0
  237. data/lib/klaviyo-api-sdk/models/profile_upsert_query_resource_object_attributes.rb +1 -12
  238. data/lib/klaviyo-api-sdk/models/promotional_sms_checkbox_enum.rb +35 -0
  239. data/lib/klaviyo-api-sdk/models/promotional_sms_subscription.rb +299 -0
  240. data/lib/klaviyo-api-sdk/models/promotional_sms_subscription_enum.rb +35 -0
  241. data/lib/klaviyo-api-sdk/models/property_option.rb +237 -0
  242. data/lib/klaviyo-api-sdk/models/push_profile_upsert_query_resource_object_attributes.rb +1 -12
  243. data/lib/klaviyo-api-sdk/models/quote_style.rb +321 -0
  244. data/lib/klaviyo-api-sdk/models/radio_buttons.rb +256 -0
  245. data/lib/klaviyo-api-sdk/models/radio_buttons_enum.rb +35 -0
  246. data/lib/klaviyo-api-sdk/models/radio_buttons_properties.rb +324 -0
  247. data/lib/klaviyo-api-sdk/models/radio_buttons_styles.rb +298 -0
  248. data/lib/klaviyo-api-sdk/models/rating_style.rb +323 -0
  249. data/lib/klaviyo-api-sdk/models/recorded_date_enum.rb +35 -0
  250. data/lib/klaviyo-api-sdk/models/recorded_date_filter.rb +237 -0
  251. data/lib/klaviyo-api-sdk/models/redirect.rb +261 -0
  252. data/lib/klaviyo-api-sdk/models/redirect_enum.rb +35 -0
  253. data/lib/klaviyo-api-sdk/models/redirect_properties.rb +244 -0
  254. data/lib/klaviyo-api-sdk/models/resend_opt_in_code.rb +299 -0
  255. data/lib/klaviyo-api-sdk/models/resend_opt_in_code_enum.rb +35 -0
  256. data/lib/klaviyo-api-sdk/models/review.rb +256 -0
  257. data/lib/klaviyo-api-sdk/models/review_properties.rb +327 -0
  258. data/lib/klaviyo-api-sdk/models/review_styles.rb +266 -0
  259. data/lib/klaviyo-api-sdk/models/reviewer_name_style.rb +345 -0
  260. data/lib/klaviyo-api-sdk/models/rich_text_margin.rb +311 -0
  261. data/lib/klaviyo-api-sdk/models/rich_text_style.rb +343 -0
  262. data/lib/klaviyo-api-sdk/models/rich_text_styles.rb +281 -0
  263. data/lib/klaviyo-api-sdk/models/row.rb +235 -0
  264. data/lib/klaviyo-api-sdk/models/row_blocks_inner.rb +122 -0
  265. data/lib/klaviyo-api-sdk/models/scroll.rb +242 -0
  266. data/lib/klaviyo-api-sdk/models/scroll_percentage_enum.rb +35 -0
  267. data/lib/klaviyo-api-sdk/models/scroll_properties.rb +220 -0
  268. data/lib/klaviyo-api-sdk/models/segments_profile_metric_funnel_condition.rb +298 -0
  269. data/lib/klaviyo-api-sdk/models/segments_profile_metric_funnel_condition_timeframe_filter.rb +105 -0
  270. data/lib/klaviyo-api-sdk/models/send_email_action_data.rb +0 -5
  271. data/lib/klaviyo-api-sdk/models/send_push_notification_action_data.rb +0 -5
  272. data/lib/klaviyo-api-sdk/models/send_sms_action_data.rb +0 -5
  273. data/lib/klaviyo-api-sdk/models/send_whats_app_action.rb +263 -0
  274. data/lib/klaviyo-api-sdk/models/send_whats_app_action_data.rb +264 -0
  275. data/lib/klaviyo-api-sdk/models/send_whatsapp_enum.rb +35 -0
  276. data/lib/klaviyo-api-sdk/models/side_image_settings.rb +290 -0
  277. data/lib/klaviyo-api-sdk/models/signup_counter.rb +256 -0
  278. data/lib/klaviyo-api-sdk/models/signup_counter_enum.rb +35 -0
  279. data/lib/klaviyo-api-sdk/models/signup_counter_properties.rb +297 -0
  280. data/lib/klaviyo-api-sdk/models/signup_counter_styles.rb +228 -0
  281. data/lib/klaviyo-api-sdk/models/sms_consent_checkbox.rb +256 -0
  282. data/lib/klaviyo-api-sdk/models/sms_consent_checkbox_properties.rb +350 -0
  283. data/lib/klaviyo-api-sdk/models/sms_consent_checkbox_styles.rb +274 -0
  284. data/lib/klaviyo-api-sdk/models/sms_disclosure.rb +251 -0
  285. data/lib/klaviyo-api-sdk/models/sms_disclosure_account_default.rb +233 -0
  286. data/lib/klaviyo-api-sdk/models/sms_disclosure_custom.rb +267 -0
  287. data/lib/klaviyo-api-sdk/models/sms_disclosure_enum.rb +35 -0
  288. data/lib/klaviyo-api-sdk/models/sms_disclosure_properties.rb +251 -0
  289. data/lib/klaviyo-api-sdk/models/sms_disclosure_properties_content.rb +104 -0
  290. data/lib/klaviyo-api-sdk/models/sms_disclosure_styles.rb +246 -0
  291. data/lib/klaviyo-api-sdk/models/sms_disclosure_text_style.rb +299 -0
  292. data/lib/klaviyo-api-sdk/models/spin_to_win.rb +256 -0
  293. data/lib/klaviyo-api-sdk/models/spin_to_win_enum.rb +35 -0
  294. data/lib/klaviyo-api-sdk/models/spin_to_win_properties.rb +269 -0
  295. data/lib/klaviyo-api-sdk/models/spin_to_win_slice_config.rb +251 -0
  296. data/lib/klaviyo-api-sdk/models/spin_to_win_slice_style.rb +231 -0
  297. data/lib/klaviyo-api-sdk/models/spin_to_win_styles.rb +303 -0
  298. data/lib/klaviyo-api-sdk/models/static_coupon_config.rb +233 -0
  299. data/lib/klaviyo-api-sdk/models/step.rb +257 -0
  300. data/lib/klaviyo-api-sdk/models/string_operator_filter.rb +2 -2
  301. data/lib/klaviyo-api-sdk/models/string_phone_operator_array_filter.rb +1 -1
  302. data/lib/klaviyo-api-sdk/models/submit_back_in_stock.rb +287 -0
  303. data/lib/klaviyo-api-sdk/models/submit_back_in_stock_enum.rb +35 -0
  304. data/lib/klaviyo-api-sdk/models/submit_back_in_stock_properties.rb +219 -0
  305. data/lib/klaviyo-api-sdk/models/submit_opt_in_code.rb +299 -0
  306. data/lib/klaviyo-api-sdk/models/submit_opt_in_code_enum.rb +35 -0
  307. data/lib/klaviyo-api-sdk/models/subscribe_method_enum.rb +35 -0
  308. data/lib/klaviyo-api-sdk/models/subscribe_via_sms.rb +292 -0
  309. data/lib/klaviyo-api-sdk/models/subscribe_via_sms_enum.rb +35 -0
  310. data/lib/klaviyo-api-sdk/models/subscribe_via_sms_properties.rb +243 -0
  311. data/lib/klaviyo-api-sdk/models/subscribe_via_whats_app.rb +292 -0
  312. data/lib/klaviyo-api-sdk/models/subscribe_via_whats_app_properties.rb +243 -0
  313. data/lib/klaviyo-api-sdk/models/subscribe_via_whatsapp_enum.rb +35 -0
  314. data/lib/klaviyo-api-sdk/models/subscription_channels.rb +13 -4
  315. data/lib/klaviyo-api-sdk/models/teaser.rb +405 -0
  316. data/lib/klaviyo-api-sdk/models/teaser_styles.rb +267 -0
  317. data/lib/klaviyo-api-sdk/models/text.rb +256 -0
  318. data/lib/klaviyo-api-sdk/models/text_properties.rb +308 -0
  319. data/lib/klaviyo-api-sdk/models/text_style.rb +299 -0
  320. data/lib/klaviyo-api-sdk/models/text_style_font_family.rb +103 -0
  321. data/lib/klaviyo-api-sdk/models/text_styles.rb +228 -0
  322. data/lib/klaviyo-api-sdk/models/underline_enum.rb +35 -0
  323. data/lib/klaviyo-api-sdk/models/unidentified_profiles.rb +248 -0
  324. data/lib/klaviyo-api-sdk/models/unidentified_profiles_enum.rb +35 -0
  325. data/lib/klaviyo-api-sdk/models/unique_coupon_config.rb +299 -0
  326. data/lib/klaviyo-api-sdk/models/unique_enum.rb +35 -0
  327. data/lib/klaviyo-api-sdk/models/unsubscription_channels.rb +13 -4
  328. data/lib/klaviyo-api-sdk/models/url_patterns.rb +242 -0
  329. data/lib/klaviyo-api-sdk/models/url_patterns_enum.rb +35 -0
  330. data/lib/klaviyo-api-sdk/models/url_patterns_properties.rb +233 -0
  331. data/lib/klaviyo-api-sdk/models/variable_enum.rb +35 -0
  332. data/lib/klaviyo-api-sdk/models/variable_timer_configuration.rb +265 -0
  333. data/lib/klaviyo-api-sdk/models/version.rb +409 -0
  334. data/lib/klaviyo-api-sdk/models/version_properties.rb +299 -0
  335. data/lib/klaviyo-api-sdk/models/version_styles.rb +412 -0
  336. data/lib/klaviyo-api-sdk/models/version_triggers_inner.rb +121 -0
  337. data/lib/klaviyo-api-sdk/models/whats_app_subscription_parameters.rb +227 -0
  338. data/lib/klaviyo-api-sdk/models/whats_app_unsubscription_parameters.rb +236 -0
  339. data/lib/klaviyo-api-sdk.rb +280 -2
  340. data/lib/klaviyo-api-sdk.rb.bak +280 -2
  341. data/spec/.DS_Store +0 -0
  342. metadata +283 -4
@@ -0,0 +1,264 @@
1
+ =begin
2
+ #Klaviyo API
3
+
4
+ #The Klaviyo REST API. Please visit https://developers.klaviyo.com for more details.
5
+
6
+ Contact: developers@klaviyo.com
7
+ Generated by: https://openapi-generator.tech
8
+ OpenAPI Generator version: 6.2.1
9
+
10
+ =end
11
+
12
+ require 'date'
13
+ require 'time'
14
+
15
+ module KlaviyoAPI
16
+ class ContentExperimentAction
17
+ # The real ID of an action.
18
+ attr_accessor :id
19
+
20
+ # A temporary ID to use only during a create operation. Existing actions should use the id field.
21
+ attr_accessor :temporary_id
22
+
23
+ attr_accessor :type
24
+
25
+ attr_accessor :links
26
+
27
+ attr_accessor :data
28
+
29
+ # Attribute mapping from ruby-style variable name to JSON key.
30
+ def self.attribute_map
31
+ {
32
+ :'id' => :'id',
33
+ :'temporary_id' => :'temporary_id',
34
+ :'type' => :'type',
35
+ :'links' => :'links',
36
+ :'data' => :'data'
37
+ }
38
+ end
39
+
40
+ # Returns all the JSON keys this model knows about
41
+ def self.acceptable_attributes
42
+ attribute_map.values
43
+ end
44
+
45
+ # Attribute type mapping.
46
+ def self.openapi_types
47
+ {
48
+ :'id' => :'String',
49
+ :'temporary_id' => :'String',
50
+ :'type' => :'ContentExperimentEnum',
51
+ :'links' => :'Link',
52
+ :'data' => :'Object'
53
+ }
54
+ end
55
+
56
+ # List of attributes with nullable: true
57
+ def self.openapi_nullable
58
+ Set.new([
59
+ :'id',
60
+ :'temporary_id',
61
+ :'data'
62
+ ])
63
+ end
64
+
65
+ # Initializes the object
66
+ # @param [Hash] attributes Model attributes in the form of hash
67
+ def initialize(attributes = {})
68
+ if (!attributes.is_a?(Hash))
69
+ fail ArgumentError, "The input argument (attributes) must be a hash in `KlaviyoAPI::ContentExperimentAction` initialize method"
70
+ end
71
+
72
+ # check to see if the attribute exists and convert string to symbol for hash key
73
+ attributes = attributes.each_with_object({}) { |(k, v), h|
74
+ if (!self.class.attribute_map.key?(k.to_sym))
75
+ fail ArgumentError, "`#{k}` is not a valid attribute in `KlaviyoAPI::ContentExperimentAction`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
76
+ end
77
+ h[k.to_sym] = v
78
+ }
79
+
80
+ if attributes.key?(:'id')
81
+ self.id = attributes[:'id']
82
+ end
83
+
84
+ if attributes.key?(:'temporary_id')
85
+ self.temporary_id = attributes[:'temporary_id']
86
+ end
87
+
88
+ if attributes.key?(:'type')
89
+ self.type = attributes[:'type']
90
+ end
91
+
92
+ if attributes.key?(:'links')
93
+ self.links = attributes[:'links']
94
+ end
95
+
96
+ if attributes.key?(:'data')
97
+ self.data = attributes[:'data']
98
+ end
99
+ end
100
+
101
+ # Show invalid properties with the reasons. Usually used together with valid?
102
+ # @return Array for valid properties with the reasons
103
+ def list_invalid_properties
104
+ invalid_properties = Array.new
105
+ if @type.nil?
106
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
107
+ end
108
+
109
+ invalid_properties
110
+ end
111
+
112
+ # Check to see if the all the properties in the model are valid
113
+ # @return true if the model is valid
114
+ def valid?
115
+ return false if @type.nil?
116
+ true
117
+ end
118
+
119
+ # Checks equality by comparing each attribute.
120
+ # @param [Object] Object to be compared
121
+ def ==(o)
122
+ return true if self.equal?(o)
123
+ self.class == o.class &&
124
+ id == o.id &&
125
+ temporary_id == o.temporary_id &&
126
+ type == o.type &&
127
+ links == o.links &&
128
+ data == o.data
129
+ end
130
+
131
+ # @see the `==` method
132
+ # @param [Object] Object to be compared
133
+ def eql?(o)
134
+ self == o
135
+ end
136
+
137
+ # Calculates hash code according to all attributes.
138
+ # @return [Integer] Hash code
139
+ def hash
140
+ [id, temporary_id, type, links, data].hash
141
+ end
142
+
143
+ # Builds the object from hash
144
+ # @param [Hash] attributes Model attributes in the form of hash
145
+ # @return [Object] Returns the model itself
146
+ def self.build_from_hash(attributes)
147
+ new.build_from_hash(attributes)
148
+ end
149
+
150
+ # Builds the object from hash
151
+ # @param [Hash] attributes Model attributes in the form of hash
152
+ # @return [Object] Returns the model itself
153
+ def build_from_hash(attributes)
154
+ return nil unless attributes.is_a?(Hash)
155
+ attributes = attributes.transform_keys(&:to_sym)
156
+ self.class.openapi_types.each_pair do |key, type|
157
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
158
+ self.send("#{key}=", nil)
159
+ elsif type =~ /\AArray<(.*)>/i
160
+ # check to ensure the input is an array given that the attribute
161
+ # is documented as an array but the input is not
162
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
163
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
164
+ end
165
+ elsif !attributes[self.class.attribute_map[key]].nil?
166
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
167
+ end
168
+ end
169
+
170
+ self
171
+ end
172
+
173
+ # Deserializes the data based on type
174
+ # @param string type Data type
175
+ # @param string value Value to be deserialized
176
+ # @return [Object] Deserialized data
177
+ def _deserialize(type, value)
178
+ case type.to_sym
179
+ when :Time
180
+ Time.parse(value)
181
+ when :Date
182
+ Date.parse(value)
183
+ when :String
184
+ value.to_s
185
+ when :Integer
186
+ value.to_i
187
+ when :Float
188
+ value.to_f
189
+ when :Boolean
190
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
191
+ true
192
+ else
193
+ false
194
+ end
195
+ when :Object
196
+ # generic object (usually a Hash), return directly
197
+ value
198
+ when /\AArray<(?<inner_type>.+)>\z/
199
+ inner_type = Regexp.last_match[:inner_type]
200
+ value.map { |v| _deserialize(inner_type, v) }
201
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
202
+ k_type = Regexp.last_match[:k_type]
203
+ v_type = Regexp.last_match[:v_type]
204
+ {}.tap do |hash|
205
+ value.each do |k, v|
206
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
207
+ end
208
+ end
209
+ else # model
210
+ # models (e.g. Pet) or oneOf
211
+ klass = KlaviyoAPI.const_get(type)
212
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
213
+ end
214
+ end
215
+
216
+ # Returns the string representation of the object
217
+ # @return [String] String presentation of the object
218
+ def to_s
219
+ to_hash.to_s
220
+ end
221
+
222
+ # to_body is an alias to to_hash (backward compatibility)
223
+ # @return [Hash] Returns the object in the form of hash
224
+ def to_body
225
+ to_hash
226
+ end
227
+
228
+ # Returns the object in the form of hash
229
+ # @return [Hash] Returns the object in the form of hash
230
+ def to_hash
231
+ hash = {}
232
+ self.class.attribute_map.each_pair do |attr, param|
233
+ value = self.send(attr)
234
+ if value.nil?
235
+ is_nullable = self.class.openapi_nullable.include?(attr)
236
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
237
+ end
238
+
239
+ hash[param] = _to_hash(value)
240
+ end
241
+ hash
242
+ end
243
+
244
+ # Outputs non-array value in the form of hash
245
+ # For object, use to_hash. Otherwise, just return the value
246
+ # @param [Object] value Any valid value
247
+ # @return [Hash] Returns the value in the form of hash
248
+ def _to_hash(value)
249
+ if value.is_a?(Array)
250
+ value.compact.map { |v| _to_hash(v) }
251
+ elsif value.is_a?(Hash)
252
+ {}.tap do |hash|
253
+ value.each { |k, v| hash[k] = _to_hash(v) }
254
+ end
255
+ elsif value.respond_to? :to_hash
256
+ value.to_hash
257
+ else
258
+ value
259
+ end
260
+ end
261
+
262
+ end
263
+
264
+ end
@@ -0,0 +1,35 @@
1
+ =begin
2
+ #Klaviyo API
3
+
4
+ #The Klaviyo REST API. Please visit https://developers.klaviyo.com for more details.
5
+
6
+ Contact: developers@klaviyo.com
7
+ Generated by: https://openapi-generator.tech
8
+ OpenAPI Generator version: 6.2.1
9
+
10
+ =end
11
+
12
+ require 'date'
13
+ require 'time'
14
+
15
+ module KlaviyoAPI
16
+ class ContentExperimentEnum
17
+ CONTENT_EXPERIMENT = "content-experiment".freeze
18
+
19
+ # Builds the enum from string
20
+ # @param [String] The enum value in the form of the string
21
+ # @return [String] The enum value
22
+ def self.build_from_hash(value)
23
+ new.build_from_hash(value)
24
+ end
25
+
26
+ # Builds the enum from string
27
+ # @param [String] The enum value in the form of the string
28
+ # @return [String] The enum value
29
+ def build_from_hash(value)
30
+ constantValues = ContentExperimentEnum.constants.select { |c| ContentExperimentEnum::const_get(c) == value }
31
+ raise "Invalid ENUM value #{value} for class #ContentExperimentEnum" if constantValues.empty?
32
+ value
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,256 @@
1
+ =begin
2
+ #Klaviyo API
3
+
4
+ #The Klaviyo REST API. Please visit https://developers.klaviyo.com for more details.
5
+
6
+ Contact: developers@klaviyo.com
7
+ Generated by: https://openapi-generator.tech
8
+ OpenAPI Generator version: 6.2.1
9
+
10
+ =end
11
+
12
+ require 'date'
13
+ require 'time'
14
+
15
+ module KlaviyoAPI
16
+ class CountdownTimer
17
+ attr_accessor :id
18
+
19
+ attr_accessor :type
20
+
21
+ attr_accessor :styles
22
+
23
+ attr_accessor :properties
24
+
25
+ # Attribute mapping from ruby-style variable name to JSON key.
26
+ def self.attribute_map
27
+ {
28
+ :'id' => :'id',
29
+ :'type' => :'type',
30
+ :'styles' => :'styles',
31
+ :'properties' => :'properties'
32
+ }
33
+ end
34
+
35
+ # Returns all the JSON keys this model knows about
36
+ def self.acceptable_attributes
37
+ attribute_map.values
38
+ end
39
+
40
+ # Attribute type mapping.
41
+ def self.openapi_types
42
+ {
43
+ :'id' => :'String',
44
+ :'type' => :'CountdownTimerEnum',
45
+ :'styles' => :'CountdownTimerStyles',
46
+ :'properties' => :'CountdownTimerProperties'
47
+ }
48
+ end
49
+
50
+ # List of attributes with nullable: true
51
+ def self.openapi_nullable
52
+ Set.new([
53
+ :'id',
54
+ ])
55
+ end
56
+
57
+ # Initializes the object
58
+ # @param [Hash] attributes Model attributes in the form of hash
59
+ def initialize(attributes = {})
60
+ if (!attributes.is_a?(Hash))
61
+ fail ArgumentError, "The input argument (attributes) must be a hash in `KlaviyoAPI::CountdownTimer` initialize method"
62
+ end
63
+
64
+ # check to see if the attribute exists and convert string to symbol for hash key
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!self.class.attribute_map.key?(k.to_sym))
67
+ fail ArgumentError, "`#{k}` is not a valid attribute in `KlaviyoAPI::CountdownTimer`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
68
+ end
69
+ h[k.to_sym] = v
70
+ }
71
+
72
+ if attributes.key?(:'id')
73
+ self.id = attributes[:'id']
74
+ end
75
+
76
+ if attributes.key?(:'type')
77
+ self.type = attributes[:'type']
78
+ end
79
+
80
+ if attributes.key?(:'styles')
81
+ self.styles = attributes[:'styles']
82
+ end
83
+
84
+ if attributes.key?(:'properties')
85
+ self.properties = attributes[:'properties']
86
+ end
87
+ end
88
+
89
+ # Show invalid properties with the reasons. Usually used together with valid?
90
+ # @return Array for valid properties with the reasons
91
+ def list_invalid_properties
92
+ invalid_properties = Array.new
93
+ if @type.nil?
94
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
95
+ end
96
+
97
+ if @properties.nil?
98
+ invalid_properties.push('invalid value for "properties", properties cannot be nil.')
99
+ end
100
+
101
+ invalid_properties
102
+ end
103
+
104
+ # Check to see if the all the properties in the model are valid
105
+ # @return true if the model is valid
106
+ def valid?
107
+ return false if @type.nil?
108
+ return false if @properties.nil?
109
+ true
110
+ end
111
+
112
+ # Checks equality by comparing each attribute.
113
+ # @param [Object] Object to be compared
114
+ def ==(o)
115
+ return true if self.equal?(o)
116
+ self.class == o.class &&
117
+ id == o.id &&
118
+ type == o.type &&
119
+ styles == o.styles &&
120
+ properties == o.properties
121
+ end
122
+
123
+ # @see the `==` method
124
+ # @param [Object] Object to be compared
125
+ def eql?(o)
126
+ self == o
127
+ end
128
+
129
+ # Calculates hash code according to all attributes.
130
+ # @return [Integer] Hash code
131
+ def hash
132
+ [id, type, styles, properties].hash
133
+ end
134
+
135
+ # Builds the object from hash
136
+ # @param [Hash] attributes Model attributes in the form of hash
137
+ # @return [Object] Returns the model itself
138
+ def self.build_from_hash(attributes)
139
+ new.build_from_hash(attributes)
140
+ end
141
+
142
+ # Builds the object from hash
143
+ # @param [Hash] attributes Model attributes in the form of hash
144
+ # @return [Object] Returns the model itself
145
+ def build_from_hash(attributes)
146
+ return nil unless attributes.is_a?(Hash)
147
+ attributes = attributes.transform_keys(&:to_sym)
148
+ self.class.openapi_types.each_pair do |key, type|
149
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
150
+ self.send("#{key}=", nil)
151
+ elsif type =~ /\AArray<(.*)>/i
152
+ # check to ensure the input is an array given that the attribute
153
+ # is documented as an array but the input is not
154
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
155
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
156
+ end
157
+ elsif !attributes[self.class.attribute_map[key]].nil?
158
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
159
+ end
160
+ end
161
+
162
+ self
163
+ end
164
+
165
+ # Deserializes the data based on type
166
+ # @param string type Data type
167
+ # @param string value Value to be deserialized
168
+ # @return [Object] Deserialized data
169
+ def _deserialize(type, value)
170
+ case type.to_sym
171
+ when :Time
172
+ Time.parse(value)
173
+ when :Date
174
+ Date.parse(value)
175
+ when :String
176
+ value.to_s
177
+ when :Integer
178
+ value.to_i
179
+ when :Float
180
+ value.to_f
181
+ when :Boolean
182
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
183
+ true
184
+ else
185
+ false
186
+ end
187
+ when :Object
188
+ # generic object (usually a Hash), return directly
189
+ value
190
+ when /\AArray<(?<inner_type>.+)>\z/
191
+ inner_type = Regexp.last_match[:inner_type]
192
+ value.map { |v| _deserialize(inner_type, v) }
193
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
194
+ k_type = Regexp.last_match[:k_type]
195
+ v_type = Regexp.last_match[:v_type]
196
+ {}.tap do |hash|
197
+ value.each do |k, v|
198
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
199
+ end
200
+ end
201
+ else # model
202
+ # models (e.g. Pet) or oneOf
203
+ klass = KlaviyoAPI.const_get(type)
204
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
205
+ end
206
+ end
207
+
208
+ # Returns the string representation of the object
209
+ # @return [String] String presentation of the object
210
+ def to_s
211
+ to_hash.to_s
212
+ end
213
+
214
+ # to_body is an alias to to_hash (backward compatibility)
215
+ # @return [Hash] Returns the object in the form of hash
216
+ def to_body
217
+ to_hash
218
+ end
219
+
220
+ # Returns the object in the form of hash
221
+ # @return [Hash] Returns the object in the form of hash
222
+ def to_hash
223
+ hash = {}
224
+ self.class.attribute_map.each_pair do |attr, param|
225
+ value = self.send(attr)
226
+ if value.nil?
227
+ is_nullable = self.class.openapi_nullable.include?(attr)
228
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
229
+ end
230
+
231
+ hash[param] = _to_hash(value)
232
+ end
233
+ hash
234
+ end
235
+
236
+ # Outputs non-array value in the form of hash
237
+ # For object, use to_hash. Otherwise, just return the value
238
+ # @param [Object] value Any valid value
239
+ # @return [Hash] Returns the value in the form of hash
240
+ def _to_hash(value)
241
+ if value.is_a?(Array)
242
+ value.compact.map { |v| _to_hash(v) }
243
+ elsif value.is_a?(Hash)
244
+ {}.tap do |hash|
245
+ value.each { |k, v| hash[k] = _to_hash(v) }
246
+ end
247
+ elsif value.respond_to? :to_hash
248
+ value.to_hash
249
+ else
250
+ value
251
+ end
252
+ end
253
+
254
+ end
255
+
256
+ end
@@ -0,0 +1,35 @@
1
+ =begin
2
+ #Klaviyo API
3
+
4
+ #The Klaviyo REST API. Please visit https://developers.klaviyo.com for more details.
5
+
6
+ Contact: developers@klaviyo.com
7
+ Generated by: https://openapi-generator.tech
8
+ OpenAPI Generator version: 6.2.1
9
+
10
+ =end
11
+
12
+ require 'date'
13
+ require 'time'
14
+
15
+ module KlaviyoAPI
16
+ class CountdownTimerEnum
17
+ COUNTDOWN_TIMER = "countdown_timer".freeze
18
+
19
+ # Builds the enum from string
20
+ # @param [String] The enum value in the form of the string
21
+ # @return [String] The enum value
22
+ def self.build_from_hash(value)
23
+ new.build_from_hash(value)
24
+ end
25
+
26
+ # Builds the enum from string
27
+ # @param [String] The enum value in the form of the string
28
+ # @return [String] The enum value
29
+ def build_from_hash(value)
30
+ constantValues = CountdownTimerEnum.constants.select { |c| CountdownTimerEnum::const_get(c) == value }
31
+ raise "Invalid ENUM value #{value} for class #CountdownTimerEnum" if constantValues.empty?
32
+ value
33
+ end
34
+ end
35
+ end