klaviyo-api-sdk 3.0.0 → 4.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 (286) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -7
  3. data/README.md +243 -173
  4. data/klaviyo-api-sdk.gemspec +2 -2
  5. data/lib/klaviyo-api-sdk/api/accounts_api.rb +7 -7
  6. data/lib/klaviyo-api-sdk/api/campaigns_api.rb +528 -57
  7. data/lib/klaviyo-api-sdk/api/catalogs_api.rb +290 -220
  8. data/lib/klaviyo-api-sdk/api/data_privacy_api.rb +4 -4
  9. data/lib/klaviyo-api-sdk/api/events_api.rb +92 -92
  10. data/lib/klaviyo-api-sdk/api/flows_api.rb +105 -94
  11. data/lib/klaviyo-api-sdk/api/lists_api.rb +75 -40
  12. data/lib/klaviyo-api-sdk/api/metrics_api.rb +12 -12
  13. data/lib/klaviyo-api-sdk/api/profiles_api.rb +57 -57
  14. data/lib/klaviyo-api-sdk/api/segments_api.rb +71 -36
  15. data/lib/klaviyo-api-sdk/api/tags_api.rb +91 -63
  16. data/lib/klaviyo-api-sdk/api/templates_api.rb +25 -25
  17. data/lib/klaviyo-api-sdk/api_client.rb +2 -2
  18. data/lib/klaviyo-api-sdk/api_error.rb +1 -1
  19. data/lib/klaviyo-api-sdk/configuration.rb +1 -1
  20. data/lib/klaviyo-api-sdk/models/audiences_sub_object.rb +1 -1
  21. data/lib/klaviyo-api-sdk/models/{profile_unsuppression_bulk_create_job_enum.rb → back_in_stock_subscription_enum.rb} +5 -5
  22. data/lib/klaviyo-api-sdk/models/campaign_clone_query.rb +1 -1
  23. data/lib/klaviyo-api-sdk/models/campaign_clone_query_resource_object.rb +1 -1
  24. data/lib/klaviyo-api-sdk/models/campaign_clone_query_resource_object_attributes.rb +1 -1
  25. data/lib/klaviyo-api-sdk/models/campaign_create_query.rb +1 -1
  26. data/lib/klaviyo-api-sdk/models/campaign_create_query_resource_object.rb +1 -1
  27. data/lib/klaviyo-api-sdk/models/campaign_create_query_resource_object_attributes.rb +16 -22
  28. data/lib/klaviyo-api-sdk/models/campaign_create_query_resource_object_attributes_campaign_messages.rb +227 -0
  29. data/lib/klaviyo-api-sdk/models/campaign_create_query_resource_object_attributes_send_options.rb +106 -0
  30. data/lib/klaviyo-api-sdk/models/campaign_create_query_resource_object_attributes_tracking_options.rb +106 -0
  31. data/lib/klaviyo-api-sdk/models/campaign_enum.rb +1 -1
  32. data/lib/klaviyo-api-sdk/models/campaign_message_assign_template_query.rb +1 -1
  33. data/lib/klaviyo-api-sdk/models/campaign_message_assign_template_query_resource_object.rb +11 -2
  34. data/lib/klaviyo-api-sdk/models/campaign_message_assign_template_query_resource_object_attributes.rb +5 -20
  35. data/lib/klaviyo-api-sdk/models/campaign_message_assign_template_query_resource_object_relationships.rb +219 -0
  36. data/lib/klaviyo-api-sdk/models/campaign_message_assign_template_query_resource_object_relationships_template.rb +224 -0
  37. data/lib/klaviyo-api-sdk/models/campaign_message_assign_template_query_resource_object_relationships_template_data.rb +272 -0
  38. data/lib/klaviyo-api-sdk/models/{unsuppression_create_job_create_query_resource_object.rb → campaign_message_create_query_resource_object.rb} +6 -6
  39. data/lib/klaviyo-api-sdk/models/campaign_message_create_query_resource_object_attributes.rb +253 -0
  40. data/lib/klaviyo-api-sdk/models/campaign_message_create_query_resource_object_attributes_content.rb +106 -0
  41. data/lib/klaviyo-api-sdk/models/campaign_message_enum.rb +1 -1
  42. data/lib/klaviyo-api-sdk/models/campaign_message_partial_update_query.rb +1 -1
  43. data/lib/klaviyo-api-sdk/models/campaign_message_partial_update_query_resource_object.rb +1 -1
  44. data/lib/klaviyo-api-sdk/models/campaign_message_partial_update_query_resource_object_attributes.rb +12 -3
  45. data/lib/klaviyo-api-sdk/models/campaign_partial_update_query.rb +1 -1
  46. data/lib/klaviyo-api-sdk/models/campaign_partial_update_query_resource_object.rb +1 -1
  47. data/lib/klaviyo-api-sdk/models/campaign_partial_update_query_resource_object_attributes.rb +3 -3
  48. data/lib/klaviyo-api-sdk/models/campaign_recipient_estimation_job_create_query.rb +1 -1
  49. data/lib/klaviyo-api-sdk/models/campaign_recipient_estimation_job_create_query_resource_object.rb +1 -1
  50. data/lib/klaviyo-api-sdk/models/campaign_recipient_estimation_job_create_query_resource_object_attributes.rb +1 -1
  51. data/lib/klaviyo-api-sdk/models/campaign_recipient_estimation_job_enum.rb +1 -1
  52. data/lib/klaviyo-api-sdk/models/campaign_send_job_create_query.rb +1 -1
  53. data/lib/klaviyo-api-sdk/models/campaign_send_job_create_query_resource_object.rb +1 -1
  54. data/lib/klaviyo-api-sdk/models/campaign_send_job_create_query_resource_object_attributes.rb +1 -1
  55. data/lib/klaviyo-api-sdk/models/campaign_send_job_enum.rb +1 -1
  56. data/lib/klaviyo-api-sdk/models/campaign_send_job_partial_update_query.rb +1 -1
  57. data/lib/klaviyo-api-sdk/models/campaign_send_job_partial_update_query_resource_object.rb +1 -1
  58. data/lib/klaviyo-api-sdk/models/campaign_send_job_partial_update_query_resource_object_attributes.rb +1 -1
  59. data/lib/klaviyo-api-sdk/models/catalog_category_bulk_create_job_enum.rb +1 -1
  60. data/lib/klaviyo-api-sdk/models/catalog_category_bulk_delete_job_enum.rb +1 -1
  61. data/lib/klaviyo-api-sdk/models/catalog_category_bulk_update_job_enum.rb +1 -1
  62. data/lib/klaviyo-api-sdk/models/catalog_category_create_job_create_query.rb +1 -1
  63. data/lib/klaviyo-api-sdk/models/catalog_category_create_job_create_query_resource_object.rb +1 -1
  64. data/lib/klaviyo-api-sdk/models/catalog_category_create_job_create_query_resource_object_attributes.rb +3 -6
  65. data/lib/klaviyo-api-sdk/models/catalog_category_create_job_create_query_resource_object_attributes_categories.rb +227 -0
  66. data/lib/klaviyo-api-sdk/models/catalog_category_create_query.rb +1 -1
  67. data/lib/klaviyo-api-sdk/models/catalog_category_create_query_resource_object.rb +1 -1
  68. data/lib/klaviyo-api-sdk/models/catalog_category_create_query_resource_object_attributes.rb +3 -1
  69. data/lib/klaviyo-api-sdk/models/catalog_category_delete_job_create_query.rb +1 -1
  70. data/lib/klaviyo-api-sdk/models/catalog_category_delete_job_create_query_resource_object.rb +1 -1
  71. data/lib/klaviyo-api-sdk/models/catalog_category_delete_job_create_query_resource_object_attributes.rb +3 -6
  72. data/lib/klaviyo-api-sdk/models/catalog_category_delete_job_create_query_resource_object_attributes_categories.rb +227 -0
  73. data/lib/klaviyo-api-sdk/models/catalog_category_delete_query_resource_object.rb +1 -1
  74. data/lib/klaviyo-api-sdk/models/catalog_category_enum.rb +1 -1
  75. data/lib/klaviyo-api-sdk/models/catalog_category_item_op.rb +1 -1
  76. data/lib/klaviyo-api-sdk/models/catalog_category_update_job_create_query.rb +1 -1
  77. data/lib/klaviyo-api-sdk/models/catalog_category_update_job_create_query_resource_object.rb +1 -1
  78. data/lib/klaviyo-api-sdk/models/catalog_category_update_job_create_query_resource_object_attributes.rb +3 -6
  79. data/lib/klaviyo-api-sdk/models/catalog_category_update_job_create_query_resource_object_attributes_categories.rb +227 -0
  80. data/lib/klaviyo-api-sdk/models/catalog_category_update_query.rb +1 -1
  81. data/lib/klaviyo-api-sdk/models/catalog_category_update_query_resource_object.rb +1 -1
  82. data/lib/klaviyo-api-sdk/models/catalog_category_update_query_resource_object_attributes.rb +1 -1
  83. data/lib/klaviyo-api-sdk/models/catalog_category_update_query_resource_object_relationships.rb +1 -1
  84. data/lib/klaviyo-api-sdk/models/catalog_category_update_query_resource_object_relationships_items.rb +1 -1
  85. data/lib/klaviyo-api-sdk/models/catalog_category_update_query_resource_object_relationships_items_data_inner.rb +1 -1
  86. data/lib/klaviyo-api-sdk/models/catalog_item_bulk_create_job_enum.rb +1 -1
  87. data/lib/klaviyo-api-sdk/models/catalog_item_bulk_delete_job_enum.rb +1 -1
  88. data/lib/klaviyo-api-sdk/models/catalog_item_bulk_update_job_enum.rb +1 -1
  89. data/lib/klaviyo-api-sdk/models/catalog_item_category_op.rb +1 -1
  90. data/lib/klaviyo-api-sdk/models/catalog_item_category_op_data_inner.rb +1 -1
  91. data/lib/klaviyo-api-sdk/models/catalog_item_create_job_create_query.rb +1 -1
  92. data/lib/klaviyo-api-sdk/models/catalog_item_create_job_create_query_resource_object.rb +1 -1
  93. data/lib/klaviyo-api-sdk/models/catalog_item_create_job_create_query_resource_object_attributes.rb +3 -6
  94. data/lib/klaviyo-api-sdk/models/catalog_item_create_job_create_query_resource_object_attributes_items.rb +227 -0
  95. data/lib/klaviyo-api-sdk/models/catalog_item_create_query.rb +1 -1
  96. data/lib/klaviyo-api-sdk/models/catalog_item_create_query_resource_object.rb +1 -1
  97. data/lib/klaviyo-api-sdk/models/catalog_item_create_query_resource_object_attributes.rb +3 -1
  98. data/lib/klaviyo-api-sdk/models/catalog_item_create_query_resource_object_relationships.rb +1 -1
  99. data/lib/klaviyo-api-sdk/models/catalog_item_create_query_resource_object_relationships_categories.rb +1 -1
  100. data/lib/klaviyo-api-sdk/models/catalog_item_delete_job_create_query.rb +1 -1
  101. data/lib/klaviyo-api-sdk/models/catalog_item_delete_job_create_query_resource_object.rb +1 -1
  102. data/lib/klaviyo-api-sdk/models/catalog_item_delete_job_create_query_resource_object_attributes.rb +3 -6
  103. data/lib/klaviyo-api-sdk/models/catalog_item_delete_job_create_query_resource_object_attributes_items.rb +227 -0
  104. data/lib/klaviyo-api-sdk/models/catalog_item_delete_query_resource_object.rb +1 -1
  105. data/lib/klaviyo-api-sdk/models/catalog_item_enum.rb +1 -1
  106. data/lib/klaviyo-api-sdk/models/catalog_item_update_job_create_query.rb +1 -1
  107. data/lib/klaviyo-api-sdk/models/catalog_item_update_job_create_query_resource_object.rb +1 -1
  108. data/lib/klaviyo-api-sdk/models/catalog_item_update_job_create_query_resource_object_attributes.rb +3 -6
  109. data/lib/klaviyo-api-sdk/models/catalog_item_update_job_create_query_resource_object_attributes_items.rb +227 -0
  110. data/lib/klaviyo-api-sdk/models/catalog_item_update_query.rb +1 -1
  111. data/lib/klaviyo-api-sdk/models/catalog_item_update_query_resource_object.rb +1 -1
  112. data/lib/klaviyo-api-sdk/models/catalog_item_update_query_resource_object_attributes.rb +1 -1
  113. data/lib/klaviyo-api-sdk/models/catalog_variant_bulk_create_job_enum.rb +1 -1
  114. data/lib/klaviyo-api-sdk/models/catalog_variant_bulk_delete_job_enum.rb +1 -1
  115. data/lib/klaviyo-api-sdk/models/catalog_variant_bulk_update_job_enum.rb +1 -1
  116. data/lib/klaviyo-api-sdk/models/catalog_variant_create_job_create_query.rb +1 -1
  117. data/lib/klaviyo-api-sdk/models/catalog_variant_create_job_create_query_resource_object.rb +1 -1
  118. data/lib/klaviyo-api-sdk/models/catalog_variant_create_job_create_query_resource_object_attributes.rb +3 -6
  119. data/lib/klaviyo-api-sdk/models/catalog_variant_create_job_create_query_resource_object_attributes_variants.rb +227 -0
  120. data/lib/klaviyo-api-sdk/models/catalog_variant_create_query.rb +1 -1
  121. data/lib/klaviyo-api-sdk/models/catalog_variant_create_query_resource_object.rb +2 -2
  122. data/lib/klaviyo-api-sdk/models/catalog_variant_create_query_resource_object_attributes.rb +3 -1
  123. data/lib/klaviyo-api-sdk/models/catalog_variant_create_query_resource_object_relationships.rb +219 -0
  124. data/lib/klaviyo-api-sdk/models/catalog_variant_create_query_resource_object_relationships_item.rb +224 -0
  125. data/lib/klaviyo-api-sdk/models/catalog_variant_delete_job_create_query.rb +1 -1
  126. data/lib/klaviyo-api-sdk/models/catalog_variant_delete_job_create_query_resource_object.rb +1 -1
  127. data/lib/klaviyo-api-sdk/models/catalog_variant_delete_job_create_query_resource_object_attributes.rb +3 -6
  128. data/lib/klaviyo-api-sdk/models/catalog_variant_delete_job_create_query_resource_object_attributes_variants.rb +227 -0
  129. data/lib/klaviyo-api-sdk/models/catalog_variant_delete_query_resource_object.rb +1 -1
  130. data/lib/klaviyo-api-sdk/models/catalog_variant_enum.rb +1 -1
  131. data/lib/klaviyo-api-sdk/models/catalog_variant_update_job_create_query.rb +1 -1
  132. data/lib/klaviyo-api-sdk/models/catalog_variant_update_job_create_query_resource_object.rb +1 -1
  133. data/lib/klaviyo-api-sdk/models/catalog_variant_update_job_create_query_resource_object_attributes.rb +3 -6
  134. data/lib/klaviyo-api-sdk/models/catalog_variant_update_job_create_query_resource_object_attributes_variants.rb +227 -0
  135. data/lib/klaviyo-api-sdk/models/catalog_variant_update_query.rb +1 -1
  136. data/lib/klaviyo-api-sdk/models/catalog_variant_update_query_resource_object.rb +1 -1
  137. data/lib/klaviyo-api-sdk/models/catalog_variant_update_query_resource_object_attributes.rb +1 -1
  138. data/lib/klaviyo-api-sdk/models/data_privacy_create_deletion_job_query.rb +1 -1
  139. data/lib/klaviyo-api-sdk/models/data_privacy_create_deletion_job_query_resource_object.rb +1 -1
  140. data/lib/klaviyo-api-sdk/models/data_privacy_create_deletion_job_query_resource_object_attributes.rb +13 -29
  141. data/lib/klaviyo-api-sdk/models/data_privacy_create_deletion_job_query_resource_object_attributes_profile.rb +224 -0
  142. data/lib/klaviyo-api-sdk/models/data_privacy_deletion_job_enum.rb +1 -1
  143. data/lib/klaviyo-api-sdk/models/data_privacy_profile_query_resource_object.rb +248 -0
  144. data/lib/klaviyo-api-sdk/models/data_privacy_profile_query_resource_object_attributes.rb +230 -0
  145. data/lib/klaviyo-api-sdk/models/{content_sub_object.rb → email_content_sub_object.rb} +19 -39
  146. data/lib/klaviyo-api-sdk/models/email_send_options_sub_object.rb +220 -0
  147. data/lib/klaviyo-api-sdk/models/{tracking_options_sub_object.rb → email_tracking_options_sub_object.rb} +18 -18
  148. data/lib/klaviyo-api-sdk/models/{event_create_query.rb → event_create_query_v2.rb} +5 -5
  149. data/lib/klaviyo-api-sdk/models/{event_create_query_resource_object.rb → event_create_query_v2_resource_object.rb} +5 -5
  150. data/lib/klaviyo-api-sdk/models/{event_create_query_resource_object_attributes.rb → event_create_query_v2_resource_object_attributes.rb} +6 -7
  151. data/lib/klaviyo-api-sdk/models/event_create_query_v2_resource_object_attributes_metric.rb +224 -0
  152. data/lib/klaviyo-api-sdk/models/event_create_query_v2_resource_object_attributes_profile.rb +224 -0
  153. data/lib/klaviyo-api-sdk/models/event_enum.rb +1 -1
  154. data/lib/klaviyo-api-sdk/models/flow_enum.rb +1 -1
  155. data/lib/klaviyo-api-sdk/models/flow_update_query.rb +1 -1
  156. data/lib/klaviyo-api-sdk/models/flow_update_query_resource_object.rb +1 -1
  157. data/lib/klaviyo-api-sdk/models/flow_update_query_resource_object_attributes.rb +1 -1
  158. data/lib/klaviyo-api-sdk/models/get_create_variants_jobs5_xx_response.rb +1 -1
  159. data/lib/klaviyo-api-sdk/models/get_create_variants_jobs5_xx_response_errors_inner.rb +1 -1
  160. data/lib/klaviyo-api-sdk/models/get_create_variants_jobs5_xx_response_errors_inner_source.rb +1 -1
  161. data/lib/klaviyo-api-sdk/models/list_create_query.rb +1 -1
  162. data/lib/klaviyo-api-sdk/models/list_create_query_resource_object.rb +1 -1
  163. data/lib/klaviyo-api-sdk/models/list_create_query_resource_object_attributes.rb +1 -1
  164. data/lib/klaviyo-api-sdk/models/list_enum.rb +1 -1
  165. data/lib/klaviyo-api-sdk/models/list_members_add_query.rb +1 -1
  166. data/lib/klaviyo-api-sdk/models/list_members_add_query_data_inner.rb +1 -1
  167. data/lib/klaviyo-api-sdk/models/list_members_delete_query.rb +1 -1
  168. data/lib/klaviyo-api-sdk/models/list_partial_update_query.rb +1 -1
  169. data/lib/klaviyo-api-sdk/models/list_partial_update_query_resource_object.rb +1 -1
  170. data/lib/klaviyo-api-sdk/models/metric_aggregate_enum.rb +1 -1
  171. data/lib/klaviyo-api-sdk/models/metric_aggregate_query.rb +1 -1
  172. data/lib/klaviyo-api-sdk/models/metric_aggregate_query_resource_object.rb +1 -1
  173. data/lib/klaviyo-api-sdk/models/metric_aggregate_query_resource_object_attributes.rb +3 -6
  174. data/lib/klaviyo-api-sdk/models/{unsubscription_create_job_create_query_resource_object.rb → metric_create_query_resource_object.rb} +6 -6
  175. data/lib/klaviyo-api-sdk/models/{metric_create_query.rb → metric_create_query_resource_object_attributes.rb} +4 -4
  176. data/lib/klaviyo-api-sdk/models/{profile_unsubscription_bulk_create_job_enum.rb → metric_enum.rb} +5 -5
  177. data/lib/klaviyo-api-sdk/models/onsite_profile_create_query_resource_object.rb +257 -0
  178. data/lib/klaviyo-api-sdk/models/onsite_profile_create_query_resource_object_attributes.rb +328 -0
  179. data/lib/klaviyo-api-sdk/models/onsite_profile_meta.rb +219 -0
  180. data/lib/klaviyo-api-sdk/models/profile_create_query.rb +1 -1
  181. data/lib/klaviyo-api-sdk/models/profile_create_query_resource_object.rb +1 -1
  182. data/lib/klaviyo-api-sdk/models/profile_create_query_resource_object_attributes.rb +1 -1
  183. data/lib/klaviyo-api-sdk/models/profile_enum.rb +1 -1
  184. data/lib/klaviyo-api-sdk/models/profile_identifier_dto_resource_object.rb +248 -0
  185. data/lib/klaviyo-api-sdk/models/profile_identifier_dto_resource_object_attributes.rb +249 -0
  186. data/lib/klaviyo-api-sdk/models/profile_location.rb +1 -1
  187. data/lib/klaviyo-api-sdk/models/profile_location_latitude.rb +1 -1
  188. data/lib/klaviyo-api-sdk/models/profile_location_longitude.rb +1 -1
  189. data/lib/klaviyo-api-sdk/models/profile_meta.rb +219 -0
  190. data/lib/klaviyo-api-sdk/models/{tag_create_query_resource_object_attributes.rb → profile_meta_patch_properties.rb} +28 -24
  191. data/lib/klaviyo-api-sdk/models/profile_meta_patch_properties_unset.rb +106 -0
  192. data/lib/klaviyo-api-sdk/models/profile_partial_update_query.rb +1 -1
  193. data/lib/klaviyo-api-sdk/models/profile_partial_update_query_resource_object.rb +11 -2
  194. data/lib/klaviyo-api-sdk/models/profile_partial_update_query_resource_object_attributes.rb +1 -1
  195. data/lib/klaviyo-api-sdk/models/profile_subscription_bulk_create_job_enum.rb +1 -1
  196. data/lib/klaviyo-api-sdk/models/profile_subscription_bulk_delete_job_enum.rb +36 -0
  197. data/lib/klaviyo-api-sdk/models/profile_subscription_create_query_resource_object.rb +248 -0
  198. data/lib/klaviyo-api-sdk/models/{subscription.rb → profile_subscription_create_query_resource_object_attributes.rb} +17 -27
  199. data/lib/klaviyo-api-sdk/models/profile_subscription_delete_query_resource_object.rb +238 -0
  200. data/lib/klaviyo-api-sdk/models/profile_subscription_delete_query_resource_object_attributes.rb +230 -0
  201. data/lib/klaviyo-api-sdk/models/profile_suppression_bulk_create_job_enum.rb +1 -1
  202. data/lib/klaviyo-api-sdk/models/profile_suppression_bulk_delete_job_enum.rb +36 -0
  203. data/lib/klaviyo-api-sdk/models/profile_suppression_create_query_resource_object.rb +238 -0
  204. data/lib/klaviyo-api-sdk/models/{suppression.rb → profile_suppression_create_query_resource_object_attributes.rb} +5 -10
  205. data/lib/klaviyo-api-sdk/models/profile_suppression_delete_query_resource_object.rb +238 -0
  206. data/lib/klaviyo-api-sdk/models/profile_suppression_delete_query_resource_object_attributes.rb +220 -0
  207. data/lib/klaviyo-api-sdk/models/render_options_sub_object.rb +261 -0
  208. data/lib/klaviyo-api-sdk/models/segment_enum.rb +1 -1
  209. data/lib/klaviyo-api-sdk/models/segment_partial_update_query.rb +1 -1
  210. data/lib/klaviyo-api-sdk/models/segment_partial_update_query_resource_object.rb +1 -1
  211. data/lib/klaviyo-api-sdk/models/segment_partial_update_query_resource_object_attributes.rb +1 -1
  212. data/lib/klaviyo-api-sdk/models/send_strategy_sub_object.rb +1 -1
  213. data/lib/klaviyo-api-sdk/models/{unsuppression_create_job_create_query.rb → server_bis_subscription_create_query.rb} +5 -5
  214. data/lib/klaviyo-api-sdk/models/server_bis_subscription_create_query_resource_object.rb +247 -0
  215. data/lib/klaviyo-api-sdk/models/{unsubscription_create_job_create_query_resource_object_attributes.rb → server_bis_subscription_create_query_resource_object_attributes.rb} +46 -32
  216. data/lib/klaviyo-api-sdk/models/server_bis_subscription_create_query_resource_object_attributes_profile.rb +224 -0
  217. data/lib/klaviyo-api-sdk/models/server_bis_subscription_create_query_resource_object_relationships.rb +219 -0
  218. data/lib/klaviyo-api-sdk/models/server_bis_subscription_create_query_resource_object_relationships_variant.rb +224 -0
  219. data/lib/klaviyo-api-sdk/models/server_bis_subscription_create_query_resource_object_relationships_variant_data.rb +272 -0
  220. data/lib/klaviyo-api-sdk/models/sms_content_sub_object_create.rb +220 -0
  221. data/lib/klaviyo-api-sdk/models/{send_options_sub_object.rb → sms_send_options_sub_object.rb} +4 -4
  222. data/lib/klaviyo-api-sdk/models/{unsuppression_create_job_create_query_resource_object_attributes.rb → sms_tracking_options_sub_object.rb} +23 -18
  223. data/lib/klaviyo-api-sdk/models/static_schedule_options.rb +1 -1
  224. data/lib/klaviyo-api-sdk/models/sto_schedule_options.rb +1 -1
  225. data/lib/klaviyo-api-sdk/models/subscription_channels.rb +1 -1
  226. data/lib/klaviyo-api-sdk/models/subscription_create_job_create_query.rb +1 -1
  227. data/lib/klaviyo-api-sdk/models/subscription_create_job_create_query_resource_object.rb +11 -2
  228. data/lib/klaviyo-api-sdk/models/subscription_create_job_create_query_resource_object_attributes.rb +14 -32
  229. data/lib/klaviyo-api-sdk/models/subscription_create_job_create_query_resource_object_attributes_profiles.rb +227 -0
  230. data/lib/klaviyo-api-sdk/models/{unsubscription_create_job_create_query.rb → subscription_delete_job_create_query.rb} +5 -5
  231. data/lib/klaviyo-api-sdk/models/subscription_delete_job_create_query_resource_object.rb +247 -0
  232. data/lib/klaviyo-api-sdk/models/subscription_delete_job_create_query_resource_object_attributes.rb +224 -0
  233. data/lib/klaviyo-api-sdk/models/subscription_delete_job_create_query_resource_object_attributes_profiles.rb +227 -0
  234. data/lib/klaviyo-api-sdk/models/subscription_delete_job_create_query_resource_object_relationships.rb +219 -0
  235. data/lib/klaviyo-api-sdk/models/subscription_delete_job_create_query_resource_object_relationships_list.rb +224 -0
  236. data/lib/klaviyo-api-sdk/models/subscription_delete_job_create_query_resource_object_relationships_list_data.rb +272 -0
  237. data/lib/klaviyo-api-sdk/models/suppression_create_job_create_query.rb +1 -1
  238. data/lib/klaviyo-api-sdk/models/suppression_create_job_create_query_resource_object.rb +1 -1
  239. data/lib/klaviyo-api-sdk/models/suppression_create_job_create_query_resource_object_attributes.rb +11 -14
  240. data/lib/klaviyo-api-sdk/models/suppression_create_job_create_query_resource_object_attributes_profiles.rb +227 -0
  241. data/lib/klaviyo-api-sdk/models/suppression_delete_job_create_query.rb +224 -0
  242. data/lib/klaviyo-api-sdk/models/suppression_delete_job_create_query_resource_object.rb +238 -0
  243. data/lib/klaviyo-api-sdk/models/suppression_delete_job_create_query_resource_object_attributes.rb +224 -0
  244. data/lib/klaviyo-api-sdk/models/suppression_delete_job_create_query_resource_object_attributes_profiles.rb +227 -0
  245. data/lib/klaviyo-api-sdk/models/tag_campaign_op.rb +1 -1
  246. data/lib/klaviyo-api-sdk/models/tag_campaign_op_data_inner.rb +1 -1
  247. data/lib/klaviyo-api-sdk/models/tag_create_query.rb +1 -1
  248. data/lib/klaviyo-api-sdk/models/tag_create_query_resource_object.rb +12 -3
  249. data/lib/klaviyo-api-sdk/models/tag_create_query_resource_object_relationships.rb +219 -0
  250. data/lib/klaviyo-api-sdk/models/tag_create_query_resource_object_relationships_tag_group.rb +224 -0
  251. data/lib/klaviyo-api-sdk/models/tag_create_query_resource_object_relationships_tag_group_data.rb +272 -0
  252. data/lib/klaviyo-api-sdk/models/tag_enum.rb +1 -1
  253. data/lib/klaviyo-api-sdk/models/tag_flow_op.rb +1 -1
  254. data/lib/klaviyo-api-sdk/models/tag_flow_op_data_inner.rb +1 -1
  255. data/lib/klaviyo-api-sdk/models/tag_group_create_query.rb +1 -1
  256. data/lib/klaviyo-api-sdk/models/tag_group_create_query_resource_object.rb +1 -1
  257. data/lib/klaviyo-api-sdk/models/tag_group_create_query_resource_object_attributes.rb +1 -1
  258. data/lib/klaviyo-api-sdk/models/tag_group_enum.rb +1 -1
  259. data/lib/klaviyo-api-sdk/models/tag_group_update_query.rb +1 -1
  260. data/lib/klaviyo-api-sdk/models/tag_group_update_query_resource_object.rb +1 -1
  261. data/lib/klaviyo-api-sdk/models/tag_group_update_query_resource_object_attributes.rb +1 -1
  262. data/lib/klaviyo-api-sdk/models/tag_list_op.rb +1 -1
  263. data/lib/klaviyo-api-sdk/models/tag_list_op_data_inner.rb +1 -1
  264. data/lib/klaviyo-api-sdk/models/tag_segment_op.rb +1 -1
  265. data/lib/klaviyo-api-sdk/models/tag_segment_op_data_inner.rb +1 -1
  266. data/lib/klaviyo-api-sdk/models/tag_update_query.rb +1 -1
  267. data/lib/klaviyo-api-sdk/models/tag_update_query_resource_object.rb +1 -1
  268. data/lib/klaviyo-api-sdk/models/tag_update_query_resource_object_attributes.rb +1 -1
  269. data/lib/klaviyo-api-sdk/models/template_clone_query.rb +1 -1
  270. data/lib/klaviyo-api-sdk/models/template_clone_query_resource_object.rb +1 -1
  271. data/lib/klaviyo-api-sdk/models/template_clone_query_resource_object_attributes.rb +2 -14
  272. data/lib/klaviyo-api-sdk/models/template_create_query.rb +1 -1
  273. data/lib/klaviyo-api-sdk/models/template_create_query_resource_object.rb +1 -1
  274. data/lib/klaviyo-api-sdk/models/template_create_query_resource_object_attributes.rb +2 -14
  275. data/lib/klaviyo-api-sdk/models/template_enum.rb +1 -1
  276. data/lib/klaviyo-api-sdk/models/template_render_query.rb +1 -1
  277. data/lib/klaviyo-api-sdk/models/template_render_query_resource_object.rb +1 -1
  278. data/lib/klaviyo-api-sdk/models/template_render_query_resource_object_attributes.rb +2 -14
  279. data/lib/klaviyo-api-sdk/models/template_update_query.rb +1 -1
  280. data/lib/klaviyo-api-sdk/models/template_update_query_resource_object.rb +1 -1
  281. data/lib/klaviyo-api-sdk/models/template_update_query_resource_object_attributes.rb +5 -17
  282. data/lib/klaviyo-api-sdk/models/throttled_schedule_options.rb +1 -1
  283. data/lib/klaviyo-api-sdk/models/utm_params_sub_object.rb +1 -1
  284. data/lib/klaviyo-api-sdk/version.rb +1 -1
  285. data/lib/klaviyo-api-sdk.rb +81 -19
  286. metadata +82 -20
@@ -0,0 +1,247 @@
1
+ =begin
2
+ #Klaviyo API
3
+
4
+ #The Klaviyo REST API. Please visit https://developers.klaviyo.com for more details.
5
+
6
+ The version of the OpenAPI document: 2023-07-15
7
+ Contact: developers@klaviyo.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.2.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module KlaviyoAPI
17
+ class ServerBISSubscriptionCreateQueryResourceObject
18
+ attr_accessor :relationships
19
+
20
+ attr_accessor :attributes
21
+
22
+ attr_accessor :type
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'relationships' => :'relationships',
28
+ :'attributes' => :'attributes',
29
+ :'type' => :'type'
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
+ :'relationships' => :'ServerBISSubscriptionCreateQueryResourceObjectRelationships',
42
+ :'attributes' => :'ServerBISSubscriptionCreateQueryResourceObjectAttributes',
43
+ :'type' => :'BackInStockSubscriptionEnum'
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::ServerBISSubscriptionCreateQueryResourceObject` 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::ServerBISSubscriptionCreateQueryResourceObject`. 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?(:'relationships')
69
+ self.relationships = attributes[:'relationships']
70
+ end
71
+
72
+ if attributes.key?(:'attributes')
73
+ self.attributes = attributes[:'attributes']
74
+ end
75
+
76
+ if attributes.key?(:'type')
77
+ self.type = attributes[:'type']
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 @attributes.nil?
86
+ invalid_properties.push('invalid value for "attributes", attributes cannot be nil.')
87
+ end
88
+
89
+ if @type.nil?
90
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
91
+ end
92
+
93
+ invalid_properties
94
+ end
95
+
96
+ # Check to see if the all the properties in the model are valid
97
+ # @return true if the model is valid
98
+ def valid?
99
+ return false if @attributes.nil?
100
+ return false if @type.nil?
101
+ true
102
+ end
103
+
104
+ # Checks equality by comparing each attribute.
105
+ # @param [Object] Object to be compared
106
+ def ==(o)
107
+ return true if self.equal?(o)
108
+ self.class == o.class &&
109
+ relationships == o.relationships &&
110
+ attributes == o.attributes &&
111
+ type == o.type
112
+ end
113
+
114
+ # @see the `==` method
115
+ # @param [Object] Object to be compared
116
+ def eql?(o)
117
+ self == o
118
+ end
119
+
120
+ # Calculates hash code according to all attributes.
121
+ # @return [Integer] Hash code
122
+ def hash
123
+ [relationships, attributes, type].hash
124
+ end
125
+
126
+ # Builds the object from hash
127
+ # @param [Hash] attributes Model attributes in the form of hash
128
+ # @return [Object] Returns the model itself
129
+ def self.build_from_hash(attributes)
130
+ new.build_from_hash(attributes)
131
+ end
132
+
133
+ # Builds the object from hash
134
+ # @param [Hash] attributes Model attributes in the form of hash
135
+ # @return [Object] Returns the model itself
136
+ def build_from_hash(attributes)
137
+ return nil unless attributes.is_a?(Hash)
138
+ attributes = attributes.transform_keys(&:to_sym)
139
+ self.class.openapi_types.each_pair do |key, type|
140
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
141
+ self.send("#{key}=", nil)
142
+ elsif type =~ /\AArray<(.*)>/i
143
+ # check to ensure the input is an array given that the attribute
144
+ # is documented as an array but the input is not
145
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
146
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
147
+ end
148
+ elsif !attributes[self.class.attribute_map[key]].nil?
149
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
150
+ end
151
+ end
152
+
153
+ self
154
+ end
155
+
156
+ # Deserializes the data based on type
157
+ # @param string type Data type
158
+ # @param string value Value to be deserialized
159
+ # @return [Object] Deserialized data
160
+ def _deserialize(type, value)
161
+ case type.to_sym
162
+ when :Time
163
+ Time.parse(value)
164
+ when :Date
165
+ Date.parse(value)
166
+ when :String
167
+ value.to_s
168
+ when :Integer
169
+ value.to_i
170
+ when :Float
171
+ value.to_f
172
+ when :Boolean
173
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
174
+ true
175
+ else
176
+ false
177
+ end
178
+ when :Object
179
+ # generic object (usually a Hash), return directly
180
+ value
181
+ when /\AArray<(?<inner_type>.+)>\z/
182
+ inner_type = Regexp.last_match[:inner_type]
183
+ value.map { |v| _deserialize(inner_type, v) }
184
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
185
+ k_type = Regexp.last_match[:k_type]
186
+ v_type = Regexp.last_match[:v_type]
187
+ {}.tap do |hash|
188
+ value.each do |k, v|
189
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
190
+ end
191
+ end
192
+ else # model
193
+ # models (e.g. Pet) or oneOf
194
+ klass = KlaviyoAPI.const_get(type)
195
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
196
+ end
197
+ end
198
+
199
+ # Returns the string representation of the object
200
+ # @return [String] String presentation of the object
201
+ def to_s
202
+ to_hash.to_s
203
+ end
204
+
205
+ # to_body is an alias to to_hash (backward compatibility)
206
+ # @return [Hash] Returns the object in the form of hash
207
+ def to_body
208
+ to_hash
209
+ end
210
+
211
+ # Returns the object in the form of hash
212
+ # @return [Hash] Returns the object in the form of hash
213
+ def to_hash
214
+ hash = {}
215
+ self.class.attribute_map.each_pair do |attr, param|
216
+ value = self.send(attr)
217
+ if value.nil?
218
+ is_nullable = self.class.openapi_nullable.include?(attr)
219
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
220
+ end
221
+
222
+ hash[param] = _to_hash(value)
223
+ end
224
+ hash
225
+ end
226
+
227
+ # Outputs non-array value in the form of hash
228
+ # For object, use to_hash. Otherwise, just return the value
229
+ # @param [Object] value Any valid value
230
+ # @return [Hash] Returns the value in the form of hash
231
+ def _to_hash(value)
232
+ if value.is_a?(Array)
233
+ value.compact.map { |v| _to_hash(v) }
234
+ elsif value.is_a?(Hash)
235
+ {}.tap do |hash|
236
+ value.each { |k, v| hash[k] = _to_hash(v) }
237
+ end
238
+ elsif value.respond_to? :to_hash
239
+ value.to_hash
240
+ else
241
+ value
242
+ end
243
+ end
244
+
245
+ end
246
+
247
+ end
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The Klaviyo REST API. Please visit https://developers.klaviyo.com for more details.
5
5
 
6
- The version of the OpenAPI document: 2023-06-15
6
+ The version of the OpenAPI document: 2023-07-15
7
7
  Contact: developers@klaviyo.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.2.1
@@ -14,22 +14,39 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module KlaviyoAPI
17
- class UnsubscriptionCreateJobCreateQueryResourceObjectAttributes
18
- # The phone numbers to unsubscribe if any.
19
- attr_accessor :phone_numbers
20
-
21
- # The emails to unsubscribe if any.
22
- attr_accessor :emails
17
+ class ServerBISSubscriptionCreateQueryResourceObjectAttributes
18
+ # The channel(s) through which the profile would like to receive the back in stock notification. This can be leveraged within a back in stock flow to notify the subscriber through their preferred channel(s).
19
+ attr_accessor :channels
20
+
21
+ attr_accessor :profile
22
+
23
+ class EnumAttributeValidator
24
+ attr_reader :datatype
25
+ attr_reader :allowable_values
26
+
27
+ def initialize(datatype, allowable_values)
28
+ @allowable_values = allowable_values.map do |value|
29
+ case datatype.to_s
30
+ when /Integer/i
31
+ value.to_i
32
+ when /Float/i
33
+ value.to_f
34
+ else
35
+ value
36
+ end
37
+ end
38
+ end
23
39
 
24
- # Optional, the list to remove the profiles from
25
- attr_accessor :list_id
40
+ def valid?(value)
41
+ !value || allowable_values.include?(value)
42
+ end
43
+ end
26
44
 
27
45
  # Attribute mapping from ruby-style variable name to JSON key.
28
46
  def self.attribute_map
29
47
  {
30
- :'phone_numbers' => :'phone_numbers',
31
- :'emails' => :'emails',
32
- :'list_id' => :'list_id'
48
+ :'channels' => :'channels',
49
+ :'profile' => :'profile'
33
50
  }
34
51
  end
35
52
 
@@ -41,9 +58,8 @@ module KlaviyoAPI
41
58
  # Attribute type mapping.
42
59
  def self.openapi_types
43
60
  {
44
- :'phone_numbers' => :'Array<String>',
45
- :'emails' => :'Array<String>',
46
- :'list_id' => :'String'
61
+ :'channels' => :'Array<String>',
62
+ :'profile' => :'ServerBISSubscriptionCreateQueryResourceObjectAttributesProfile'
47
63
  }
48
64
  end
49
65
 
@@ -57,31 +73,25 @@ module KlaviyoAPI
57
73
  # @param [Hash] attributes Model attributes in the form of hash
58
74
  def initialize(attributes = {})
59
75
  if (!attributes.is_a?(Hash))
60
- fail ArgumentError, "The input argument (attributes) must be a hash in `KlaviyoAPI::UnsubscriptionCreateJobCreateQueryResourceObjectAttributes` initialize method"
76
+ fail ArgumentError, "The input argument (attributes) must be a hash in `KlaviyoAPI::ServerBISSubscriptionCreateQueryResourceObjectAttributes` initialize method"
61
77
  end
62
78
 
63
79
  # check to see if the attribute exists and convert string to symbol for hash key
64
80
  attributes = attributes.each_with_object({}) { |(k, v), h|
65
81
  if (!self.class.attribute_map.key?(k.to_sym))
66
- fail ArgumentError, "`#{k}` is not a valid attribute in `KlaviyoAPI::UnsubscriptionCreateJobCreateQueryResourceObjectAttributes`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
82
+ fail ArgumentError, "`#{k}` is not a valid attribute in `KlaviyoAPI::ServerBISSubscriptionCreateQueryResourceObjectAttributes`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
67
83
  end
68
84
  h[k.to_sym] = v
69
85
  }
70
86
 
71
- if attributes.key?(:'phone_numbers')
72
- if (value = attributes[:'phone_numbers']).is_a?(Array)
73
- self.phone_numbers = value
87
+ if attributes.key?(:'channels')
88
+ if (value = attributes[:'channels']).is_a?(Array)
89
+ self.channels = value
74
90
  end
75
91
  end
76
92
 
77
- if attributes.key?(:'emails')
78
- if (value = attributes[:'emails']).is_a?(Array)
79
- self.emails = value
80
- end
81
- end
82
-
83
- if attributes.key?(:'list_id')
84
- self.list_id = attributes[:'list_id']
93
+ if attributes.key?(:'profile')
94
+ self.profile = attributes[:'profile']
85
95
  end
86
96
  end
87
97
 
@@ -89,12 +99,17 @@ module KlaviyoAPI
89
99
  # @return Array for valid properties with the reasons
90
100
  def list_invalid_properties
91
101
  invalid_properties = Array.new
102
+ if @channels.nil?
103
+ invalid_properties.push('invalid value for "channels", channels cannot be nil.')
104
+ end
105
+
92
106
  invalid_properties
93
107
  end
94
108
 
95
109
  # Check to see if the all the properties in the model are valid
96
110
  # @return true if the model is valid
97
111
  def valid?
112
+ return false if @channels.nil?
98
113
  true
99
114
  end
100
115
 
@@ -103,9 +118,8 @@ module KlaviyoAPI
103
118
  def ==(o)
104
119
  return true if self.equal?(o)
105
120
  self.class == o.class &&
106
- phone_numbers == o.phone_numbers &&
107
- emails == o.emails &&
108
- list_id == o.list_id
121
+ channels == o.channels &&
122
+ profile == o.profile
109
123
  end
110
124
 
111
125
  # @see the `==` method
@@ -117,7 +131,7 @@ module KlaviyoAPI
117
131
  # Calculates hash code according to all attributes.
118
132
  # @return [Integer] Hash code
119
133
  def hash
120
- [phone_numbers, emails, list_id].hash
134
+ [channels, profile].hash
121
135
  end
122
136
 
123
137
  # Builds the object from hash
@@ -0,0 +1,224 @@
1
+ =begin
2
+ #Klaviyo API
3
+
4
+ #The Klaviyo REST API. Please visit https://developers.klaviyo.com for more details.
5
+
6
+ The version of the OpenAPI document: 2023-07-15
7
+ Contact: developers@klaviyo.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.2.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module KlaviyoAPI
17
+ class ServerBISSubscriptionCreateQueryResourceObjectAttributesProfile
18
+ attr_accessor :data
19
+
20
+ # Attribute mapping from ruby-style variable name to JSON key.
21
+ def self.attribute_map
22
+ {
23
+ :'data' => :'data'
24
+ }
25
+ end
26
+
27
+ # Returns all the JSON keys this model knows about
28
+ def self.acceptable_attributes
29
+ attribute_map.values
30
+ end
31
+
32
+ # Attribute type mapping.
33
+ def self.openapi_types
34
+ {
35
+ :'data' => :'ProfileIdentifierDTOResourceObject'
36
+ }
37
+ end
38
+
39
+ # List of attributes with nullable: true
40
+ def self.openapi_nullable
41
+ Set.new([
42
+ ])
43
+ end
44
+
45
+ # Initializes the object
46
+ # @param [Hash] attributes Model attributes in the form of hash
47
+ def initialize(attributes = {})
48
+ if (!attributes.is_a?(Hash))
49
+ fail ArgumentError, "The input argument (attributes) must be a hash in `KlaviyoAPI::ServerBISSubscriptionCreateQueryResourceObjectAttributesProfile` initialize method"
50
+ end
51
+
52
+ # check to see if the attribute exists and convert string to symbol for hash key
53
+ attributes = attributes.each_with_object({}) { |(k, v), h|
54
+ if (!self.class.attribute_map.key?(k.to_sym))
55
+ fail ArgumentError, "`#{k}` is not a valid attribute in `KlaviyoAPI::ServerBISSubscriptionCreateQueryResourceObjectAttributesProfile`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
56
+ end
57
+ h[k.to_sym] = v
58
+ }
59
+
60
+ if attributes.key?(:'data')
61
+ self.data = attributes[:'data']
62
+ end
63
+ end
64
+
65
+ # Show invalid properties with the reasons. Usually used together with valid?
66
+ # @return Array for valid properties with the reasons
67
+ def list_invalid_properties
68
+ invalid_properties = Array.new
69
+ if @data.nil?
70
+ invalid_properties.push('invalid value for "data", data cannot be nil.')
71
+ end
72
+
73
+ invalid_properties
74
+ end
75
+
76
+ # Check to see if the all the properties in the model are valid
77
+ # @return true if the model is valid
78
+ def valid?
79
+ return false if @data.nil?
80
+ true
81
+ end
82
+
83
+ # Checks equality by comparing each attribute.
84
+ # @param [Object] Object to be compared
85
+ def ==(o)
86
+ return true if self.equal?(o)
87
+ self.class == o.class &&
88
+ data == o.data
89
+ end
90
+
91
+ # @see the `==` method
92
+ # @param [Object] Object to be compared
93
+ def eql?(o)
94
+ self == o
95
+ end
96
+
97
+ # Calculates hash code according to all attributes.
98
+ # @return [Integer] Hash code
99
+ def hash
100
+ [data].hash
101
+ end
102
+
103
+ # Builds the object from hash
104
+ # @param [Hash] attributes Model attributes in the form of hash
105
+ # @return [Object] Returns the model itself
106
+ def self.build_from_hash(attributes)
107
+ new.build_from_hash(attributes)
108
+ end
109
+
110
+ # Builds the object from hash
111
+ # @param [Hash] attributes Model attributes in the form of hash
112
+ # @return [Object] Returns the model itself
113
+ def build_from_hash(attributes)
114
+ return nil unless attributes.is_a?(Hash)
115
+ attributes = attributes.transform_keys(&:to_sym)
116
+ self.class.openapi_types.each_pair do |key, type|
117
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
118
+ self.send("#{key}=", nil)
119
+ elsif type =~ /\AArray<(.*)>/i
120
+ # check to ensure the input is an array given that the attribute
121
+ # is documented as an array but the input is not
122
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
123
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
124
+ end
125
+ elsif !attributes[self.class.attribute_map[key]].nil?
126
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
127
+ end
128
+ end
129
+
130
+ self
131
+ end
132
+
133
+ # Deserializes the data based on type
134
+ # @param string type Data type
135
+ # @param string value Value to be deserialized
136
+ # @return [Object] Deserialized data
137
+ def _deserialize(type, value)
138
+ case type.to_sym
139
+ when :Time
140
+ Time.parse(value)
141
+ when :Date
142
+ Date.parse(value)
143
+ when :String
144
+ value.to_s
145
+ when :Integer
146
+ value.to_i
147
+ when :Float
148
+ value.to_f
149
+ when :Boolean
150
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
151
+ true
152
+ else
153
+ false
154
+ end
155
+ when :Object
156
+ # generic object (usually a Hash), return directly
157
+ value
158
+ when /\AArray<(?<inner_type>.+)>\z/
159
+ inner_type = Regexp.last_match[:inner_type]
160
+ value.map { |v| _deserialize(inner_type, v) }
161
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
162
+ k_type = Regexp.last_match[:k_type]
163
+ v_type = Regexp.last_match[:v_type]
164
+ {}.tap do |hash|
165
+ value.each do |k, v|
166
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
167
+ end
168
+ end
169
+ else # model
170
+ # models (e.g. Pet) or oneOf
171
+ klass = KlaviyoAPI.const_get(type)
172
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
173
+ end
174
+ end
175
+
176
+ # Returns the string representation of the object
177
+ # @return [String] String presentation of the object
178
+ def to_s
179
+ to_hash.to_s
180
+ end
181
+
182
+ # to_body is an alias to to_hash (backward compatibility)
183
+ # @return [Hash] Returns the object in the form of hash
184
+ def to_body
185
+ to_hash
186
+ end
187
+
188
+ # Returns the object in the form of hash
189
+ # @return [Hash] Returns the object in the form of hash
190
+ def to_hash
191
+ hash = {}
192
+ self.class.attribute_map.each_pair do |attr, param|
193
+ value = self.send(attr)
194
+ if value.nil?
195
+ is_nullable = self.class.openapi_nullable.include?(attr)
196
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
197
+ end
198
+
199
+ hash[param] = _to_hash(value)
200
+ end
201
+ hash
202
+ end
203
+
204
+ # Outputs non-array value in the form of hash
205
+ # For object, use to_hash. Otherwise, just return the value
206
+ # @param [Object] value Any valid value
207
+ # @return [Hash] Returns the value in the form of hash
208
+ def _to_hash(value)
209
+ if value.is_a?(Array)
210
+ value.compact.map { |v| _to_hash(v) }
211
+ elsif value.is_a?(Hash)
212
+ {}.tap do |hash|
213
+ value.each { |k, v| hash[k] = _to_hash(v) }
214
+ end
215
+ elsif value.respond_to? :to_hash
216
+ value.to_hash
217
+ else
218
+ value
219
+ end
220
+ end
221
+
222
+ end
223
+
224
+ end