klaviyo-api-sdk 17.0.0 → 18.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 (201) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/README.md +932 -414
  4. data/klaviyo-api-sdk.gemspec +1 -1
  5. data/lib/klaviyo-api-sdk/api/accounts_api.rb +12 -12
  6. data/lib/klaviyo-api-sdk/api/campaigns_api.rb +215 -155
  7. data/lib/klaviyo-api-sdk/api/catalogs_api.rb +585 -381
  8. data/lib/klaviyo-api-sdk/api/client_api.rb +100 -0
  9. data/lib/klaviyo-api-sdk/api/conversations_api.rb +3 -3
  10. data/lib/klaviyo-api-sdk/api/coupons_api.rb +187 -108
  11. data/lib/klaviyo-api-sdk/api/custom_objects_api.rb +2755 -83
  12. data/lib/klaviyo-api-sdk/api/data_privacy_api.rb +3 -3
  13. data/lib/klaviyo-api-sdk/api/events_api.rb +72 -58
  14. data/lib/klaviyo-api-sdk/api/flows_api.rb +238 -152
  15. data/lib/klaviyo-api-sdk/api/forms_api.rb +81 -60
  16. data/lib/klaviyo-api-sdk/api/images_api.rb +48 -27
  17. data/lib/klaviyo-api-sdk/api/lists_api.rb +113 -88
  18. data/lib/klaviyo-api-sdk/api/metrics_api.rb +184 -156
  19. data/lib/klaviyo-api-sdk/api/profiles_api.rb +445 -226
  20. data/lib/klaviyo-api-sdk/api/reporting_api.rb +76 -27
  21. data/lib/klaviyo-api-sdk/api/reviews_api.rb +38 -31
  22. data/lib/klaviyo-api-sdk/api/segments_api.rb +107 -82
  23. data/lib/klaviyo-api-sdk/api/tags_api.rb +164 -128
  24. data/lib/klaviyo-api-sdk/api/templates_api.rb +113 -60
  25. data/lib/klaviyo-api-sdk/api/tracking_settings_api.rb +24 -17
  26. data/lib/klaviyo-api-sdk/api/web_feeds_api.rb +41 -27
  27. data/lib/klaviyo-api-sdk/api/webhooks_api.rb +73 -31
  28. data/lib/klaviyo-api-sdk/api_client.rb +1 -1
  29. data/lib/klaviyo-api-sdk/models/action_output_condition.rb +1 -1
  30. data/lib/klaviyo-api-sdk/models/action_output_condition_filter.rb +78 -195
  31. data/lib/klaviyo-api-sdk/models/action_output_split_action_data.rb +2 -6
  32. data/lib/klaviyo-api-sdk/models/{flow_push_notification_additional_filters.rb → action_output_split_action_data_action_output_filter.rb} +4 -4
  33. data/lib/klaviyo-api-sdk/models/{action_output_condition_condition_group.rb → action_output_split_action_data_action_output_filter_condition_groups_inner.rb} +3 -3
  34. data/lib/klaviyo-api-sdk/models/age_gate_properties.rb +11 -1
  35. data/lib/klaviyo-api-sdk/models/api_schema_property.rb +301 -0
  36. data/lib/klaviyo-api-sdk/models/back_in_stock_email_consent_checkbox_properties.rb +11 -1
  37. data/lib/klaviyo-api-sdk/models/base_event_create_query_bulk_entry_resource_object_attributes.rb +15 -2
  38. data/lib/klaviyo-api-sdk/models/base_style_properties.rb +15 -5
  39. data/lib/klaviyo-api-sdk/models/button_action.rb +1 -0
  40. data/lib/klaviyo-api-sdk/models/button_properties.rb +11 -1
  41. data/lib/klaviyo-api-sdk/models/button_styles.rb +25 -3
  42. data/lib/klaviyo-api-sdk/models/{action_output_condition_filter2.rb → button_styles_height.rb} +3 -7
  43. data/lib/klaviyo-api-sdk/models/cart_content.rb +277 -0
  44. data/lib/klaviyo-api-sdk/models/cart_content_properties.rb +236 -0
  45. data/lib/klaviyo-api-sdk/models/checkboxes_properties.rb +11 -1
  46. data/lib/klaviyo-api-sdk/models/conditional_branch_action_data_profile_filter_condition_groups_inner_conditions_inner.rb +5 -0
  47. data/lib/klaviyo-api-sdk/models/constant_property_mapping.rb +287 -0
  48. data/lib/klaviyo-api-sdk/models/{price_drop_condition_filter2.rb → constant_property_mapping_value.rb} +6 -16
  49. data/lib/klaviyo-api-sdk/models/content_experiment_action.rb +1 -1
  50. data/lib/klaviyo-api-sdk/models/{send_push_notification_action_content_experiment_action_data.rb → content_experiment_action_data.rb} +6 -5
  51. data/lib/klaviyo-api-sdk/models/{send_push_notification_action_current_experiment.rb → content_experiment_action_data_current_experiment.rb} +6 -6
  52. data/lib/klaviyo-api-sdk/models/{low_inventory_condition_filter2.rb → content_experiment_action_data_main_action.rb} +3 -16
  53. data/lib/klaviyo-api-sdk/models/countdown_timer_properties.rb +11 -1
  54. data/lib/klaviyo-api-sdk/models/coupon_properties.rb +11 -1
  55. data/lib/klaviyo-api-sdk/models/custom_css.rb +231 -0
  56. data/lib/klaviyo-api-sdk/models/custom_html.rb +292 -0
  57. data/lib/klaviyo-api-sdk/models/custom_html_properties.rb +263 -0
  58. data/lib/klaviyo-api-sdk/models/custom_object_date_trigger.rb +450 -0
  59. data/lib/klaviyo-api-sdk/models/custom_object_property_condition.rb +1 -1
  60. data/lib/klaviyo-api-sdk/models/custom_object_relationship_source.rb +328 -0
  61. data/lib/klaviyo-api-sdk/models/date_properties.rb +11 -1
  62. data/lib/klaviyo-api-sdk/models/display_options.rb +24 -4
  63. data/lib/klaviyo-api-sdk/models/dropdown_properties.rb +11 -1
  64. data/lib/klaviyo-api-sdk/models/email_properties.rb +11 -1
  65. data/lib/klaviyo-api-sdk/models/email_subscription_parameters.rb +13 -9
  66. data/lib/klaviyo-api-sdk/models/email_unsubscription_parameters.rb +13 -9
  67. data/lib/klaviyo-api-sdk/models/embedded_object_schema_resource_object.rb +237 -0
  68. data/lib/klaviyo-api-sdk/models/embedded_object_schema_resource_object_attributes.rb +292 -0
  69. data/lib/klaviyo-api-sdk/models/embedded_object_schema_resource_object_attributes_source_mapping.rb +224 -0
  70. data/lib/klaviyo-api-sdk/models/event_create_query_v2_resource_object_attributes.rb +15 -2
  71. data/lib/klaviyo-api-sdk/models/events_bulk_create_query_resource_object_attributes.rb +14 -1
  72. data/lib/klaviyo-api-sdk/models/flow_definition_profile_filter_condition_groups_inner_conditions_inner.rb +5 -0
  73. data/lib/klaviyo-api-sdk/models/flow_definition_triggers_inner.rb +1 -0
  74. data/lib/klaviyo-api-sdk/models/flow_email.rb +1 -1
  75. data/lib/klaviyo-api-sdk/models/flow_push_notification.rb +14 -4
  76. data/lib/klaviyo-api-sdk/models/flow_sms.rb +15 -2
  77. data/lib/klaviyo-api-sdk/models/form_create_query_resource_object_attributes.rb +2 -2
  78. data/lib/klaviyo-api-sdk/models/html_text_properties.rb +11 -1
  79. data/lib/klaviyo-api-sdk/models/iaf_deeplink_to_screen.rb +305 -0
  80. data/lib/klaviyo-api-sdk/models/iaf_deeplink_to_screen_properties.rb +220 -0
  81. data/lib/klaviyo-api-sdk/models/image_action.rb +1 -0
  82. data/lib/klaviyo-api-sdk/models/image_block_cropping_properties.rb +0 -35
  83. data/lib/klaviyo-api-sdk/models/image_properties.rb +11 -1
  84. data/lib/klaviyo-api-sdk/models/low_inventory_condition.rb +1 -1
  85. data/lib/klaviyo-api-sdk/models/low_inventory_trigger.rb +2 -6
  86. data/lib/klaviyo-api-sdk/models/{low_inventory_condition_filter.rb → low_inventory_trigger_trigger_filter.rb} +4 -4
  87. data/lib/klaviyo-api-sdk/models/{low_inventory_condition_condition_group.rb → low_inventory_trigger_trigger_filter_condition_groups_inner.rb} +3 -3
  88. data/lib/klaviyo-api-sdk/models/metric_aggregate_query_resource_object_attributes.rb +2 -2
  89. data/lib/klaviyo-api-sdk/models/metric_property_condition.rb +1 -1
  90. data/lib/klaviyo-api-sdk/models/metric_property_condition_filter.rb +87 -195
  91. data/lib/klaviyo-api-sdk/models/metric_trigger.rb +2 -1
  92. data/lib/klaviyo-api-sdk/models/{flow_email_additional_filters.rb → metric_trigger_trigger_filter.rb} +4 -4
  93. data/lib/klaviyo-api-sdk/models/{flow_email_additional_filters_condition_groups_inner.rb → metric_trigger_trigger_filter_condition_groups_inner.rb} +4 -4
  94. data/lib/klaviyo-api-sdk/models/mobile_push_content_create.rb +18 -5
  95. data/lib/klaviyo-api-sdk/models/mobile_push_content_update.rb +18 -5
  96. data/lib/klaviyo-api-sdk/models/mobile_push_options_on_open.rb +2 -1
  97. data/lib/klaviyo-api-sdk/models/multi_branch_split_branch_branch_filter_condition_groups_inner_conditions_inner.rb +5 -0
  98. data/lib/klaviyo-api-sdk/models/object_record_bulk_delete_job_enum.rb +35 -0
  99. data/lib/klaviyo-api-sdk/models/object_record_delete_job_create_query.rb +223 -0
  100. data/lib/klaviyo-api-sdk/models/object_record_delete_job_create_query_resource_object.rb +237 -0
  101. data/lib/klaviyo-api-sdk/models/{flow_push_notification_additional_filters_condition_groups_inner.rb → object_record_delete_job_create_query_resource_object_relationships.rb} +13 -15
  102. data/lib/klaviyo-api-sdk/models/object_record_delete_job_create_query_resource_object_relationships_object_records.rb +220 -0
  103. data/lib/klaviyo-api-sdk/models/object_record_delete_job_rels_records_data_inner.rb +238 -0
  104. data/lib/klaviyo-api-sdk/models/object_record_enum.rb +35 -0
  105. data/lib/klaviyo-api-sdk/models/object_schema_create_query.rb +223 -0
  106. data/lib/klaviyo-api-sdk/models/object_schema_create_query_resource_object.rb +246 -0
  107. data/lib/klaviyo-api-sdk/models/object_schema_create_query_resource_object_attributes.rb +322 -0
  108. data/lib/klaviyo-api-sdk/models/object_schema_create_query_resource_object_relationships.rb +218 -0
  109. data/lib/klaviyo-api-sdk/models/object_schema_create_query_resource_object_relationships_object_type.rb +218 -0
  110. data/lib/klaviyo-api-sdk/models/object_schema_create_query_resource_object_relationships_object_type_data.rb +238 -0
  111. data/lib/klaviyo-api-sdk/models/object_schema_enum.rb +35 -0
  112. data/lib/klaviyo-api-sdk/models/object_schema_partial_update_query.rb +223 -0
  113. data/lib/klaviyo-api-sdk/models/object_schema_partial_update_query_resource_object.rb +252 -0
  114. data/lib/klaviyo-api-sdk/models/object_schema_partial_update_query_resource_object_attributes.rb +302 -0
  115. data/lib/klaviyo-api-sdk/models/object_schema_relationship_create_meta.rb +237 -0
  116. data/lib/klaviyo-api-sdk/models/{metric_property_condition_condition_group.rb → object_schema_relationship_create_query.rb} +14 -14
  117. data/lib/klaviyo-api-sdk/models/{flow_sms_additional_filters_condition_groups_inner.rb → object_schema_relationship_create_query_data_inner.rb} +37 -15
  118. data/lib/klaviyo-api-sdk/models/object_schema_relationship_delete_meta.rb +224 -0
  119. data/lib/klaviyo-api-sdk/models/object_schema_relationship_delete_query.rb +225 -0
  120. data/lib/klaviyo-api-sdk/models/object_schema_relationship_delete_query_data_inner.rb +247 -0
  121. data/lib/klaviyo-api-sdk/models/object_schema_relationship_partial_update_query.rb +223 -0
  122. data/lib/klaviyo-api-sdk/models/object_schema_relationship_partial_update_query_data.rb +247 -0
  123. data/lib/klaviyo-api-sdk/models/object_schema_relationship_update_meta.rb +246 -0
  124. data/lib/klaviyo-api-sdk/models/object_type_create_query.rb +223 -0
  125. data/lib/klaviyo-api-sdk/models/object_type_create_query_resource_object.rb +237 -0
  126. data/lib/klaviyo-api-sdk/models/object_type_create_query_resource_object_attributes.rb +307 -0
  127. data/lib/klaviyo-api-sdk/models/object_type_create_query_resource_object_attributes_object_schema.rb +224 -0
  128. data/lib/klaviyo-api-sdk/models/object_type_enum.rb +35 -0
  129. data/lib/klaviyo-api-sdk/models/onsite_profile_meta.rb +13 -4
  130. data/lib/klaviyo-api-sdk/models/open_tracking_subscription_parameters.rb +258 -0
  131. data/lib/klaviyo-api-sdk/models/open_tracking_unsubscription_parameters.rb +258 -0
  132. data/lib/klaviyo-api-sdk/models/opt_in_code_properties.rb +11 -1
  133. data/lib/klaviyo-api-sdk/models/patch_identifiers.rb +227 -0
  134. data/lib/klaviyo-api-sdk/models/phone_number_properties.rb +11 -1
  135. data/lib/klaviyo-api-sdk/models/price_drop_condition.rb +1 -1
  136. data/lib/klaviyo-api-sdk/models/price_drop_trigger.rb +2 -6
  137. data/lib/klaviyo-api-sdk/models/{flow_sms_additional_filters.rb → price_drop_trigger_trigger_filter.rb} +4 -4
  138. data/lib/klaviyo-api-sdk/models/{price_drop_condition_condition_group.rb → price_drop_trigger_trigger_filter_condition_groups_inner.rb} +3 -3
  139. data/lib/klaviyo-api-sdk/models/profile_event_tracked_properties.rb +19 -9
  140. data/lib/klaviyo-api-sdk/models/profile_has_not_received_email_message_condition.rb +1 -1
  141. data/lib/klaviyo-api-sdk/models/{profile_has_not_received_push_message_condition_timeframe_filter.rb → profile_has_not_received_email_message_condition_timeframe_filter.rb} +1 -1
  142. data/lib/klaviyo-api-sdk/models/profile_has_not_received_push_message_condition.rb +1 -1
  143. data/lib/klaviyo-api-sdk/models/profile_has_not_received_sms_message_condition.rb +1 -1
  144. data/lib/klaviyo-api-sdk/models/profile_meta.rb +13 -4
  145. data/lib/klaviyo-api-sdk/models/profile_not_in_flow_condition.rb +1 -1
  146. data/lib/klaviyo-api-sdk/models/profile_object_schema_enum.rb +35 -0
  147. data/lib/klaviyo-api-sdk/models/profile_object_schema_relationship_create_query.rb +225 -0
  148. data/lib/klaviyo-api-sdk/models/profile_object_schema_relationship_create_query_data_inner.rb +247 -0
  149. data/lib/klaviyo-api-sdk/models/profile_object_schema_relationship_delete_query.rb +225 -0
  150. data/lib/klaviyo-api-sdk/models/profile_object_schema_relationship_delete_query_data_inner.rb +247 -0
  151. data/lib/klaviyo-api-sdk/models/profile_object_schema_relationship_partial_update_query.rb +223 -0
  152. data/lib/klaviyo-api-sdk/models/profile_object_schema_relationship_partial_update_query_data.rb +247 -0
  153. data/lib/klaviyo-api-sdk/models/profile_predictive_analytics_channel_affinity_priority_condition.rb +2 -2
  154. data/lib/klaviyo-api-sdk/models/profile_predictive_analytics_channel_affinity_rank_condition.rb +2 -2
  155. data/lib/klaviyo-api-sdk/models/profile_relationship_source.rb +330 -0
  156. data/lib/klaviyo-api-sdk/models/property_filter.rb +237 -0
  157. data/lib/klaviyo-api-sdk/models/property_source.rb +254 -0
  158. data/lib/klaviyo-api-sdk/models/push_action_button.rb +1 -5
  159. data/lib/klaviyo-api-sdk/models/push_action_button_definition.rb +261 -0
  160. data/lib/klaviyo-api-sdk/models/push_on_open_web_url.rb +268 -0
  161. data/lib/klaviyo-api-sdk/models/quote_style.rb +21 -1
  162. data/lib/klaviyo-api-sdk/models/radio_buttons_properties.rb +11 -1
  163. data/lib/klaviyo-api-sdk/models/redirect_properties.rb +2 -5
  164. data/lib/klaviyo-api-sdk/models/related_id_path.rb +273 -0
  165. data/lib/klaviyo-api-sdk/models/review_block_styles.rb +13 -13
  166. data/lib/klaviyo-api-sdk/models/review_properties.rb +11 -1
  167. data/lib/klaviyo-api-sdk/models/reviewer_name_style.rb +21 -1
  168. data/lib/klaviyo-api-sdk/models/row_v0_blocks_inner.rb +1 -0
  169. data/lib/klaviyo-api-sdk/models/signup_counter_properties.rb +11 -1
  170. data/lib/klaviyo-api-sdk/models/simple_property_mapping.rb +287 -0
  171. data/lib/klaviyo-api-sdk/models/simple_relationship_mapping.rb +287 -0
  172. data/lib/klaviyo-api-sdk/models/simple_relationship_mapping_source.rb +105 -0
  173. data/lib/klaviyo-api-sdk/models/sms_consent_checkbox_properties.rb +11 -1
  174. data/lib/klaviyo-api-sdk/models/sms_disclosure_link_text_style.rb +319 -0
  175. data/lib/klaviyo-api-sdk/models/sms_disclosure_properties.rb +11 -1
  176. data/lib/klaviyo-api-sdk/models/sms_disclosure_styles.rb +1 -1
  177. data/lib/klaviyo-api-sdk/models/source_mapping_create_query_resource_object.rb +237 -0
  178. data/lib/klaviyo-api-sdk/models/source_mapping_create_query_resource_object_attributes.rb +235 -0
  179. data/lib/klaviyo-api-sdk/models/source_mapping_create_query_resource_object_attributes_property_mappings_inner.rb +104 -0
  180. data/lib/klaviyo-api-sdk/models/source_mapping_enum.rb +35 -0
  181. data/lib/klaviyo-api-sdk/models/source_mapping_partial_update_query.rb +223 -0
  182. data/lib/klaviyo-api-sdk/models/source_mapping_partial_update_query_resource_object.rb +252 -0
  183. data/lib/klaviyo-api-sdk/models/spin_to_win_properties.rb +11 -1
  184. data/lib/klaviyo-api-sdk/models/string_phone_operator_string_array_filter.rb +1 -1
  185. data/lib/klaviyo-api-sdk/models/table_fallback_image_sub_block.rb +0 -13
  186. data/lib/klaviyo-api-sdk/models/table_image_sub_block.rb +0 -13
  187. data/lib/klaviyo-api-sdk/models/template_definition.rb +1 -0
  188. data/lib/klaviyo-api-sdk/models/text_properties.rb +11 -1
  189. data/lib/klaviyo-api-sdk/models/version.rb +39 -4
  190. data/lib/klaviyo-api-sdk/models/version_properties.rb +14 -4
  191. data/lib/klaviyo-api-sdk/models/version_styles.rb +15 -6
  192. data/lib/klaviyo-api-sdk/models/version_triggers_inner.rb +1 -0
  193. data/lib/klaviyo-api-sdk.rb +86 -23
  194. data/lib/klaviyo-api-sdk.rb.bak +87 -24
  195. metadata +88 -25
  196. data/lib/klaviyo-api-sdk/models/custom_object_property_condition_filter.rb +0 -117
  197. data/lib/klaviyo-api-sdk/models/flow_email_additional_filters_condition_groups_inner_conditions_inner.rb +0 -116
  198. data/lib/klaviyo-api-sdk/models/flow_push_notification_additional_filters_condition_groups_inner_conditions_inner.rb +0 -116
  199. data/lib/klaviyo-api-sdk/models/flow_sms_additional_filters_condition_groups_inner_conditions_inner.rb +0 -116
  200. data/lib/klaviyo-api-sdk/models/metric_property_condition_filter2.rb +0 -117
  201. data/lib/klaviyo-api-sdk/models/price_drop_condition_filter.rb +0 -225
@@ -0,0 +1,252 @@
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 SourceMappingPartialUpdateQueryResourceObject
17
+ attr_accessor :type
18
+
19
+ # The ULID ID of the source mapping
20
+ attr_accessor :id
21
+
22
+ attr_accessor :attributes
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'type' => :'type',
28
+ :'id' => :'id',
29
+ :'attributes' => :'attributes'
30
+ }
31
+ end
32
+
33
+ # Returns all the JSON keys this model knows about
34
+ def self.acceptable_attributes
35
+ attribute_map.values
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.openapi_types
40
+ {
41
+ :'type' => :'SourceMappingEnum',
42
+ :'id' => :'String',
43
+ :'attributes' => :'SourceMappingCreateQueryResourceObjectAttributes'
44
+ }
45
+ end
46
+
47
+ # List of attributes with nullable: true
48
+ def self.openapi_nullable
49
+ Set.new([
50
+ ])
51
+ end
52
+
53
+ # Initializes the object
54
+ # @param [Hash] attributes Model attributes in the form of hash
55
+ def initialize(attributes = {})
56
+ if (!attributes.is_a?(Hash))
57
+ fail ArgumentError, "The input argument (attributes) must be a hash in `KlaviyoAPI::SourceMappingPartialUpdateQueryResourceObject` initialize method"
58
+ end
59
+
60
+ # check to see if the attribute exists and convert string to symbol for hash key
61
+ attributes = attributes.each_with_object({}) { |(k, v), h|
62
+ if (!self.class.attribute_map.key?(k.to_sym))
63
+ fail ArgumentError, "`#{k}` is not a valid attribute in `KlaviyoAPI::SourceMappingPartialUpdateQueryResourceObject`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
64
+ end
65
+ h[k.to_sym] = v
66
+ }
67
+
68
+ if attributes.key?(:'type')
69
+ self.type = attributes[:'type']
70
+ end
71
+
72
+ if attributes.key?(:'id')
73
+ self.id = attributes[:'id']
74
+ end
75
+
76
+ if attributes.key?(:'attributes')
77
+ self.attributes = attributes[:'attributes']
78
+ end
79
+ end
80
+
81
+ # Show invalid properties with the reasons. Usually used together with valid?
82
+ # @return Array for valid properties with the reasons
83
+ def list_invalid_properties
84
+ invalid_properties = Array.new
85
+ if @type.nil?
86
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
87
+ end
88
+
89
+ if @id.nil?
90
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
91
+ end
92
+
93
+ if @attributes.nil?
94
+ invalid_properties.push('invalid value for "attributes", attributes cannot be nil.')
95
+ end
96
+
97
+ invalid_properties
98
+ end
99
+
100
+ # Check to see if the all the properties in the model are valid
101
+ # @return true if the model is valid
102
+ def valid?
103
+ return false if @type.nil?
104
+ return false if @id.nil?
105
+ return false if @attributes.nil?
106
+ true
107
+ end
108
+
109
+ # Checks equality by comparing each attribute.
110
+ # @param [Object] Object to be compared
111
+ def ==(o)
112
+ return true if self.equal?(o)
113
+ self.class == o.class &&
114
+ type == o.type &&
115
+ id == o.id &&
116
+ attributes == o.attributes
117
+ end
118
+
119
+ # @see the `==` method
120
+ # @param [Object] Object to be compared
121
+ def eql?(o)
122
+ self == o
123
+ end
124
+
125
+ # Calculates hash code according to all attributes.
126
+ # @return [Integer] Hash code
127
+ def hash
128
+ [type, id, attributes].hash
129
+ end
130
+
131
+ # Builds the object from hash
132
+ # @param [Hash] attributes Model attributes in the form of hash
133
+ # @return [Object] Returns the model itself
134
+ def self.build_from_hash(attributes)
135
+ new.build_from_hash(attributes)
136
+ end
137
+
138
+ # Builds the object from hash
139
+ # @param [Hash] attributes Model attributes in the form of hash
140
+ # @return [Object] Returns the model itself
141
+ def build_from_hash(attributes)
142
+ return nil unless attributes.is_a?(Hash)
143
+ attributes = attributes.transform_keys(&:to_sym)
144
+ self.class.openapi_types.each_pair do |key, type|
145
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
146
+ self.send("#{key}=", nil)
147
+ elsif type =~ /\AArray<(.*)>/i
148
+ # check to ensure the input is an array given that the attribute
149
+ # is documented as an array but the input is not
150
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
151
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
152
+ end
153
+ elsif !attributes[self.class.attribute_map[key]].nil?
154
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
155
+ end
156
+ end
157
+
158
+ self
159
+ end
160
+
161
+ # Deserializes the data based on type
162
+ # @param string type Data type
163
+ # @param string value Value to be deserialized
164
+ # @return [Object] Deserialized data
165
+ def _deserialize(type, value)
166
+ case type.to_sym
167
+ when :Time
168
+ Time.parse(value)
169
+ when :Date
170
+ Date.parse(value)
171
+ when :String
172
+ value.to_s
173
+ when :Integer
174
+ value.to_i
175
+ when :Float
176
+ value.to_f
177
+ when :Boolean
178
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
179
+ true
180
+ else
181
+ false
182
+ end
183
+ when :Object
184
+ # generic object (usually a Hash), return directly
185
+ value
186
+ when /\AArray<(?<inner_type>.+)>\z/
187
+ inner_type = Regexp.last_match[:inner_type]
188
+ value.map { |v| _deserialize(inner_type, v) }
189
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
190
+ k_type = Regexp.last_match[:k_type]
191
+ v_type = Regexp.last_match[:v_type]
192
+ {}.tap do |hash|
193
+ value.each do |k, v|
194
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
195
+ end
196
+ end
197
+ else # model
198
+ # models (e.g. Pet) or oneOf
199
+ klass = KlaviyoAPI.const_get(type)
200
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
201
+ end
202
+ end
203
+
204
+ # Returns the string representation of the object
205
+ # @return [String] String presentation of the object
206
+ def to_s
207
+ to_hash.to_s
208
+ end
209
+
210
+ # to_body is an alias to to_hash (backward compatibility)
211
+ # @return [Hash] Returns the object in the form of hash
212
+ def to_body
213
+ to_hash
214
+ end
215
+
216
+ # Returns the object in the form of hash
217
+ # @return [Hash] Returns the object in the form of hash
218
+ def to_hash
219
+ hash = {}
220
+ self.class.attribute_map.each_pair do |attr, param|
221
+ value = self.send(attr)
222
+ if value.nil?
223
+ is_nullable = self.class.openapi_nullable.include?(attr)
224
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
225
+ end
226
+
227
+ hash[param] = _to_hash(value)
228
+ end
229
+ hash
230
+ end
231
+
232
+ # Outputs non-array value in the form of hash
233
+ # For object, use to_hash. Otherwise, just return the value
234
+ # @param [Object] value Any valid value
235
+ # @return [Hash] Returns the value in the form of hash
236
+ def _to_hash(value)
237
+ if value.is_a?(Array)
238
+ value.compact.map { |v| _to_hash(v) }
239
+ elsif value.is_a?(Hash)
240
+ {}.tap do |hash|
241
+ value.each { |k, v| hash[k] = _to_hash(v) }
242
+ end
243
+ elsif value.respond_to? :to_hash
244
+ value.to_hash
245
+ else
246
+ value
247
+ end
248
+ end
249
+
250
+ end
251
+
252
+ end
@@ -16,6 +16,8 @@ module KlaviyoAPI
16
16
  class SpinToWinProperties
17
17
  attr_accessor :display_device
18
18
 
19
+ attr_accessor :classname
20
+
19
21
  attr_accessor :duplicate_slices
20
22
 
21
23
  attr_accessor :slices
@@ -46,6 +48,7 @@ module KlaviyoAPI
46
48
  def self.attribute_map
47
49
  {
48
50
  :'display_device' => :'display_device',
51
+ :'classname' => :'classname',
49
52
  :'duplicate_slices' => :'duplicate_slices',
50
53
  :'slices' => :'slices'
51
54
  }
@@ -60,6 +63,7 @@ module KlaviyoAPI
60
63
  def self.openapi_types
61
64
  {
62
65
  :'display_device' => :'Array<String>',
66
+ :'classname' => :'String',
63
67
  :'duplicate_slices' => :'Boolean',
64
68
  :'slices' => :'Array<SpinToWinSliceConfig>'
65
69
  }
@@ -68,6 +72,7 @@ module KlaviyoAPI
68
72
  # List of attributes with nullable: true
69
73
  def self.openapi_nullable
70
74
  Set.new([
75
+ :'classname',
71
76
  ])
72
77
  end
73
78
 
@@ -92,6 +97,10 @@ module KlaviyoAPI
92
97
  end
93
98
  end
94
99
 
100
+ if attributes.key?(:'classname')
101
+ self.classname = attributes[:'classname']
102
+ end
103
+
95
104
  if attributes.key?(:'duplicate_slices')
96
105
  self.duplicate_slices = attributes[:'duplicate_slices']
97
106
  else
@@ -129,6 +138,7 @@ module KlaviyoAPI
129
138
  return true if self.equal?(o)
130
139
  self.class == o.class &&
131
140
  display_device == o.display_device &&
141
+ classname == o.classname &&
132
142
  duplicate_slices == o.duplicate_slices &&
133
143
  slices == o.slices
134
144
  end
@@ -142,7 +152,7 @@ module KlaviyoAPI
142
152
  # Calculates hash code according to all attributes.
143
153
  # @return [Integer] Hash code
144
154
  def hash
145
- [display_device, duplicate_slices, slices].hash
155
+ [display_device, classname, duplicate_slices, slices].hash
146
156
  end
147
157
 
148
158
  # Builds the object from hash
@@ -16,7 +16,7 @@ module KlaviyoAPI
16
16
  class StringPhoneOperatorStringArrayFilter
17
17
  attr_accessor :type
18
18
 
19
- # Operators for phone string array filters. Example condition using this filter: {
19
+ # Operators for phone string array filters. Example condition using this filter: { \"type\": \"profile-property\", \"field\": \"phone\", \"filter\": { \"type\": \"string\", \"operator\": \"phone-country-code-in\", \"value\": [\"US\", \"GB\"] } }
20
20
  attr_accessor :operator
21
21
 
22
22
  attr_accessor :value
@@ -45,7 +45,6 @@ module KlaviyoAPI
45
45
 
46
46
  attr_accessor :cropped_src
47
47
 
48
- # Aspect ratio options.
49
48
  attr_accessor :cropping_aspect_ratio
50
49
 
51
50
  attr_accessor :cropping_height
@@ -287,8 +286,6 @@ module KlaviyoAPI
287
286
  return false unless show_on_validator.valid?(@show_on)
288
287
  cell_text_align_validator = EnumAttributeValidator.new('String', ["center", "left", "right"])
289
288
  return false unless cell_text_align_validator.valid?(@cell_text_align)
290
- cropping_aspect_ratio_validator = EnumAttributeValidator.new('String', ["16:9", "1:1", "2:3", "3:4", "4:3", "circle", "custom", "original"])
291
- return false unless cropping_aspect_ratio_validator.valid?(@cropping_aspect_ratio)
292
289
  return false if @type.nil?
293
290
  type_validator = EnumAttributeValidator.new('String', ["table_fallback_image"])
294
291
  return false unless type_validator.valid?(@type)
@@ -325,16 +322,6 @@ module KlaviyoAPI
325
322
  @cell_text_align = cell_text_align
326
323
  end
327
324
 
328
- # Custom attribute writer method checking allowed values (enum).
329
- # @param [Object] cropping_aspect_ratio Object to be assigned
330
- def cropping_aspect_ratio=(cropping_aspect_ratio)
331
- validator = EnumAttributeValidator.new('String', ["16:9", "1:1", "2:3", "3:4", "4:3", "circle", "custom", "original"])
332
- unless validator.valid?(cropping_aspect_ratio)
333
- fail ArgumentError, "invalid value for \"cropping_aspect_ratio\", must be one of #{validator.allowable_values}."
334
- end
335
- @cropping_aspect_ratio = cropping_aspect_ratio
336
- end
337
-
338
325
  # Custom attribute writer method checking allowed values (enum).
339
326
  # @param [Object] type Object to be assigned
340
327
  def type=(type)
@@ -45,7 +45,6 @@ module KlaviyoAPI
45
45
 
46
46
  attr_accessor :cropped_src
47
47
 
48
- # Aspect ratio options.
49
48
  attr_accessor :cropping_aspect_ratio
50
49
 
51
50
  attr_accessor :cropping_height
@@ -287,8 +286,6 @@ module KlaviyoAPI
287
286
  return false unless show_on_validator.valid?(@show_on)
288
287
  cell_text_align_validator = EnumAttributeValidator.new('String', ["center", "left", "right"])
289
288
  return false unless cell_text_align_validator.valid?(@cell_text_align)
290
- cropping_aspect_ratio_validator = EnumAttributeValidator.new('String', ["16:9", "1:1", "2:3", "3:4", "4:3", "circle", "custom", "original"])
291
- return false unless cropping_aspect_ratio_validator.valid?(@cropping_aspect_ratio)
292
289
  return false if @type.nil?
293
290
  type_validator = EnumAttributeValidator.new('String', ["table_image"])
294
291
  return false unless type_validator.valid?(@type)
@@ -325,16 +322,6 @@ module KlaviyoAPI
325
322
  @cell_text_align = cell_text_align
326
323
  end
327
324
 
328
- # Custom attribute writer method checking allowed values (enum).
329
- # @param [Object] cropping_aspect_ratio Object to be assigned
330
- def cropping_aspect_ratio=(cropping_aspect_ratio)
331
- validator = EnumAttributeValidator.new('String', ["16:9", "1:1", "2:3", "3:4", "4:3", "circle", "custom", "original"])
332
- unless validator.valid?(cropping_aspect_ratio)
333
- fail ArgumentError, "invalid value for \"cropping_aspect_ratio\", must be one of #{validator.allowable_values}."
334
- end
335
- @cropping_aspect_ratio = cropping_aspect_ratio
336
- end
337
-
338
325
  # Custom attribute writer method checking allowed values (enum).
339
326
  # @param [Object] type Object to be assigned
340
327
  def type=(type)
@@ -20,6 +20,7 @@ module KlaviyoAPI
20
20
 
21
21
  attr_accessor :body
22
22
 
23
+ # When present, must contain exactly one of each style type.
23
24
  attr_accessor :styles
24
25
 
25
26
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -16,6 +16,8 @@ module KlaviyoAPI
16
16
  class TextProperties
17
17
  attr_accessor :display_device
18
18
 
19
+ attr_accessor :classname
20
+
19
21
  attr_accessor :property_name
20
22
 
21
23
  attr_accessor :label
@@ -54,6 +56,7 @@ module KlaviyoAPI
54
56
  def self.attribute_map
55
57
  {
56
58
  :'display_device' => :'display_device',
59
+ :'classname' => :'classname',
57
60
  :'property_name' => :'property_name',
58
61
  :'label' => :'label',
59
62
  :'show_label' => :'show_label',
@@ -72,6 +75,7 @@ module KlaviyoAPI
72
75
  def self.openapi_types
73
76
  {
74
77
  :'display_device' => :'Array<String>',
78
+ :'classname' => :'String',
75
79
  :'property_name' => :'String',
76
80
  :'label' => :'String',
77
81
  :'show_label' => :'Boolean',
@@ -84,6 +88,7 @@ module KlaviyoAPI
84
88
  # List of attributes with nullable: true
85
89
  def self.openapi_nullable
86
90
  Set.new([
91
+ :'classname',
87
92
  :'label',
88
93
  :'placeholder',
89
94
  :'required',
@@ -111,6 +116,10 @@ module KlaviyoAPI
111
116
  end
112
117
  end
113
118
 
119
+ if attributes.key?(:'classname')
120
+ self.classname = attributes[:'classname']
121
+ end
122
+
114
123
  if attributes.key?(:'property_name')
115
124
  self.property_name = attributes[:'property_name']
116
125
  end
@@ -164,6 +173,7 @@ module KlaviyoAPI
164
173
  return true if self.equal?(o)
165
174
  self.class == o.class &&
166
175
  display_device == o.display_device &&
176
+ classname == o.classname &&
167
177
  property_name == o.property_name &&
168
178
  label == o.label &&
169
179
  show_label == o.show_label &&
@@ -181,7 +191,7 @@ module KlaviyoAPI
181
191
  # Calculates hash code according to all attributes.
182
192
  # @return [Integer] Hash code
183
193
  def hash
184
- [display_device, property_name, label, show_label, placeholder, required, error_messages].hash
194
+ [display_device, classname, property_name, label, show_label, placeholder, required, error_messages].hash
185
195
  end
186
196
 
187
197
  # Builds the object from hash
@@ -44,6 +44,11 @@ module KlaviyoAPI
44
44
 
45
45
  attr_accessor :specialties
46
46
 
47
+ # Form channel type enumeration.
48
+ attr_accessor :channel
49
+
50
+ attr_accessor :message_priority
51
+
47
52
  class EnumAttributeValidator
48
53
  attr_reader :datatype
49
54
  attr_reader :allowable_values
@@ -81,7 +86,9 @@ module KlaviyoAPI
81
86
  :'location' => :'location',
82
87
  :'status' => :'status',
83
88
  :'ab_test' => :'ab_test',
84
- :'specialties' => :'specialties'
89
+ :'specialties' => :'specialties',
90
+ :'channel' => :'channel',
91
+ :'message_priority' => :'message_priority'
85
92
  }
86
93
  end
87
94
 
@@ -105,7 +112,9 @@ module KlaviyoAPI
105
112
  :'location' => :'String',
106
113
  :'status' => :'String',
107
114
  :'ab_test' => :'Boolean',
108
- :'specialties' => :'Array<String>'
115
+ :'specialties' => :'Array<String>',
116
+ :'channel' => :'String',
117
+ :'message_priority' => :'Integer'
109
118
  }
110
119
  end
111
120
 
@@ -198,6 +207,18 @@ module KlaviyoAPI
198
207
  self.specialties = value
199
208
  end
200
209
  end
210
+
211
+ if attributes.key?(:'channel')
212
+ self.channel = attributes[:'channel']
213
+ else
214
+ self.channel = 'WEB'
215
+ end
216
+
217
+ if attributes.key?(:'message_priority')
218
+ self.message_priority = attributes[:'message_priority']
219
+ else
220
+ self.message_priority = 50
221
+ end
201
222
  end
202
223
 
203
224
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -221,6 +242,8 @@ module KlaviyoAPI
221
242
  return false unless location_validator.valid?(@location)
222
243
  status_validator = EnumAttributeValidator.new('String', ["draft", "live"])
223
244
  return false unless status_validator.valid?(@status)
245
+ channel_validator = EnumAttributeValidator.new('String', ["IN_APP", "WEB"])
246
+ return false unless channel_validator.valid?(@channel)
224
247
  true
225
248
  end
226
249
 
@@ -254,6 +277,16 @@ module KlaviyoAPI
254
277
  @status = status
255
278
  end
256
279
 
280
+ # Custom attribute writer method checking allowed values (enum).
281
+ # @param [Object] channel Object to be assigned
282
+ def channel=(channel)
283
+ validator = EnumAttributeValidator.new('String', ["IN_APP", "WEB"])
284
+ unless validator.valid?(channel)
285
+ fail ArgumentError, "invalid value for \"channel\", must be one of #{validator.allowable_values}."
286
+ end
287
+ @channel = channel
288
+ end
289
+
257
290
  # Checks equality by comparing each attribute.
258
291
  # @param [Object] Object to be compared
259
292
  def ==(o)
@@ -271,7 +304,9 @@ module KlaviyoAPI
271
304
  location == o.location &&
272
305
  status == o.status &&
273
306
  ab_test == o.ab_test &&
274
- specialties == o.specialties
307
+ specialties == o.specialties &&
308
+ channel == o.channel &&
309
+ message_priority == o.message_priority
275
310
  end
276
311
 
277
312
  # @see the `==` method
@@ -283,7 +318,7 @@ module KlaviyoAPI
283
318
  # Calculates hash code according to all attributes.
284
319
  # @return [Integer] Hash code
285
320
  def hash
286
- [id, steps, triggers, teasers, dynamic_button, name, styles, properties, type, location, status, ab_test, specialties].hash
321
+ [id, steps, triggers, teasers, dynamic_button, name, styles, properties, type, location, status, ab_test, specialties, channel, message_priority].hash
287
322
  end
288
323
 
289
324
  # Builds the object from hash
@@ -25,6 +25,8 @@ module KlaviyoAPI
25
25
 
26
26
  attr_accessor :show_close_button
27
27
 
28
+ attr_accessor :accessible_name
29
+
28
30
  class EnumAttributeValidator
29
31
  attr_reader :datatype
30
32
  attr_reader :allowable_values
@@ -54,7 +56,8 @@ module KlaviyoAPI
54
56
  :'click_outside_to_close' => :'click_outside_to_close',
55
57
  :'rule_based_trigger_evaluation' => :'rule_based_trigger_evaluation',
56
58
  :'record_utm_params_on_submit' => :'record_utm_params_on_submit',
57
- :'show_close_button' => :'show_close_button'
59
+ :'show_close_button' => :'show_close_button',
60
+ :'accessible_name' => :'accessible_name'
58
61
  }
59
62
  end
60
63
 
@@ -70,7 +73,8 @@ module KlaviyoAPI
70
73
  :'click_outside_to_close' => :'Array<String>',
71
74
  :'rule_based_trigger_evaluation' => :'String',
72
75
  :'record_utm_params_on_submit' => :'Boolean',
73
- :'show_close_button' => :'Boolean'
76
+ :'show_close_button' => :'Boolean',
77
+ :'accessible_name' => :'String'
74
78
  }
75
79
  end
76
80
 
@@ -79,6 +83,7 @@ module KlaviyoAPI
79
83
  Set.new([
80
84
  :'click_outside_to_close',
81
85
  :'rule_based_trigger_evaluation',
86
+ :'accessible_name'
82
87
  ])
83
88
  end
84
89
 
@@ -124,6 +129,10 @@ module KlaviyoAPI
124
129
  else
125
130
  self.show_close_button = true
126
131
  end
132
+
133
+ if attributes.key?(:'accessible_name')
134
+ self.accessible_name = attributes[:'accessible_name']
135
+ end
127
136
  end
128
137
 
129
138
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -160,7 +169,8 @@ module KlaviyoAPI
160
169
  click_outside_to_close == o.click_outside_to_close &&
161
170
  rule_based_trigger_evaluation == o.rule_based_trigger_evaluation &&
162
171
  record_utm_params_on_submit == o.record_utm_params_on_submit &&
163
- show_close_button == o.show_close_button
172
+ show_close_button == o.show_close_button &&
173
+ accessible_name == o.accessible_name
164
174
  end
165
175
 
166
176
  # @see the `==` method
@@ -172,7 +182,7 @@ module KlaviyoAPI
172
182
  # Calculates hash code according to all attributes.
173
183
  # @return [Integer] Hash code
174
184
  def hash
175
- [side_image_settings, click_outside_to_close, rule_based_trigger_evaluation, record_utm_params_on_submit, show_close_button].hash
185
+ [side_image_settings, click_outside_to_close, rule_based_trigger_evaluation, record_utm_params_on_submit, show_close_button, accessible_name].hash
176
186
  end
177
187
 
178
188
  # Builds the object from hash