klaviyo-api-sdk 18.0.0 → 19.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 (418) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +44 -0
  3. data/README.md +1525 -459
  4. data/klaviyo-api-sdk.gemspec +2 -2
  5. data/lib/klaviyo-api-sdk/api/accounts_api.rb +6 -6
  6. data/lib/klaviyo-api-sdk/api/billing_api.rb +162 -0
  7. data/lib/klaviyo-api-sdk/api/brands_api.rb +1933 -0
  8. data/lib/klaviyo-api-sdk/api/campaigns_api.rb +3298 -653
  9. data/lib/klaviyo-api-sdk/api/catalogs_api.rb +265 -265
  10. data/lib/klaviyo-api-sdk/api/client_api.rb +9 -13
  11. data/lib/klaviyo-api-sdk/api/conversations_api.rb +1 -1
  12. data/lib/klaviyo-api-sdk/api/coupons_api.rb +80 -80
  13. data/lib/klaviyo-api-sdk/api/custom_objects_api.rb +120 -117
  14. data/lib/klaviyo-api-sdk/api/data_privacy_api.rb +1 -1
  15. data/lib/klaviyo-api-sdk/api/events_api.rb +39 -39
  16. data/lib/klaviyo-api-sdk/api/flows_api.rb +190 -113
  17. data/lib/klaviyo-api-sdk/api/forms_api.rb +292 -43
  18. data/lib/klaviyo-api-sdk/api/images_api.rb +23 -23
  19. data/lib/klaviyo-api-sdk/api/lists_api.rb +64 -64
  20. data/lib/klaviyo-api-sdk/api/metrics_api.rb +94 -94
  21. data/lib/klaviyo-api-sdk/api/profiles_api.rb +163 -163
  22. data/lib/klaviyo-api-sdk/api/reporting_api.rb +27 -27
  23. data/lib/klaviyo-api-sdk/api/reviews_api.rb +23 -23
  24. data/lib/klaviyo-api-sdk/api/segments_api.rb +58 -58
  25. data/lib/klaviyo-api-sdk/api/tags_api.rb +62 -62
  26. data/lib/klaviyo-api-sdk/api/templates_api.rb +236 -76
  27. data/lib/klaviyo-api-sdk/api/text_messaging_api.rb +774 -0
  28. data/lib/klaviyo-api-sdk/api/tracking_settings_api.rb +11 -11
  29. data/lib/klaviyo-api-sdk/api/translations_api.rb +1102 -0
  30. data/lib/klaviyo-api-sdk/api/web_feeds_api.rb +19 -19
  31. data/lib/klaviyo-api-sdk/api/webhooks_api.rb +27 -27
  32. data/lib/klaviyo-api-sdk/api_client.rb +1 -1
  33. data/lib/klaviyo-api-sdk/models/{push_on_open_app.rb → ab_test_action_link_only.rb} +23 -9
  34. data/lib/klaviyo-api-sdk/models/{sms_message_definition_create.rb → ab_test_settings.rb} +36 -35
  35. data/lib/klaviyo-api-sdk/models/action_output_split_action_link_only.rb +271 -0
  36. data/lib/klaviyo-api-sdk/models/address.rb +295 -0
  37. data/lib/klaviyo-api-sdk/models/age_gate_properties.rb +10 -1
  38. data/lib/klaviyo-api-sdk/models/age_gate_styles.rb +14 -5
  39. data/lib/klaviyo-api-sdk/models/{dynamic_tracking_param.rb → animation.rb} +56 -44
  40. data/lib/klaviyo-api-sdk/models/api_schema_property.rb +2 -2
  41. data/lib/klaviyo-api-sdk/models/audience_clone_query.rb +223 -0
  42. data/lib/klaviyo-api-sdk/models/{campaign_message_partial_update_query_resource_object.rb → audience_clone_query_resource_object.rb} +7 -7
  43. data/lib/klaviyo-api-sdk/models/audience_clone_query_resource_object_attributes.rb +235 -0
  44. data/lib/klaviyo-api-sdk/models/audience_clone_query_resource_object_relationships.rb +218 -0
  45. data/lib/klaviyo-api-sdk/models/audience_clone_query_resource_object_relationships_campaign.rb +218 -0
  46. data/lib/klaviyo-api-sdk/models/audience_clone_query_resource_object_relationships_campaign_data.rb +238 -0
  47. data/lib/klaviyo-api-sdk/models/audience_create_query.rb +223 -0
  48. data/lib/klaviyo-api-sdk/models/audience_create_query_resource_object.rb +251 -0
  49. data/lib/klaviyo-api-sdk/models/{campaign_message_create_query_resource_object_attributes.rb → audience_create_query_resource_object_attributes.rb} +4 -4
  50. data/lib/klaviyo-api-sdk/models/{html_block_data_v0.rb → audience_create_query_resource_object_relationships.rb} +19 -24
  51. data/lib/klaviyo-api-sdk/models/audience_create_query_resource_object_relationships_campaign.rb +218 -0
  52. data/lib/klaviyo-api-sdk/models/audience_create_query_resource_object_relationships_campaign_data.rb +238 -0
  53. data/lib/klaviyo-api-sdk/models/audience_create_query_resource_object_relationships_campaign_messages.rb +220 -0
  54. data/lib/klaviyo-api-sdk/models/audience_create_query_resource_object_relationships_campaign_messages_data_inner.rb +238 -0
  55. data/lib/klaviyo-api-sdk/models/{audiences_update.rb → audience_definition.rb} +32 -10
  56. data/lib/klaviyo-api-sdk/models/audience_inline_create.rb +261 -0
  57. data/lib/klaviyo-api-sdk/models/audience_update_query.rb +223 -0
  58. data/lib/klaviyo-api-sdk/models/audience_update_query_resource_object.rb +252 -0
  59. data/lib/klaviyo-api-sdk/models/{campaign_message_partial_update_query_resource_object_attributes.rb → audience_update_query_resource_object_attributes.rb} +4 -5
  60. data/lib/klaviyo-api-sdk/models/back_in_stock_delay_action_link_only.rb +271 -0
  61. data/lib/klaviyo-api-sdk/models/back_in_stock_email_consent_checkbox_properties.rb +10 -1
  62. data/lib/klaviyo-api-sdk/models/back_in_stock_email_consent_checkbox_styles.rb +10 -1
  63. data/lib/klaviyo-api-sdk/models/border_styles.rb +297 -0
  64. data/lib/klaviyo-api-sdk/models/brand_button_create_query.rb +223 -0
  65. data/lib/klaviyo-api-sdk/models/brand_button_create_query_resource_object.rb +237 -0
  66. data/lib/klaviyo-api-sdk/models/brand_button_create_query_resource_object_attributes.rb +298 -0
  67. data/lib/klaviyo-api-sdk/models/brand_button_enum.rb +35 -0
  68. data/lib/klaviyo-api-sdk/models/brand_button_partial_update_query.rb +223 -0
  69. data/lib/klaviyo-api-sdk/models/brand_button_partial_update_query_resource_object.rb +252 -0
  70. data/lib/klaviyo-api-sdk/models/brand_button_partial_update_query_resource_object_attributes.rb +275 -0
  71. data/lib/klaviyo-api-sdk/models/brand_color_create_query.rb +223 -0
  72. data/lib/klaviyo-api-sdk/models/brand_color_create_query_resource_object.rb +237 -0
  73. data/lib/klaviyo-api-sdk/models/brand_color_create_query_resource_object_attributes.rb +233 -0
  74. data/lib/klaviyo-api-sdk/models/brand_color_enum.rb +35 -0
  75. data/lib/klaviyo-api-sdk/models/brand_color_partial_update_query.rb +223 -0
  76. data/lib/klaviyo-api-sdk/models/brand_color_partial_update_query_resource_object.rb +252 -0
  77. data/lib/klaviyo-api-sdk/models/brand_color_partial_update_query_resource_object_attributes.rb +231 -0
  78. data/lib/klaviyo-api-sdk/models/{campaigns_email_tracking_options.rb → brand_email_body_patch_attributes.rb} +68 -38
  79. data/lib/klaviyo-api-sdk/models/brand_email_default_enum.rb +35 -0
  80. data/lib/klaviyo-api-sdk/models/brand_email_default_partial_update_query.rb +223 -0
  81. data/lib/klaviyo-api-sdk/models/brand_email_default_partial_update_query_resource_object.rb +261 -0
  82. data/lib/klaviyo-api-sdk/models/{audiences.rb → brand_email_default_partial_update_query_resource_object_attributes.rb} +25 -28
  83. data/lib/klaviyo-api-sdk/models/brand_email_default_partial_update_query_resource_object_relationships.rb +236 -0
  84. data/lib/klaviyo-api-sdk/models/brand_email_default_partial_update_query_resource_object_relationships_brand_button.rb +218 -0
  85. data/lib/klaviyo-api-sdk/models/{content_repeat_v0.rb → brand_email_default_partial_update_query_resource_object_relationships_brand_button_data.rb} +22 -22
  86. data/lib/klaviyo-api-sdk/models/brand_email_default_partial_update_query_resource_object_relationships_brand_logo.rb +218 -0
  87. data/lib/klaviyo-api-sdk/models/brand_email_default_partial_update_query_resource_object_relationships_brand_logo_data.rb +237 -0
  88. data/lib/klaviyo-api-sdk/models/brand_email_default_partial_update_query_resource_object_relationships_brand_social_group.rb +218 -0
  89. data/lib/klaviyo-api-sdk/models/brand_email_default_partial_update_rels_brand_social_group_data.rb +237 -0
  90. data/lib/klaviyo-api-sdk/models/brand_email_footer_patch_attributes.rb +283 -0
  91. data/lib/klaviyo-api-sdk/models/{mobile_push_content_update.rb → brand_email_header_patch_attributes.rb} +36 -38
  92. data/lib/klaviyo-api-sdk/models/brand_library_button_styles.rb +262 -0
  93. data/lib/klaviyo-api-sdk/models/brand_library_text_styles.rb +368 -0
  94. data/lib/klaviyo-api-sdk/models/{mobile_push_options_badge.rb → brand_library_text_styles_letter_spacing.rb} +3 -4
  95. data/lib/klaviyo-api-sdk/models/brand_logo_create_query.rb +223 -0
  96. data/lib/klaviyo-api-sdk/models/{campaign_message_create_query_resource_object.rb → brand_logo_create_query_resource_object.rb} +6 -6
  97. data/lib/klaviyo-api-sdk/models/brand_logo_create_query_resource_object_attributes.rb +264 -0
  98. data/lib/klaviyo-api-sdk/models/{campaign_message_create_query_resource_object_relationships.rb → brand_logo_create_query_resource_object_relationships.rb} +4 -4
  99. data/lib/klaviyo-api-sdk/models/brand_logo_create_query_resource_object_relationships_image.rb +218 -0
  100. data/lib/klaviyo-api-sdk/models/brand_logo_create_query_resource_object_relationships_image_data.rb +237 -0
  101. data/lib/klaviyo-api-sdk/models/brand_logo_enum.rb +35 -0
  102. data/lib/klaviyo-api-sdk/models/{universal_content_create_query.rb → brand_logo_partial_update_query.rb} +4 -4
  103. data/lib/klaviyo-api-sdk/models/brand_logo_partial_update_query_resource_object.rb +261 -0
  104. data/lib/klaviyo-api-sdk/models/brand_logo_partial_update_query_resource_object_attributes.rb +259 -0
  105. data/lib/klaviyo-api-sdk/models/brand_social_group_create_query.rb +223 -0
  106. data/lib/klaviyo-api-sdk/models/{universal_content_create_query_resource_object.rb → brand_social_group_create_query_resource_object.rb} +5 -5
  107. data/lib/klaviyo-api-sdk/models/brand_social_group_create_query_resource_object_attributes.rb +237 -0
  108. data/lib/klaviyo-api-sdk/models/{mobile_push_badge_badge_options.rb → brand_social_group_create_query_resource_object_attributes_social_links_inner.rb} +3 -5
  109. data/lib/klaviyo-api-sdk/models/brand_social_group_enum.rb +35 -0
  110. data/lib/klaviyo-api-sdk/models/{universal_content_partial_update_query.rb → brand_social_group_partial_update_query.rb} +4 -4
  111. data/lib/klaviyo-api-sdk/models/{universal_content_partial_update_query_resource_object.rb → brand_social_group_partial_update_query_resource_object.rb} +6 -6
  112. data/lib/klaviyo-api-sdk/models/brand_social_group_partial_update_query_resource_object_attributes.rb +231 -0
  113. data/lib/klaviyo-api-sdk/models/brand_voice_descriptor.rb +248 -0
  114. data/lib/klaviyo-api-sdk/models/brand_voice_enum.rb +35 -0
  115. data/lib/klaviyo-api-sdk/models/brand_voice_partial_update_query.rb +223 -0
  116. data/lib/klaviyo-api-sdk/models/brand_voice_partial_update_query_resource_object.rb +252 -0
  117. data/lib/klaviyo-api-sdk/models/brand_voice_partial_update_query_resource_object_attributes.rb +235 -0
  118. data/lib/klaviyo-api-sdk/models/button_action.rb +1 -0
  119. data/lib/klaviyo-api-sdk/models/button_properties.rb +10 -1
  120. data/lib/klaviyo-api-sdk/models/button_styles.rb +10 -1
  121. data/lib/klaviyo-api-sdk/models/campaign_audience_clone_enum.rb +35 -0
  122. data/lib/klaviyo-api-sdk/models/campaign_audience_enum.rb +35 -0
  123. data/lib/klaviyo-api-sdk/models/campaign_clone_query_resource_object_attributes.rb +9 -9
  124. data/lib/klaviyo-api-sdk/models/campaign_create_query_resource_object.rb +13 -4
  125. data/lib/klaviyo-api-sdk/models/campaign_create_query_resource_object_attributes.rb +30 -63
  126. data/lib/klaviyo-api-sdk/models/campaign_create_query_resource_object_relationships.rb +236 -0
  127. data/lib/klaviyo-api-sdk/models/campaign_create_query_resource_object_relationships_campaign_audiences.rb +220 -0
  128. data/lib/klaviyo-api-sdk/models/campaign_create_query_resource_object_relationships_campaign_audiences_data_inner.rb +238 -0
  129. data/lib/klaviyo-api-sdk/models/campaign_create_query_resource_object_relationships_campaign_messages.rb +220 -0
  130. data/lib/klaviyo-api-sdk/models/campaign_create_query_resource_object_relationships_campaign_messages_data_inner.rb +238 -0
  131. data/lib/klaviyo-api-sdk/models/campaign_create_query_resource_object_relationships_tags.rb +220 -0
  132. data/lib/klaviyo-api-sdk/models/campaign_create_query_resource_object_relationships_tags_data_inner.rb +238 -0
  133. data/lib/klaviyo-api-sdk/models/{push_action_button_definition.rb → campaign_definition.rb} +56 -44
  134. data/lib/klaviyo-api-sdk/models/campaign_message_schedule_enum.rb +35 -0
  135. data/lib/klaviyo-api-sdk/models/campaign_message_schedule_query.rb +223 -0
  136. data/lib/klaviyo-api-sdk/models/campaign_message_schedule_query_resource_object.rb +251 -0
  137. data/lib/klaviyo-api-sdk/models/campaign_message_schedule_query_resource_object_attributes.rb +298 -0
  138. data/lib/klaviyo-api-sdk/models/campaign_message_schedule_query_resource_object_relationships.rb +223 -0
  139. data/lib/klaviyo-api-sdk/models/campaign_message_schedule_query_resource_object_relationships_campaign_message.rb +218 -0
  140. data/lib/klaviyo-api-sdk/models/campaign_message_schedule_query_resource_object_relationships_campaign_message_data.rb +238 -0
  141. data/lib/klaviyo-api-sdk/models/campaign_message_schedule_update_query.rb +223 -0
  142. data/lib/klaviyo-api-sdk/models/campaign_message_schedule_update_query_resource_object.rb +251 -0
  143. data/lib/klaviyo-api-sdk/models/{non_local_static_send.rb → campaign_message_schedule_update_query_resource_object_attributes.rb} +22 -22
  144. data/lib/klaviyo-api-sdk/models/campaign_partial_update_query_resource_object.rb +1 -1
  145. data/lib/klaviyo-api-sdk/models/campaign_partial_update_query_resource_object_attributes.rb +12 -48
  146. data/lib/klaviyo-api-sdk/models/campaign_schedule_enum.rb +35 -0
  147. data/lib/klaviyo-api-sdk/models/campaign_schedule_query.rb +223 -0
  148. data/lib/klaviyo-api-sdk/models/campaign_schedule_query_resource_object.rb +251 -0
  149. data/lib/klaviyo-api-sdk/models/campaign_schedule_query_resource_object_attributes.rb +226 -0
  150. data/lib/klaviyo-api-sdk/models/campaign_schedule_query_resource_object_relationships.rb +223 -0
  151. data/lib/klaviyo-api-sdk/models/campaign_schedule_query_resource_object_relationships_campaign.rb +218 -0
  152. data/lib/klaviyo-api-sdk/models/campaign_schedule_query_resource_object_relationships_campaign_data.rb +238 -0
  153. data/lib/klaviyo-api-sdk/models/campaign_tracking_setting_dynamic_param.rb +2 -2
  154. data/lib/klaviyo-api-sdk/models/campaign_variation_enum.rb +35 -0
  155. data/lib/klaviyo-api-sdk/models/checkboxes_properties.rb +10 -1
  156. data/lib/klaviyo-api-sdk/models/checkboxes_styles.rb +10 -1
  157. data/lib/klaviyo-api-sdk/models/{mobile_push_no_badge.rb → click_tracking_subscription_parameters.rb} +22 -22
  158. data/lib/klaviyo-api-sdk/models/{campaign_message_increment.rb → click_tracking_unsubscription_parameters.rb} +22 -21
  159. data/lib/klaviyo-api-sdk/models/close_button_style.rb +49 -4
  160. data/lib/klaviyo-api-sdk/models/{push_on_open_web_url.rb → code_action_link_only.rb} +17 -14
  161. data/lib/klaviyo-api-sdk/models/color.rb +237 -0
  162. data/lib/klaviyo-api-sdk/models/conditional_branch_action_link_only.rb +271 -0
  163. data/lib/klaviyo-api-sdk/models/consent_page_enum.rb +35 -0
  164. data/lib/klaviyo-api-sdk/models/content_experiment_action_link_only.rb +271 -0
  165. data/lib/klaviyo-api-sdk/models/{push_on_open_deep_link.rb → continue_with_shop.rb} +29 -22
  166. data/lib/klaviyo-api-sdk/models/{text_block_data_v0.rb → continue_with_shop_autofill.rb} +50 -37
  167. data/lib/klaviyo-api-sdk/models/continue_with_shop_phone_consent.rb +262 -0
  168. data/lib/klaviyo-api-sdk/models/{mobile_push_message_standard_definition_update.rb → continue_with_shop_properties.rb} +76 -59
  169. data/lib/klaviyo-api-sdk/models/continue_with_shop_styles.rb +298 -0
  170. data/lib/klaviyo-api-sdk/models/conversation_message_create_query_resource_object_attributes.rb +17 -4
  171. data/lib/klaviyo-api-sdk/models/countdown_delay_action_link_only.rb +271 -0
  172. data/lib/klaviyo-api-sdk/models/countdown_timer_properties.rb +33 -1
  173. data/lib/klaviyo-api-sdk/models/{horizontal_rule_block_v0.rb → coupon_assigner_configuration.rb} +40 -48
  174. data/lib/klaviyo-api-sdk/models/coupon_block_data.rb +1 -5
  175. data/lib/klaviyo-api-sdk/models/coupon_create_query_resource_object_attributes.rb +14 -5
  176. data/lib/klaviyo-api-sdk/models/coupon_properties.rb +10 -1
  177. data/lib/klaviyo-api-sdk/models/coupon_update_query_resource_object_attributes.rb +14 -5
  178. data/lib/klaviyo-api-sdk/models/custom_html_properties.rb +10 -1
  179. data/lib/klaviyo-api-sdk/models/custom_object_date_trigger.rb +11 -1
  180. data/lib/klaviyo-api-sdk/models/custom_object_date_trigger_trigger_filter.rb +225 -0
  181. data/lib/klaviyo-api-sdk/models/custom_object_date_trigger_trigger_filter_condition_groups_inner.rb +225 -0
  182. data/lib/klaviyo-api-sdk/models/{local_static_send.rb → custom_social_link.rb} +72 -31
  183. data/lib/klaviyo-api-sdk/models/customer_hub_block_action_link_only.rb +271 -0
  184. data/lib/klaviyo-api-sdk/models/data_source_record_bulk_create_job_create_query_resource_object.rb +5 -0
  185. data/lib/klaviyo-api-sdk/models/data_source_record_bulk_create_job_create_query_resource_object_attributes.rb +5 -1
  186. data/lib/klaviyo-api-sdk/models/data_source_record_bulk_create_job_create_query_resource_object_relationships.rb +5 -0
  187. data/lib/klaviyo-api-sdk/models/data_source_record_create_job_create_query_resource_object.rb +5 -0
  188. data/lib/klaviyo-api-sdk/models/date_properties.rb +10 -1
  189. data/lib/klaviyo-api-sdk/models/date_styles.rb +14 -5
  190. data/lib/klaviyo-api-sdk/models/dropdown_properties.rb +10 -1
  191. data/lib/klaviyo-api-sdk/models/dropdown_styles.rb +14 -5
  192. data/lib/klaviyo-api-sdk/models/{mobile_push_badge.rb → dynamic_sms_image.rb} +29 -28
  193. data/lib/klaviyo-api-sdk/models/{email_content.rb → email_channel_details.rb} +97 -42
  194. data/lib/klaviyo-api-sdk/models/{push_send_options.rb → email_header_link.rb} +29 -14
  195. data/lib/klaviyo-api-sdk/models/email_properties.rb +10 -1
  196. data/lib/klaviyo-api-sdk/models/email_styles.rb +14 -5
  197. data/lib/klaviyo-api-sdk/models/email_subscription_parameters.rb +13 -4
  198. data/lib/klaviyo-api-sdk/models/email_unsubscription_parameters.rb +13 -4
  199. data/lib/klaviyo-api-sdk/models/enroll_form_action_link_only.rb +271 -0
  200. data/lib/klaviyo-api-sdk/models/event_profile_create_query_resource_object.rb +13 -4
  201. data/lib/klaviyo-api-sdk/models/event_profile_create_query_resource_object_attributes.rb +5 -14
  202. data/lib/klaviyo-api-sdk/models/{smart_send_time_strategy.rb → first_party_social_link.rb} +30 -31
  203. data/lib/klaviyo-api-sdk/models/flow_action_anchor_query_resource_object.rb +252 -0
  204. data/lib/klaviyo-api-sdk/models/flow_action_anchor_query_resource_object_attributes.rb +223 -0
  205. data/lib/klaviyo-api-sdk/models/flow_action_anchor_query_resource_object_attributes_definition.rb +126 -0
  206. data/lib/klaviyo-api-sdk/models/flow_action_insert_query.rb +223 -0
  207. data/lib/klaviyo-api-sdk/models/flow_action_insert_query_resource_object.rb +246 -0
  208. data/lib/klaviyo-api-sdk/models/flow_action_insert_query_resource_object_attributes.rb +245 -0
  209. data/lib/klaviyo-api-sdk/models/{campaign_create_query_resource_object_attributes_campaign_messages.rb → flow_action_insert_query_resource_object_attributes_anchor_action.rb} +6 -8
  210. data/lib/klaviyo-api-sdk/models/flow_action_insert_query_resource_object_attributes_definition.rb +124 -0
  211. data/lib/klaviyo-api-sdk/models/flow_action_insert_query_resource_object_relationships.rb +218 -0
  212. data/lib/klaviyo-api-sdk/models/flow_action_insert_query_resource_object_relationships_flow.rb +218 -0
  213. data/lib/klaviyo-api-sdk/models/flow_action_insert_query_resource_object_relationships_flow_data.rb +238 -0
  214. data/lib/klaviyo-api-sdk/models/flow_action_update_query_resource_object_attributes_definition.rb +1 -0
  215. data/lib/klaviyo-api-sdk/models/flow_definition_actions_inner.rb +1 -0
  216. data/lib/klaviyo-api-sdk/models/flow_message_enum.rb +35 -0
  217. data/lib/klaviyo-api-sdk/models/flow_push_notification.rb +1 -1
  218. data/lib/klaviyo-api-sdk/models/flow_sms.rb +2 -2
  219. data/lib/klaviyo-api-sdk/models/{mobile_push_options_on_open.rb → flow_sms_message_hierarchy_inner.rb} +3 -4
  220. data/lib/klaviyo-api-sdk/models/flow_whats_app.rb +25 -5
  221. data/lib/klaviyo-api-sdk/models/{campaigns_sms_tracking_options.rb → flow_whats_app_with_ac.rb} +86 -16
  222. data/lib/klaviyo-api-sdk/models/form_partial_update_query.rb +223 -0
  223. data/lib/klaviyo-api-sdk/models/form_partial_update_query_resource_object.rb +252 -0
  224. data/lib/klaviyo-api-sdk/models/form_partial_update_query_resource_object_attributes.rb +229 -0
  225. data/lib/klaviyo-api-sdk/models/form_publish_job_create_query.rb +223 -0
  226. data/lib/klaviyo-api-sdk/models/form_publish_job_create_query_resource_object.rb +237 -0
  227. data/lib/klaviyo-api-sdk/models/form_publish_job_create_query_resource_object_relationships.rb +223 -0
  228. data/lib/klaviyo-api-sdk/models/form_publish_job_create_query_resource_object_relationships_form.rb +218 -0
  229. data/lib/klaviyo-api-sdk/models/form_publish_job_create_query_resource_object_relationships_form_data.rb +238 -0
  230. data/lib/klaviyo-api-sdk/models/form_publish_job_enum.rb +35 -0
  231. data/lib/klaviyo-api-sdk/models/form_unpublish_job_create_query.rb +223 -0
  232. data/lib/klaviyo-api-sdk/models/form_unpublish_job_create_query_resource_object.rb +237 -0
  233. data/lib/klaviyo-api-sdk/models/form_unpublish_job_create_query_resource_object_relationships.rb +223 -0
  234. data/lib/klaviyo-api-sdk/models/{campaign_message_create_query_resource_object_relationships_image.rb → form_unpublish_job_create_query_resource_object_relationships_form.rb} +4 -4
  235. data/lib/klaviyo-api-sdk/models/{campaign_message_create_query_resource_object_relationships_image_data.rb → form_unpublish_job_create_query_resource_object_relationships_form_data.rb} +5 -5
  236. data/lib/klaviyo-api-sdk/models/form_unpublish_job_enum.rb +35 -0
  237. data/lib/klaviyo-api-sdk/models/html_text_properties.rb +10 -1
  238. data/lib/klaviyo-api-sdk/models/iaf_deeplink_to_screen_properties.rb +36 -4
  239. data/lib/klaviyo-api-sdk/models/{html_block_v0.rb → iaf_open_url.rb} +42 -34
  240. data/lib/klaviyo-api-sdk/models/{sms_content_create.rb → iaf_open_url_properties.rb} +12 -12
  241. data/lib/klaviyo-api-sdk/models/image_action.rb +1 -0
  242. data/lib/klaviyo-api-sdk/models/image_asset.rb +409 -0
  243. data/lib/klaviyo-api-sdk/models/image_block_styles.rb +11 -1
  244. data/lib/klaviyo-api-sdk/models/image_properties.rb +10 -1
  245. data/lib/klaviyo-api-sdk/models/{throttled_send_strategy.rb → inline_message_schedule.rb} +69 -55
  246. data/lib/klaviyo-api-sdk/models/input_style_overrides.rb +307 -0
  247. data/lib/klaviyo-api-sdk/models/internal_service_action_link_only.rb +271 -0
  248. data/lib/klaviyo-api-sdk/models/link_text_styles.rb +352 -0
  249. data/lib/klaviyo-api-sdk/models/{campaigns_email_tracking_options_custom_tracking_params_inner.rb → link_text_styles_letter_spacing.rb} +3 -3
  250. data/lib/klaviyo-api-sdk/models/list_update_action_link_only.rb +271 -0
  251. data/lib/klaviyo-api-sdk/models/marketing_tracking_consent_checkbox.rb +291 -0
  252. data/lib/klaviyo-api-sdk/models/marketing_tracking_consent_checkbox_properties.rb +372 -0
  253. data/lib/klaviyo-api-sdk/models/marketing_tracking_consent_checkbox_styles.rb +283 -0
  254. data/lib/klaviyo-api-sdk/models/{campaign_message_static_count.rb → marketing_tracking_consent_configuration.rb} +31 -30
  255. data/lib/klaviyo-api-sdk/models/media_asset.rb +318 -0
  256. data/lib/klaviyo-api-sdk/models/media_asset_reference.rb +240 -0
  257. data/lib/klaviyo-api-sdk/models/message_clone_query.rb +223 -0
  258. data/lib/klaviyo-api-sdk/models/message_clone_query_resource_object.rb +266 -0
  259. data/lib/klaviyo-api-sdk/models/message_clone_query_resource_object_attributes.rb +235 -0
  260. data/lib/klaviyo-api-sdk/models/message_clone_query_resource_object_relationships.rb +223 -0
  261. data/lib/klaviyo-api-sdk/models/message_create_query.rb +223 -0
  262. data/lib/klaviyo-api-sdk/models/message_create_query_resource_object.rb +251 -0
  263. data/lib/klaviyo-api-sdk/models/message_create_query_resource_object_attributes.rb +236 -0
  264. data/lib/klaviyo-api-sdk/models/message_create_query_resource_object_relationships.rb +237 -0
  265. data/lib/klaviyo-api-sdk/models/message_create_query_resource_object_relationships_campaign.rb +218 -0
  266. data/lib/klaviyo-api-sdk/models/message_create_query_resource_object_relationships_campaign_audience.rb +218 -0
  267. data/lib/klaviyo-api-sdk/models/message_create_query_resource_object_relationships_campaign_audience_data.rb +238 -0
  268. data/lib/klaviyo-api-sdk/models/message_create_query_resource_object_relationships_campaign_data.rb +238 -0
  269. data/lib/klaviyo-api-sdk/models/{static_send_strategy.rb → message_definition.rb} +52 -42
  270. data/lib/klaviyo-api-sdk/models/{text_block_v0.rb → message_hierarchy_rcs_item.rb} +56 -57
  271. data/lib/klaviyo-api-sdk/models/message_hierarchy_sms_item.rb +301 -0
  272. data/lib/klaviyo-api-sdk/models/message_hierarchy_sms_item_image.rb +105 -0
  273. data/lib/klaviyo-api-sdk/models/{campaign_create_query_resource_object_attributes_tracking_options.rb → message_hierarchy_sms_item_media.rb} +4 -4
  274. data/lib/klaviyo-api-sdk/models/{block_display_options.rb → message_inline_create.rb} +64 -33
  275. data/lib/klaviyo-api-sdk/models/message_partial_update_query.rb +223 -0
  276. data/lib/klaviyo-api-sdk/models/message_partial_update_query_resource_object.rb +252 -0
  277. data/lib/klaviyo-api-sdk/models/message_partial_update_query_resource_object_attributes.rb +218 -0
  278. data/lib/klaviyo-api-sdk/models/message_send_options.rb +344 -0
  279. data/lib/klaviyo-api-sdk/models/message_tracking_options.rb +239 -0
  280. data/lib/klaviyo-api-sdk/models/{static_tracking_param.rb → multi_branch_split_action_link_only.rb} +15 -32
  281. data/lib/klaviyo-api-sdk/models/multi_branch_split_action_link_only_data.rb +225 -0
  282. data/lib/klaviyo-api-sdk/models/multi_branch_split_branch_branch_filter_condition_groups_inner_conditions_inner.rb +4 -0
  283. data/lib/klaviyo-api-sdk/models/multi_branch_split_branch_link_only.rb +237 -0
  284. data/lib/klaviyo-api-sdk/models/onsite_profile_create_query_resource_object.rb +1 -1
  285. data/lib/klaviyo-api-sdk/models/opt_in_code_properties.rb +10 -1
  286. data/lib/klaviyo-api-sdk/models/opt_in_code_styles.rb +14 -5
  287. data/lib/klaviyo-api-sdk/models/phone_number_properties.rb +10 -1
  288. data/lib/klaviyo-api-sdk/models/phone_number_styles.rb +14 -5
  289. data/lib/klaviyo-api-sdk/models/profile_event_tracked_properties.rb +15 -5
  290. data/lib/klaviyo-api-sdk/models/profile_has_custom_object_filter_filter.rb +2 -0
  291. data/lib/klaviyo-api-sdk/models/profile_metric_property_filter.rb +5 -1
  292. data/lib/klaviyo-api-sdk/models/profile_permissions_condition.rb +2 -2
  293. data/lib/klaviyo-api-sdk/models/profile_property_condition.rb +1 -0
  294. data/lib/klaviyo-api-sdk/models/push_action_button_v0.rb +322 -0
  295. data/lib/klaviyo-api-sdk/models/{push_action_button.rb → push_action_button_v2.rb} +28 -8
  296. data/lib/klaviyo-api-sdk/models/push_channel_details.rb +512 -0
  297. data/lib/klaviyo-api-sdk/models/push_profile_upsert_query_resource_object.rb +13 -4
  298. data/lib/klaviyo-api-sdk/models/push_profile_upsert_query_resource_object_attributes.rb +1 -10
  299. data/lib/klaviyo-api-sdk/models/radio_buttons_properties.rb +10 -1
  300. data/lib/klaviyo-api-sdk/models/radio_buttons_styles.rb +10 -1
  301. data/lib/klaviyo-api-sdk/models/rcs_card.rb +290 -0
  302. data/lib/klaviyo-api-sdk/models/rcs_card_image.rb +105 -0
  303. data/lib/klaviyo-api-sdk/models/rcs_card_video.rb +105 -0
  304. data/lib/klaviyo-api-sdk/models/{sms_send_options.rb → rcs_rich_content.rb} +36 -14
  305. data/lib/klaviyo-api-sdk/models/{spacer_block_v0.rb → rcs_suggestion.rb} +63 -34
  306. data/lib/klaviyo-api-sdk/models/review_properties.rb +10 -1
  307. data/lib/klaviyo-api-sdk/models/review_styles.rb +10 -1
  308. data/lib/klaviyo-api-sdk/models/row_v0_blocks_inner.rb +2 -0
  309. data/lib/klaviyo-api-sdk/models/send_email_action_link_only.rb +271 -0
  310. data/lib/klaviyo-api-sdk/models/send_internal_alert_action_link_only.rb +271 -0
  311. data/lib/klaviyo-api-sdk/models/send_push_notification_action_link_only.rb +271 -0
  312. data/lib/klaviyo-api-sdk/models/send_settings.rb +264 -0
  313. data/lib/klaviyo-api-sdk/models/send_sms_action_link_only.rb +271 -0
  314. data/lib/klaviyo-api-sdk/models/send_webhook_action_link_only.rb +271 -0
  315. data/lib/klaviyo-api-sdk/models/send_whats_app_action_link_only.rb +271 -0
  316. data/lib/klaviyo-api-sdk/models/{image_block_v0.rb → send_whats_app_with_ac_action.rb} +35 -31
  317. data/lib/klaviyo-api-sdk/models/send_whats_app_with_ac_action_data.rb +264 -0
  318. data/lib/klaviyo-api-sdk/models/send_whats_app_with_ac_action_link_only.rb +271 -0
  319. data/lib/klaviyo-api-sdk/models/signup_counter_properties.rb +10 -1
  320. data/lib/klaviyo-api-sdk/models/slim_image_reference.rb +242 -0
  321. data/lib/klaviyo-api-sdk/models/{mobile_push_message_silent_definition_update.rb → sms_channel_details.rb} +135 -34
  322. data/lib/klaviyo-api-sdk/models/sms_consent_checkbox_properties.rb +10 -1
  323. data/lib/klaviyo-api-sdk/models/sms_consent_checkbox_styles.rb +10 -1
  324. data/lib/klaviyo-api-sdk/models/sms_disclosure_properties.rb +10 -1
  325. data/lib/klaviyo-api-sdk/models/{render_options.rb → spacing_styles.rb} +48 -40
  326. data/lib/klaviyo-api-sdk/models/spin_to_win_properties.rb +10 -1
  327. data/lib/klaviyo-api-sdk/models/static_sms_image.rb +270 -0
  328. data/lib/klaviyo-api-sdk/models/target_date_action_link_only.rb +271 -0
  329. data/lib/klaviyo-api-sdk/models/{campaign_message_partial_update_query.rb → template_preview_send_job_create_query.rb} +4 -4
  330. data/lib/klaviyo-api-sdk/models/template_preview_send_job_create_query_resource_object.rb +251 -0
  331. data/lib/klaviyo-api-sdk/models/template_preview_send_job_create_query_resource_object_attributes.rb +237 -0
  332. data/lib/klaviyo-api-sdk/models/{mobile_push_options.rb → template_preview_send_job_create_query_resource_object_relationships.rb} +21 -31
  333. data/lib/klaviyo-api-sdk/models/template_preview_send_job_create_query_resource_object_relationships_profile.rb +218 -0
  334. data/lib/klaviyo-api-sdk/models/template_preview_send_job_create_query_resource_object_relationships_profile_data.rb +238 -0
  335. data/lib/klaviyo-api-sdk/models/template_preview_send_job_create_query_resource_object_relationships_template.rb +218 -0
  336. data/lib/klaviyo-api-sdk/models/template_preview_send_job_create_query_resource_object_relationships_template_data.rb +238 -0
  337. data/lib/klaviyo-api-sdk/models/template_preview_send_job_enum.rb +35 -0
  338. data/lib/klaviyo-api-sdk/models/text_messaging_configuration_create_query.rb +223 -0
  339. data/lib/klaviyo-api-sdk/models/text_messaging_configuration_create_query_resource_object.rb +237 -0
  340. data/lib/klaviyo-api-sdk/models/text_messaging_configuration_create_query_resource_object_attributes.rb +224 -0
  341. data/lib/klaviyo-api-sdk/models/text_messaging_configuration_enum.rb +35 -0
  342. data/lib/klaviyo-api-sdk/models/text_messaging_sender_create_attrs_text_messaging_sender_registration.rb +224 -0
  343. data/lib/klaviyo-api-sdk/models/text_messaging_sender_create_query.rb +223 -0
  344. data/lib/klaviyo-api-sdk/models/text_messaging_sender_create_query_resource_object.rb +237 -0
  345. data/lib/klaviyo-api-sdk/models/{mobile_push_message_standard_definition_create.rb → text_messaging_sender_create_query_resource_object_attributes.rb} +50 -68
  346. data/lib/klaviyo-api-sdk/models/text_messaging_sender_enum.rb +35 -0
  347. data/lib/klaviyo-api-sdk/models/text_messaging_sender_registration_create_query.rb +223 -0
  348. data/lib/klaviyo-api-sdk/models/text_messaging_sender_registration_create_query_resource_object.rb +251 -0
  349. data/lib/klaviyo-api-sdk/models/text_messaging_sender_registration_create_query_resource_object_attributes.rb +440 -0
  350. data/lib/klaviyo-api-sdk/models/text_messaging_sender_registration_create_query_resource_object_relationships.rb +223 -0
  351. data/lib/klaviyo-api-sdk/models/text_messaging_sender_registration_create_rels_text_messaging_sender.rb +218 -0
  352. data/lib/klaviyo-api-sdk/models/text_messaging_sender_registration_create_rels_text_messaging_sender_data.rb +237 -0
  353. data/lib/klaviyo-api-sdk/models/text_messaging_sender_registration_enum.rb +35 -0
  354. data/lib/klaviyo-api-sdk/models/text_properties.rb +10 -1
  355. data/lib/klaviyo-api-sdk/models/{button_block_v0.rb → text_style_overrides.rb} +54 -53
  356. data/lib/klaviyo-api-sdk/models/text_style_overrides_font_family.rb +103 -0
  357. data/lib/klaviyo-api-sdk/models/text_styles.rb +14 -5
  358. data/lib/klaviyo-api-sdk/models/{campaign_message_property.rb → throttled_options.rb} +31 -32
  359. data/lib/klaviyo-api-sdk/models/time_delay_action_link_only.rb +271 -0
  360. data/lib/klaviyo-api-sdk/models/{email_send_options.rb → timezone_options.rb} +13 -13
  361. data/lib/klaviyo-api-sdk/models/toll_free_registration_details_resource_object.rb +237 -0
  362. data/lib/klaviyo-api-sdk/models/toll_free_registration_details_resource_object_attributes.rb +440 -0
  363. data/lib/klaviyo-api-sdk/models/{immediate_send_strategy.rb → toll_free_sender_details.rb} +22 -21
  364. data/lib/klaviyo-api-sdk/models/translation_create_query.rb +223 -0
  365. data/lib/klaviyo-api-sdk/models/translation_create_query_resource_object.rb +246 -0
  366. data/lib/klaviyo-api-sdk/models/{mobile_push_message_silent_definition_create.rb → translation_create_query_resource_object_attributes.rb} +54 -41
  367. data/lib/klaviyo-api-sdk/models/translation_create_query_resource_object_relationships.rb +254 -0
  368. data/lib/klaviyo-api-sdk/models/translation_create_query_resource_object_relationships_campaign_variation.rb +218 -0
  369. data/lib/klaviyo-api-sdk/models/translation_create_query_resource_object_relationships_campaign_variation_data.rb +238 -0
  370. data/lib/klaviyo-api-sdk/models/translation_create_query_resource_object_relationships_consent_page.rb +218 -0
  371. data/lib/klaviyo-api-sdk/models/translation_create_query_resource_object_relationships_consent_page_data.rb +238 -0
  372. data/lib/klaviyo-api-sdk/models/translation_create_query_resource_object_relationships_flow_message.rb +218 -0
  373. data/lib/klaviyo-api-sdk/models/translation_create_query_resource_object_relationships_flow_message_data.rb +238 -0
  374. data/lib/klaviyo-api-sdk/models/translation_create_query_resource_object_relationships_template.rb +218 -0
  375. data/lib/klaviyo-api-sdk/models/translation_create_query_resource_object_relationships_template_data.rb +238 -0
  376. data/lib/klaviyo-api-sdk/models/translation_create_query_resource_object_relationships_template_universal_content.rb +218 -0
  377. data/lib/klaviyo-api-sdk/models/translation_create_query_resource_object_relationships_template_universal_content_data.rb +238 -0
  378. data/lib/klaviyo-api-sdk/models/translation_enum.rb +35 -0
  379. data/lib/klaviyo-api-sdk/models/translation_partial_update_query.rb +223 -0
  380. data/lib/klaviyo-api-sdk/models/translation_partial_update_query_resource_object.rb +252 -0
  381. data/lib/klaviyo-api-sdk/models/{mobile_push_content_create.rb → translation_partial_update_query_resource_object_attributes.rb} +39 -41
  382. data/lib/klaviyo-api-sdk/models/trigger_branch_action_link_only.rb +271 -0
  383. data/lib/klaviyo-api-sdk/models/universal_content_clone_query.rb +223 -0
  384. data/lib/klaviyo-api-sdk/models/universal_content_clone_query_resource_object.rb +252 -0
  385. data/lib/klaviyo-api-sdk/models/universal_content_clone_query_resource_object_attributes.rb +235 -0
  386. data/lib/klaviyo-api-sdk/models/universal_content_create_query_v1.rb +223 -0
  387. data/lib/klaviyo-api-sdk/models/universal_content_create_query_v1_resource_object.rb +237 -0
  388. data/lib/klaviyo-api-sdk/models/{universal_content_create_query_resource_object_attributes.rb → universal_content_create_query_v1_resource_object_attributes.rb} +4 -4
  389. data/lib/klaviyo-api-sdk/models/{campaign_create_query_resource_object_attributes_send_strategy.rb → universal_content_create_query_v1_resource_object_attributes_definition.rb} +17 -6
  390. data/lib/klaviyo-api-sdk/models/universal_content_partial_update_query_v1.rb +223 -0
  391. data/lib/klaviyo-api-sdk/models/universal_content_partial_update_query_v1_resource_object.rb +252 -0
  392. data/lib/klaviyo-api-sdk/models/{universal_content_partial_update_query_resource_object_attributes.rb → universal_content_partial_update_query_v1_resource_object_attributes.rb} +4 -4
  393. data/lib/klaviyo-api-sdk/models/{campaign_message_create_query_resource_object_attributes_definition.rb → universal_content_partial_update_query_v1_resource_object_attributes_definition.rb} +18 -5
  394. data/lib/klaviyo-api-sdk/models/update_profile_action_link_only.rb +271 -0
  395. data/lib/klaviyo-api-sdk/models/variation_create_query.rb +223 -0
  396. data/lib/klaviyo-api-sdk/models/variation_create_query_resource_object.rb +251 -0
  397. data/lib/klaviyo-api-sdk/models/variation_create_query_resource_object_attributes.rb +223 -0
  398. data/lib/klaviyo-api-sdk/models/variation_create_query_resource_object_relationships.rb +223 -0
  399. data/lib/klaviyo-api-sdk/models/variation_create_query_resource_object_relationships_campaign_message.rb +218 -0
  400. data/lib/klaviyo-api-sdk/models/variation_create_query_resource_object_relationships_campaign_message_data.rb +238 -0
  401. data/lib/klaviyo-api-sdk/models/variation_definition.rb +230 -0
  402. data/lib/klaviyo-api-sdk/models/{campaign_create_query_resource_object_attributes_send_options.rb → variation_definition_details.rb} +6 -5
  403. data/lib/klaviyo-api-sdk/models/variation_inline_create.rb +223 -0
  404. data/lib/klaviyo-api-sdk/models/variation_partial_update_query.rb +223 -0
  405. data/lib/klaviyo-api-sdk/models/variation_partial_update_query_resource_object.rb +252 -0
  406. data/lib/klaviyo-api-sdk/models/verified_badge_style.rb +266 -0
  407. data/lib/klaviyo-api-sdk/models/{email_message_definition.rb → whatsapp_channel_details.rb} +23 -25
  408. data/lib/klaviyo-api-sdk.rb +305 -78
  409. data/lib/klaviyo-api-sdk.rb.bak +306 -79
  410. metadata +315 -82
  411. data/lib/klaviyo-api-sdk/models/campaign_message_partial_update_query_resource_object_attributes_definition.rb +0 -107
  412. data/lib/klaviyo-api-sdk/models/campaign_partial_update_query_resource_object_attributes_send_strategy.rb +0 -107
  413. data/lib/klaviyo-api-sdk/models/drop_shadow_block_v0.rb +0 -293
  414. data/lib/klaviyo-api-sdk/models/onsite_profile_create_query_resource_object_attributes.rb +0 -349
  415. data/lib/klaviyo-api-sdk/models/static_send_strategy_options.rb +0 -105
  416. data/lib/klaviyo-api-sdk/models/text_block_styles_v0.rb +0 -533
  417. data/lib/klaviyo-api-sdk/models/universal_content_create_query_resource_object_attributes_definition.rb +0 -109
  418. data/lib/klaviyo-api-sdk/models/universal_content_partial_update_query_resource_object_attributes_definition.rb +0 -109
@@ -0,0 +1,298 @@
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 CampaignMessageScheduleQueryResourceObjectAttributes
17
+ # The datetime at which the message should be sent (must be in the future). Required when strategy is not 'smart_send_time'.
18
+ attr_accessor :send_time
19
+
20
+ # The date on which the message should be sent. Required when strategy is 'smart_send_time'. Must not be in the past.
21
+ attr_accessor :send_date
22
+
23
+ # The send strategy to use: static, local_timezone, throttled, or smart_send_time
24
+ attr_accessor :strategy
25
+
26
+ attr_accessor :throttled_options
27
+
28
+ attr_accessor :timezone_options
29
+
30
+ class EnumAttributeValidator
31
+ attr_reader :datatype
32
+ attr_reader :allowable_values
33
+
34
+ def initialize(datatype, allowable_values)
35
+ @allowable_values = allowable_values.map do |value|
36
+ case datatype.to_s
37
+ when /Integer/i
38
+ value.to_i
39
+ when /Float/i
40
+ value.to_f
41
+ else
42
+ value
43
+ end
44
+ end
45
+ end
46
+
47
+ def valid?(value)
48
+ !value || allowable_values.include?(value)
49
+ end
50
+ end
51
+
52
+ # Attribute mapping from ruby-style variable name to JSON key.
53
+ def self.attribute_map
54
+ {
55
+ :'send_time' => :'send_time',
56
+ :'send_date' => :'send_date',
57
+ :'strategy' => :'strategy',
58
+ :'throttled_options' => :'throttled_options',
59
+ :'timezone_options' => :'timezone_options'
60
+ }
61
+ end
62
+
63
+ # Returns all the JSON keys this model knows about
64
+ def self.acceptable_attributes
65
+ attribute_map.values
66
+ end
67
+
68
+ # Attribute type mapping.
69
+ def self.openapi_types
70
+ {
71
+ :'send_time' => :'Time',
72
+ :'send_date' => :'Date',
73
+ :'strategy' => :'String',
74
+ :'throttled_options' => :'ThrottledOptions',
75
+ :'timezone_options' => :'TimezoneOptions'
76
+ }
77
+ end
78
+
79
+ # List of attributes with nullable: true
80
+ def self.openapi_nullable
81
+ Set.new([
82
+ :'send_time',
83
+ :'send_date',
84
+ ])
85
+ end
86
+
87
+ # Initializes the object
88
+ # @param [Hash] attributes Model attributes in the form of hash
89
+ def initialize(attributes = {})
90
+ if (!attributes.is_a?(Hash))
91
+ fail ArgumentError, "The input argument (attributes) must be a hash in `KlaviyoAPI::CampaignMessageScheduleQueryResourceObjectAttributes` initialize method"
92
+ end
93
+
94
+ # check to see if the attribute exists and convert string to symbol for hash key
95
+ attributes = attributes.each_with_object({}) { |(k, v), h|
96
+ if (!self.class.attribute_map.key?(k.to_sym))
97
+ fail ArgumentError, "`#{k}` is not a valid attribute in `KlaviyoAPI::CampaignMessageScheduleQueryResourceObjectAttributes`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
98
+ end
99
+ h[k.to_sym] = v
100
+ }
101
+
102
+ if attributes.key?(:'send_time')
103
+ self.send_time = attributes[:'send_time']
104
+ end
105
+
106
+ if attributes.key?(:'send_date')
107
+ self.send_date = attributes[:'send_date']
108
+ end
109
+
110
+ if attributes.key?(:'strategy')
111
+ self.strategy = attributes[:'strategy']
112
+ end
113
+
114
+ if attributes.key?(:'throttled_options')
115
+ self.throttled_options = attributes[:'throttled_options']
116
+ end
117
+
118
+ if attributes.key?(:'timezone_options')
119
+ self.timezone_options = attributes[:'timezone_options']
120
+ end
121
+ end
122
+
123
+ # Show invalid properties with the reasons. Usually used together with valid?
124
+ # @return Array for valid properties with the reasons
125
+ def list_invalid_properties
126
+ invalid_properties = Array.new
127
+ if @strategy.nil?
128
+ invalid_properties.push('invalid value for "strategy", strategy cannot be nil.')
129
+ end
130
+
131
+ invalid_properties
132
+ end
133
+
134
+ # Check to see if the all the properties in the model are valid
135
+ # @return true if the model is valid
136
+ def valid?
137
+ return false if @strategy.nil?
138
+ strategy_validator = EnumAttributeValidator.new('String', ["local_timezone", "smart_send_time", "static", "throttled"])
139
+ return false unless strategy_validator.valid?(@strategy)
140
+ true
141
+ end
142
+
143
+ # Custom attribute writer method checking allowed values (enum).
144
+ # @param [Object] strategy Object to be assigned
145
+ def strategy=(strategy)
146
+ validator = EnumAttributeValidator.new('String', ["local_timezone", "smart_send_time", "static", "throttled"])
147
+ unless validator.valid?(strategy)
148
+ fail ArgumentError, "invalid value for \"strategy\", must be one of #{validator.allowable_values}."
149
+ end
150
+ @strategy = strategy
151
+ end
152
+
153
+ # Checks equality by comparing each attribute.
154
+ # @param [Object] Object to be compared
155
+ def ==(o)
156
+ return true if self.equal?(o)
157
+ self.class == o.class &&
158
+ send_time == o.send_time &&
159
+ send_date == o.send_date &&
160
+ strategy == o.strategy &&
161
+ throttled_options == o.throttled_options &&
162
+ timezone_options == o.timezone_options
163
+ end
164
+
165
+ # @see the `==` method
166
+ # @param [Object] Object to be compared
167
+ def eql?(o)
168
+ self == o
169
+ end
170
+
171
+ # Calculates hash code according to all attributes.
172
+ # @return [Integer] Hash code
173
+ def hash
174
+ [send_time, send_date, strategy, throttled_options, timezone_options].hash
175
+ end
176
+
177
+ # Builds the object from hash
178
+ # @param [Hash] attributes Model attributes in the form of hash
179
+ # @return [Object] Returns the model itself
180
+ def self.build_from_hash(attributes)
181
+ new.build_from_hash(attributes)
182
+ end
183
+
184
+ # Builds the object from hash
185
+ # @param [Hash] attributes Model attributes in the form of hash
186
+ # @return [Object] Returns the model itself
187
+ def build_from_hash(attributes)
188
+ return nil unless attributes.is_a?(Hash)
189
+ attributes = attributes.transform_keys(&:to_sym)
190
+ self.class.openapi_types.each_pair do |key, type|
191
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
192
+ self.send("#{key}=", nil)
193
+ elsif type =~ /\AArray<(.*)>/i
194
+ # check to ensure the input is an array given that the attribute
195
+ # is documented as an array but the input is not
196
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
197
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
198
+ end
199
+ elsif !attributes[self.class.attribute_map[key]].nil?
200
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
201
+ end
202
+ end
203
+
204
+ self
205
+ end
206
+
207
+ # Deserializes the data based on type
208
+ # @param string type Data type
209
+ # @param string value Value to be deserialized
210
+ # @return [Object] Deserialized data
211
+ def _deserialize(type, value)
212
+ case type.to_sym
213
+ when :Time
214
+ Time.parse(value)
215
+ when :Date
216
+ Date.parse(value)
217
+ when :String
218
+ value.to_s
219
+ when :Integer
220
+ value.to_i
221
+ when :Float
222
+ value.to_f
223
+ when :Boolean
224
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
225
+ true
226
+ else
227
+ false
228
+ end
229
+ when :Object
230
+ # generic object (usually a Hash), return directly
231
+ value
232
+ when /\AArray<(?<inner_type>.+)>\z/
233
+ inner_type = Regexp.last_match[:inner_type]
234
+ value.map { |v| _deserialize(inner_type, v) }
235
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
236
+ k_type = Regexp.last_match[:k_type]
237
+ v_type = Regexp.last_match[:v_type]
238
+ {}.tap do |hash|
239
+ value.each do |k, v|
240
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
241
+ end
242
+ end
243
+ else # model
244
+ # models (e.g. Pet) or oneOf
245
+ klass = KlaviyoAPI.const_get(type)
246
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
247
+ end
248
+ end
249
+
250
+ # Returns the string representation of the object
251
+ # @return [String] String presentation of the object
252
+ def to_s
253
+ to_hash.to_s
254
+ end
255
+
256
+ # to_body is an alias to to_hash (backward compatibility)
257
+ # @return [Hash] Returns the object in the form of hash
258
+ def to_body
259
+ to_hash
260
+ end
261
+
262
+ # Returns the object in the form of hash
263
+ # @return [Hash] Returns the object in the form of hash
264
+ def to_hash
265
+ hash = {}
266
+ self.class.attribute_map.each_pair do |attr, param|
267
+ value = self.send(attr)
268
+ if value.nil?
269
+ is_nullable = self.class.openapi_nullable.include?(attr)
270
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
271
+ end
272
+
273
+ hash[param] = _to_hash(value)
274
+ end
275
+ hash
276
+ end
277
+
278
+ # Outputs non-array value in the form of hash
279
+ # For object, use to_hash. Otherwise, just return the value
280
+ # @param [Object] value Any valid value
281
+ # @return [Hash] Returns the value in the form of hash
282
+ def _to_hash(value)
283
+ if value.is_a?(Array)
284
+ value.compact.map { |v| _to_hash(v) }
285
+ elsif value.is_a?(Hash)
286
+ {}.tap do |hash|
287
+ value.each { |k, v| hash[k] = _to_hash(v) }
288
+ end
289
+ elsif value.respond_to? :to_hash
290
+ value.to_hash
291
+ else
292
+ value
293
+ end
294
+ end
295
+
296
+ end
297
+
298
+ end
@@ -0,0 +1,223 @@
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 CampaignMessageScheduleQueryResourceObjectRelationships
17
+ attr_accessor :campaign_message
18
+
19
+ # Attribute mapping from ruby-style variable name to JSON key.
20
+ def self.attribute_map
21
+ {
22
+ :'campaign_message' => :'campaign-message'
23
+ }
24
+ end
25
+
26
+ # Returns all the JSON keys this model knows about
27
+ def self.acceptable_attributes
28
+ attribute_map.values
29
+ end
30
+
31
+ # Attribute type mapping.
32
+ def self.openapi_types
33
+ {
34
+ :'campaign_message' => :'CampaignMessageScheduleQueryResourceObjectRelationshipsCampaignMessage'
35
+ }
36
+ end
37
+
38
+ # List of attributes with nullable: true
39
+ def self.openapi_nullable
40
+ Set.new([
41
+ ])
42
+ end
43
+
44
+ # Initializes the object
45
+ # @param [Hash] attributes Model attributes in the form of hash
46
+ def initialize(attributes = {})
47
+ if (!attributes.is_a?(Hash))
48
+ fail ArgumentError, "The input argument (attributes) must be a hash in `KlaviyoAPI::CampaignMessageScheduleQueryResourceObjectRelationships` initialize method"
49
+ end
50
+
51
+ # check to see if the attribute exists and convert string to symbol for hash key
52
+ attributes = attributes.each_with_object({}) { |(k, v), h|
53
+ if (!self.class.attribute_map.key?(k.to_sym))
54
+ fail ArgumentError, "`#{k}` is not a valid attribute in `KlaviyoAPI::CampaignMessageScheduleQueryResourceObjectRelationships`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
55
+ end
56
+ h[k.to_sym] = v
57
+ }
58
+
59
+ if attributes.key?(:'campaign_message')
60
+ self.campaign_message = attributes[:'campaign_message']
61
+ end
62
+ end
63
+
64
+ # Show invalid properties with the reasons. Usually used together with valid?
65
+ # @return Array for valid properties with the reasons
66
+ def list_invalid_properties
67
+ invalid_properties = Array.new
68
+ if @campaign_message.nil?
69
+ invalid_properties.push('invalid value for "campaign_message", campaign_message cannot be nil.')
70
+ end
71
+
72
+ invalid_properties
73
+ end
74
+
75
+ # Check to see if the all the properties in the model are valid
76
+ # @return true if the model is valid
77
+ def valid?
78
+ return false if @campaign_message.nil?
79
+ true
80
+ end
81
+
82
+ # Checks equality by comparing each attribute.
83
+ # @param [Object] Object to be compared
84
+ def ==(o)
85
+ return true if self.equal?(o)
86
+ self.class == o.class &&
87
+ campaign_message == o.campaign_message
88
+ end
89
+
90
+ # @see the `==` method
91
+ # @param [Object] Object to be compared
92
+ def eql?(o)
93
+ self == o
94
+ end
95
+
96
+ # Calculates hash code according to all attributes.
97
+ # @return [Integer] Hash code
98
+ def hash
99
+ [campaign_message].hash
100
+ end
101
+
102
+ # Builds the object from hash
103
+ # @param [Hash] attributes Model attributes in the form of hash
104
+ # @return [Object] Returns the model itself
105
+ def self.build_from_hash(attributes)
106
+ new.build_from_hash(attributes)
107
+ end
108
+
109
+ # Builds the object from hash
110
+ # @param [Hash] attributes Model attributes in the form of hash
111
+ # @return [Object] Returns the model itself
112
+ def build_from_hash(attributes)
113
+ return nil unless attributes.is_a?(Hash)
114
+ attributes = attributes.transform_keys(&:to_sym)
115
+ self.class.openapi_types.each_pair do |key, type|
116
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
117
+ self.send("#{key}=", nil)
118
+ elsif type =~ /\AArray<(.*)>/i
119
+ # check to ensure the input is an array given that the attribute
120
+ # is documented as an array but the input is not
121
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
122
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
123
+ end
124
+ elsif !attributes[self.class.attribute_map[key]].nil?
125
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
126
+ end
127
+ end
128
+
129
+ self
130
+ end
131
+
132
+ # Deserializes the data based on type
133
+ # @param string type Data type
134
+ # @param string value Value to be deserialized
135
+ # @return [Object] Deserialized data
136
+ def _deserialize(type, value)
137
+ case type.to_sym
138
+ when :Time
139
+ Time.parse(value)
140
+ when :Date
141
+ Date.parse(value)
142
+ when :String
143
+ value.to_s
144
+ when :Integer
145
+ value.to_i
146
+ when :Float
147
+ value.to_f
148
+ when :Boolean
149
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
150
+ true
151
+ else
152
+ false
153
+ end
154
+ when :Object
155
+ # generic object (usually a Hash), return directly
156
+ value
157
+ when /\AArray<(?<inner_type>.+)>\z/
158
+ inner_type = Regexp.last_match[:inner_type]
159
+ value.map { |v| _deserialize(inner_type, v) }
160
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
161
+ k_type = Regexp.last_match[:k_type]
162
+ v_type = Regexp.last_match[:v_type]
163
+ {}.tap do |hash|
164
+ value.each do |k, v|
165
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
166
+ end
167
+ end
168
+ else # model
169
+ # models (e.g. Pet) or oneOf
170
+ klass = KlaviyoAPI.const_get(type)
171
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
172
+ end
173
+ end
174
+
175
+ # Returns the string representation of the object
176
+ # @return [String] String presentation of the object
177
+ def to_s
178
+ to_hash.to_s
179
+ end
180
+
181
+ # to_body is an alias to to_hash (backward compatibility)
182
+ # @return [Hash] Returns the object in the form of hash
183
+ def to_body
184
+ to_hash
185
+ end
186
+
187
+ # Returns the object in the form of hash
188
+ # @return [Hash] Returns the object in the form of hash
189
+ def to_hash
190
+ hash = {}
191
+ self.class.attribute_map.each_pair do |attr, param|
192
+ value = self.send(attr)
193
+ if value.nil?
194
+ is_nullable = self.class.openapi_nullable.include?(attr)
195
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
196
+ end
197
+
198
+ hash[param] = _to_hash(value)
199
+ end
200
+ hash
201
+ end
202
+
203
+ # Outputs non-array value in the form of hash
204
+ # For object, use to_hash. Otherwise, just return the value
205
+ # @param [Object] value Any valid value
206
+ # @return [Hash] Returns the value in the form of hash
207
+ def _to_hash(value)
208
+ if value.is_a?(Array)
209
+ value.compact.map { |v| _to_hash(v) }
210
+ elsif value.is_a?(Hash)
211
+ {}.tap do |hash|
212
+ value.each { |k, v| hash[k] = _to_hash(v) }
213
+ end
214
+ elsif value.respond_to? :to_hash
215
+ value.to_hash
216
+ else
217
+ value
218
+ end
219
+ end
220
+
221
+ end
222
+
223
+ end