klaviyo-api-sdk 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (324) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -0
  3. data/README.md +314 -136
  4. data/docs/CampaignRecipientEstimationJobCreateQuery.md +18 -0
  5. data/docs/CampaignRecipientEstimationJobCreateQueryAsSubResource.md +20 -0
  6. data/docs/CampaignRecipientEstimationJobCreateQueryAsSubResourceAttributes.md +18 -0
  7. data/docs/CampaignTagOp.md +18 -0
  8. data/docs/CampaignTagOpDataInner.md +20 -0
  9. data/docs/CampaignsApi.md +1277 -0
  10. data/docs/CatalogCategoryCreateJobCreateQueryAsSubResourceAttributes.md +1 -1
  11. data/docs/CatalogCategoryCreateQueryAsSubResourceAttributes.md +6 -6
  12. data/docs/CatalogCategoryDeleteJobCreateQueryAsSubResourceAttributes.md +1 -1
  13. data/docs/CatalogCategoryDeleteQueryAsSubResource.md +2 -2
  14. data/docs/CatalogCategoryUpdateJobCreateQueryAsSubResourceAttributes.md +1 -1
  15. data/docs/CatalogCategoryUpdateQueryAsSubResource.md +2 -2
  16. data/docs/CatalogCategoryUpdateQueryAsSubResourceAttributes.md +2 -2
  17. data/docs/CatalogItemCreateJobCreateQueryAsSubResourceAttributes.md +1 -1
  18. data/docs/CatalogItemCreateQueryAsSubResourceAttributes.md +21 -19
  19. data/docs/CatalogItemDeleteJobCreateQueryAsSubResourceAttributes.md +1 -1
  20. data/docs/CatalogItemDeleteQueryAsSubResource.md +2 -2
  21. data/docs/CatalogItemUpdateJobCreateQueryAsSubResourceAttributes.md +1 -1
  22. data/docs/CatalogItemUpdateQueryAsSubResource.md +2 -2
  23. data/docs/CatalogItemUpdateQueryAsSubResourceAttributes.md +18 -16
  24. data/docs/CatalogJobErrorPayload.md +8 -8
  25. data/docs/CatalogVariantCreateJobCreateQueryAsSubResourceAttributes.md +1 -1
  26. data/docs/CatalogVariantCreateQueryAsSubResourceAttributes.md +27 -27
  27. data/docs/CatalogVariantDeleteJobCreateQueryAsSubResourceAttributes.md +1 -1
  28. data/docs/CatalogVariantDeleteQueryAsSubResource.md +2 -2
  29. data/docs/CatalogVariantUpdateJobCreateQueryAsSubResourceAttributes.md +1 -1
  30. data/docs/CatalogVariantUpdateQueryAsSubResource.md +2 -2
  31. data/docs/CatalogVariantUpdateQueryAsSubResourceAttributes.md +22 -22
  32. data/docs/CatalogsApi.md +238 -238
  33. data/docs/ErrorSource.md +1 -1
  34. data/docs/EventsApi.md +26 -26
  35. data/docs/FlowsApi.md +64 -56
  36. data/docs/GetCampaigns4XXResponse.md +18 -0
  37. data/docs/GetCampaigns4XXResponseErrorsInner.md +26 -0
  38. data/docs/GetCampaigns4XXResponseErrorsInnerSource.md +20 -0
  39. data/docs/IncludedCategories.md +2 -2
  40. data/docs/IncludedCategoriesAttributes.md +5 -5
  41. data/docs/IncludedItems.md +2 -2
  42. data/docs/IncludedItemsAttributes.md +22 -20
  43. data/docs/IncludedLists.md +2 -2
  44. data/docs/IncludedListsAttributes.md +4 -4
  45. data/docs/IncludedProfiles.md +2 -2
  46. data/docs/IncludedProfilesAttributes.md +21 -21
  47. data/docs/IncludedSegments.md +1 -1
  48. data/docs/IncludedSegmentsAttributes.md +22 -0
  49. data/docs/IncludedTags.md +24 -0
  50. data/docs/IncludedVariants.md +2 -2
  51. data/docs/IncludedVariantsAttributes.md +28 -28
  52. data/docs/ListCreateQueryAsSubResourceAttributes.md +2 -2
  53. data/docs/ListPartialUpdateQueryAsSubResource.md +2 -2
  54. data/docs/ListsApi.md +30 -30
  55. data/docs/MetricAggregateQueryAsSubResourceAttributes.md +5 -5
  56. data/docs/MetricsApi.md +9 -9
  57. data/docs/OnsiteProfileMetaIdentifiers.md +10 -10
  58. data/docs/ProfileCreateQueryAsSubResourceAttributes.md +18 -18
  59. data/docs/ProfileLocation.md +15 -15
  60. data/docs/ProfileLocationLongitude.md +49 -0
  61. data/docs/ProfilePartialUpdateQueryAsSubResource.md +2 -2
  62. data/docs/ProfilesApi.md +26 -26
  63. data/docs/STOScheduleOptions.md +18 -0
  64. data/docs/SegmentPartialUpdateQueryAsSubResource.md +1 -1
  65. data/docs/SegmentPartialUpdateQueryAsSubResourceAttributes.md +18 -0
  66. data/docs/SegmentsApi.md +19 -19
  67. data/docs/SendOptionsSubObject.md +1 -3
  68. data/docs/SendStrategySubObject.md +4 -2
  69. data/docs/Subscription.md +8 -4
  70. data/docs/SubscriptionChannels.md +20 -0
  71. data/docs/SubscriptionCreateJobCreateQueryAsSubResourceAttributes.md +2 -2
  72. data/docs/Suppression.md +1 -1
  73. data/docs/TagsApi.md +24 -24
  74. data/docs/TemplateCloneQueryAsSubResource.md +0 -2
  75. data/docs/TemplatesApi.md +11 -11
  76. data/docs/ThrottledScheduleOptions.md +1 -1
  77. data/docs/UnsubscriptionCreateJobCreateQueryAsSubResourceAttributes.md +3 -3
  78. data/klaviyo-api-sdk.gemspec +2 -2
  79. data/lib/klaviyo-api-sdk/api/campaigns_api.rb +1275 -0
  80. data/lib/klaviyo-api-sdk/api/catalogs_api.rb +299 -299
  81. data/lib/klaviyo-api-sdk/api/client_api.rb +3 -3
  82. data/lib/klaviyo-api-sdk/api/data_privacy_api.rb +2 -2
  83. data/lib/klaviyo-api-sdk/api/events_api.rb +33 -33
  84. data/lib/klaviyo-api-sdk/api/flows_api.rb +86 -74
  85. data/lib/klaviyo-api-sdk/api/lists_api.rb +39 -39
  86. data/lib/klaviyo-api-sdk/api/metrics_api.rb +14 -14
  87. data/lib/klaviyo-api-sdk/api/profiles_api.rb +34 -34
  88. data/lib/klaviyo-api-sdk/api/segments_api.rb +25 -25
  89. data/lib/klaviyo-api-sdk/api/tags_api.rb +41 -41
  90. data/lib/klaviyo-api-sdk/api/templates_api.rb +18 -18
  91. data/lib/klaviyo-api-sdk/api_client.rb +2 -2
  92. data/lib/klaviyo-api-sdk/api_error.rb +1 -1
  93. data/lib/klaviyo-api-sdk/configuration.rb +1 -1
  94. data/lib/klaviyo-api-sdk/models/audiences_sub_object.rb +1 -1
  95. data/lib/klaviyo-api-sdk/models/campaign_clone_query.rb +1 -1
  96. data/lib/klaviyo-api-sdk/models/campaign_clone_query_as_sub_resource.rb +1 -1
  97. data/lib/klaviyo-api-sdk/models/campaign_clone_query_as_sub_resource_attributes.rb +1 -1
  98. data/lib/klaviyo-api-sdk/models/campaign_create_query.rb +1 -1
  99. data/lib/klaviyo-api-sdk/models/campaign_create_query_as_sub_resource.rb +1 -1
  100. data/lib/klaviyo-api-sdk/models/campaign_create_query_as_sub_resource_attributes.rb +1 -1
  101. data/lib/klaviyo-api-sdk/models/campaign_message_assign_template_query.rb +1 -1
  102. data/lib/klaviyo-api-sdk/models/campaign_message_assign_template_query_as_sub_resource.rb +1 -1
  103. data/lib/klaviyo-api-sdk/models/campaign_message_assign_template_query_as_sub_resource_attributes.rb +1 -1
  104. data/lib/klaviyo-api-sdk/models/campaign_message_partial_update_query.rb +1 -1
  105. data/lib/klaviyo-api-sdk/models/campaign_message_partial_update_query_as_sub_resource.rb +1 -1
  106. data/lib/klaviyo-api-sdk/models/campaign_message_partial_update_query_as_sub_resource_attributes.rb +1 -1
  107. data/lib/klaviyo-api-sdk/models/campaign_partial_update_query.rb +1 -1
  108. data/lib/klaviyo-api-sdk/models/campaign_partial_update_query_as_sub_resource.rb +1 -1
  109. data/lib/klaviyo-api-sdk/models/campaign_partial_update_query_as_sub_resource_attributes.rb +1 -1
  110. data/lib/klaviyo-api-sdk/models/campaign_recipient_estimation_job_create_query.rb +224 -0
  111. data/lib/klaviyo-api-sdk/models/campaign_recipient_estimation_job_create_query_as_sub_resource.rb +272 -0
  112. data/lib/klaviyo-api-sdk/models/campaign_recipient_estimation_job_create_query_as_sub_resource_attributes.rb +225 -0
  113. data/lib/klaviyo-api-sdk/models/campaign_send_job_create_query.rb +1 -1
  114. data/lib/klaviyo-api-sdk/models/campaign_send_job_create_query_as_sub_resource.rb +1 -1
  115. data/lib/klaviyo-api-sdk/models/campaign_send_job_create_query_as_sub_resource_attributes.rb +1 -1
  116. data/lib/klaviyo-api-sdk/models/campaign_send_job_partial_update_query.rb +1 -1
  117. data/lib/klaviyo-api-sdk/models/campaign_send_job_partial_update_query_as_sub_resource.rb +1 -1
  118. data/lib/klaviyo-api-sdk/models/campaign_send_job_partial_update_query_as_sub_resource_attributes.rb +1 -1
  119. data/lib/klaviyo-api-sdk/models/campaign_tag_op.rb +226 -0
  120. data/lib/klaviyo-api-sdk/models/campaign_tag_op_data_inner.rb +272 -0
  121. data/lib/klaviyo-api-sdk/models/catalog_category_create_job_create_query.rb +1 -1
  122. data/lib/klaviyo-api-sdk/models/catalog_category_create_job_create_query_as_sub_resource.rb +1 -1
  123. data/lib/klaviyo-api-sdk/models/catalog_category_create_job_create_query_as_sub_resource_attributes.rb +2 -1
  124. data/lib/klaviyo-api-sdk/models/catalog_category_create_query.rb +1 -1
  125. data/lib/klaviyo-api-sdk/models/catalog_category_create_query_as_sub_resource.rb +1 -1
  126. data/lib/klaviyo-api-sdk/models/catalog_category_create_query_as_sub_resource_attributes.rb +5 -2
  127. data/lib/klaviyo-api-sdk/models/catalog_category_delete_job_create_query.rb +1 -1
  128. data/lib/klaviyo-api-sdk/models/catalog_category_delete_job_create_query_as_sub_resource.rb +1 -1
  129. data/lib/klaviyo-api-sdk/models/catalog_category_delete_job_create_query_as_sub_resource_attributes.rb +2 -1
  130. data/lib/klaviyo-api-sdk/models/catalog_category_delete_query_as_sub_resource.rb +2 -2
  131. data/lib/klaviyo-api-sdk/models/catalog_category_item_op.rb +1 -1
  132. data/lib/klaviyo-api-sdk/models/catalog_category_update_job_create_query.rb +1 -1
  133. data/lib/klaviyo-api-sdk/models/catalog_category_update_job_create_query_as_sub_resource.rb +1 -1
  134. data/lib/klaviyo-api-sdk/models/catalog_category_update_job_create_query_as_sub_resource_attributes.rb +2 -1
  135. data/lib/klaviyo-api-sdk/models/catalog_category_update_query.rb +1 -1
  136. data/lib/klaviyo-api-sdk/models/catalog_category_update_query_as_sub_resource.rb +2 -2
  137. data/lib/klaviyo-api-sdk/models/catalog_category_update_query_as_sub_resource_attributes.rb +2 -1
  138. data/lib/klaviyo-api-sdk/models/catalog_item_category_op.rb +1 -1
  139. data/lib/klaviyo-api-sdk/models/catalog_item_create_job_create_query.rb +1 -1
  140. data/lib/klaviyo-api-sdk/models/catalog_item_create_job_create_query_as_sub_resource.rb +1 -1
  141. data/lib/klaviyo-api-sdk/models/catalog_item_create_job_create_query_as_sub_resource_attributes.rb +2 -1
  142. data/lib/klaviyo-api-sdk/models/catalog_item_create_query.rb +1 -1
  143. data/lib/klaviyo-api-sdk/models/catalog_item_create_query_as_sub_resource.rb +1 -1
  144. data/lib/klaviyo-api-sdk/models/catalog_item_create_query_as_sub_resource_attributes.rb +23 -3
  145. data/lib/klaviyo-api-sdk/models/catalog_item_create_query_as_sub_resource_relationships.rb +1 -1
  146. data/lib/klaviyo-api-sdk/models/catalog_item_create_query_as_sub_resource_relationships_categories.rb +1 -1
  147. data/lib/klaviyo-api-sdk/models/catalog_item_create_query_as_sub_resource_relationships_categories_data_inner.rb +1 -1
  148. data/lib/klaviyo-api-sdk/models/catalog_item_delete_job_create_query.rb +1 -1
  149. data/lib/klaviyo-api-sdk/models/catalog_item_delete_job_create_query_as_sub_resource.rb +1 -1
  150. data/lib/klaviyo-api-sdk/models/catalog_item_delete_job_create_query_as_sub_resource_attributes.rb +2 -1
  151. data/lib/klaviyo-api-sdk/models/catalog_item_delete_query_as_sub_resource.rb +2 -2
  152. data/lib/klaviyo-api-sdk/models/catalog_item_update_job_create_query.rb +1 -1
  153. data/lib/klaviyo-api-sdk/models/catalog_item_update_job_create_query_as_sub_resource.rb +1 -1
  154. data/lib/klaviyo-api-sdk/models/catalog_item_update_job_create_query_as_sub_resource_attributes.rb +2 -1
  155. data/lib/klaviyo-api-sdk/models/catalog_item_update_query.rb +1 -1
  156. data/lib/klaviyo-api-sdk/models/catalog_item_update_query_as_sub_resource.rb +2 -2
  157. data/lib/klaviyo-api-sdk/models/catalog_item_update_query_as_sub_resource_attributes.rb +20 -2
  158. data/lib/klaviyo-api-sdk/models/catalog_job_error_payload.rb +5 -1
  159. data/lib/klaviyo-api-sdk/models/catalog_variant_create_job_create_query.rb +1 -1
  160. data/lib/klaviyo-api-sdk/models/catalog_variant_create_job_create_query_as_sub_resource.rb +1 -1
  161. data/lib/klaviyo-api-sdk/models/catalog_variant_create_job_create_query_as_sub_resource_attributes.rb +2 -1
  162. data/lib/klaviyo-api-sdk/models/catalog_variant_create_query.rb +1 -1
  163. data/lib/klaviyo-api-sdk/models/catalog_variant_create_query_as_sub_resource.rb +1 -1
  164. data/lib/klaviyo-api-sdk/models/catalog_variant_create_query_as_sub_resource_attributes.rb +16 -8
  165. data/lib/klaviyo-api-sdk/models/catalog_variant_create_query_as_sub_resource_relationships.rb +1 -1
  166. data/lib/klaviyo-api-sdk/models/catalog_variant_create_query_as_sub_resource_relationships_items.rb +1 -1
  167. data/lib/klaviyo-api-sdk/models/catalog_variant_create_query_as_sub_resource_relationships_items_data_inner.rb +1 -1
  168. data/lib/klaviyo-api-sdk/models/catalog_variant_delete_job_create_query.rb +1 -1
  169. data/lib/klaviyo-api-sdk/models/catalog_variant_delete_job_create_query_as_sub_resource.rb +1 -1
  170. data/lib/klaviyo-api-sdk/models/catalog_variant_delete_job_create_query_as_sub_resource_attributes.rb +2 -1
  171. data/lib/klaviyo-api-sdk/models/catalog_variant_delete_query_as_sub_resource.rb +2 -2
  172. data/lib/klaviyo-api-sdk/models/catalog_variant_update_job_create_query.rb +1 -1
  173. data/lib/klaviyo-api-sdk/models/catalog_variant_update_job_create_query_as_sub_resource.rb +1 -1
  174. data/lib/klaviyo-api-sdk/models/catalog_variant_update_job_create_query_as_sub_resource_attributes.rb +2 -1
  175. data/lib/klaviyo-api-sdk/models/catalog_variant_update_query.rb +1 -1
  176. data/lib/klaviyo-api-sdk/models/catalog_variant_update_query_as_sub_resource.rb +2 -2
  177. data/lib/klaviyo-api-sdk/models/catalog_variant_update_query_as_sub_resource_attributes.rb +12 -2
  178. data/lib/klaviyo-api-sdk/models/content_sub_object.rb +1 -1
  179. data/lib/klaviyo-api-sdk/models/data_privacy_create_deletion_job_query.rb +1 -1
  180. data/lib/klaviyo-api-sdk/models/data_privacy_create_deletion_job_query_as_sub_resource.rb +1 -1
  181. data/lib/klaviyo-api-sdk/models/data_privacy_create_deletion_job_query_as_sub_resource_attributes.rb +1 -1
  182. data/lib/klaviyo-api-sdk/models/email_message_content.rb +1 -1
  183. data/lib/klaviyo-api-sdk/models/email_tracking_options.rb +1 -1
  184. data/lib/klaviyo-api-sdk/models/error_source.rb +2 -1
  185. data/lib/klaviyo-api-sdk/models/event_create_query.rb +1 -1
  186. data/lib/klaviyo-api-sdk/models/event_create_query_as_sub_resource.rb +1 -1
  187. data/lib/klaviyo-api-sdk/models/event_create_query_as_sub_resource_attributes.rb +1 -1
  188. data/lib/klaviyo-api-sdk/models/flow_update_query.rb +1 -1
  189. data/lib/klaviyo-api-sdk/models/flow_update_query_as_sub_resource.rb +1 -1
  190. data/lib/klaviyo-api-sdk/models/flow_update_query_as_sub_resource_attributes.rb +1 -1
  191. data/lib/klaviyo-api-sdk/models/get_campaigns4_xx_response.rb +226 -0
  192. data/lib/klaviyo-api-sdk/models/get_campaigns4_xx_response_errors_inner.rb +275 -0
  193. data/lib/klaviyo-api-sdk/models/get_campaigns4_xx_response_errors_inner_source.rb +228 -0
  194. data/lib/klaviyo-api-sdk/models/included_categories.rb +2 -2
  195. data/lib/klaviyo-api-sdk/models/included_categories_attributes.rb +4 -1
  196. data/lib/klaviyo-api-sdk/models/included_flow_action.rb +1 -1
  197. data/lib/klaviyo-api-sdk/models/included_flow_actions.rb +1 -1
  198. data/lib/klaviyo-api-sdk/models/included_flow_actions_attributes.rb +1 -1
  199. data/lib/klaviyo-api-sdk/models/included_flow_actions_attributes_tracking_options.rb +1 -1
  200. data/lib/klaviyo-api-sdk/models/included_flow_messages.rb +1 -1
  201. data/lib/klaviyo-api-sdk/models/included_flow_messages_attributes.rb +1 -1
  202. data/lib/klaviyo-api-sdk/models/included_flow_messages_attributes_content.rb +1 -1
  203. data/lib/klaviyo-api-sdk/models/included_flows.rb +1 -1
  204. data/lib/klaviyo-api-sdk/models/included_flows_attributes.rb +1 -1
  205. data/lib/klaviyo-api-sdk/models/included_items.rb +2 -1
  206. data/lib/klaviyo-api-sdk/models/included_items_attributes.rb +23 -2
  207. data/lib/klaviyo-api-sdk/models/included_lists.rb +2 -1
  208. data/lib/klaviyo-api-sdk/models/included_lists_attributes.rb +4 -1
  209. data/lib/klaviyo-api-sdk/models/included_metrics.rb +1 -1
  210. data/lib/klaviyo-api-sdk/models/included_metrics_attributes.rb +1 -1
  211. data/lib/klaviyo-api-sdk/models/included_profiles.rb +2 -1
  212. data/lib/klaviyo-api-sdk/models/included_profiles_attributes.rb +13 -1
  213. data/lib/klaviyo-api-sdk/models/included_segments.rb +2 -2
  214. data/lib/klaviyo-api-sdk/models/included_segments_attributes.rb +240 -0
  215. data/lib/klaviyo-api-sdk/models/included_tags.rb +301 -0
  216. data/lib/klaviyo-api-sdk/models/included_variants.rb +2 -1
  217. data/lib/klaviyo-api-sdk/models/included_variants_attributes.rb +16 -2
  218. data/lib/klaviyo-api-sdk/models/included_variants_links.rb +1 -1
  219. data/lib/klaviyo-api-sdk/models/list_create_query.rb +1 -1
  220. data/lib/klaviyo-api-sdk/models/list_create_query_as_sub_resource.rb +1 -1
  221. data/lib/klaviyo-api-sdk/models/list_create_query_as_sub_resource_attributes.rb +2 -1
  222. data/lib/klaviyo-api-sdk/models/list_members_add_query.rb +1 -1
  223. data/lib/klaviyo-api-sdk/models/list_members_add_query_data_inner.rb +1 -1
  224. data/lib/klaviyo-api-sdk/models/list_members_delete_query.rb +1 -1
  225. data/lib/klaviyo-api-sdk/models/list_partial_update_query.rb +1 -1
  226. data/lib/klaviyo-api-sdk/models/list_partial_update_query_as_sub_resource.rb +2 -1
  227. data/lib/klaviyo-api-sdk/models/metric_aggregate_query.rb +1 -1
  228. data/lib/klaviyo-api-sdk/models/metric_aggregate_query_as_sub_resource.rb +1 -1
  229. data/lib/klaviyo-api-sdk/models/metric_aggregate_query_as_sub_resource_attributes.rb +17 -15
  230. data/lib/klaviyo-api-sdk/models/metric_aggregate_row_dto.rb +1 -1
  231. data/lib/klaviyo-api-sdk/models/metric_create_query.rb +1 -1
  232. data/lib/klaviyo-api-sdk/models/onsite_profile_create_query.rb +1 -1
  233. data/lib/klaviyo-api-sdk/models/onsite_profile_create_query_as_sub_resource.rb +1 -1
  234. data/lib/klaviyo-api-sdk/models/onsite_profile_meta.rb +1 -1
  235. data/lib/klaviyo-api-sdk/models/onsite_profile_meta_identifiers.rb +16 -11
  236. data/lib/klaviyo-api-sdk/models/onsite_subscription_create_query.rb +1 -1
  237. data/lib/klaviyo-api-sdk/models/onsite_subscription_create_query_as_sub_resource.rb +1 -1
  238. data/lib/klaviyo-api-sdk/models/onsite_subscription_create_query_as_sub_resource_attributes.rb +1 -1
  239. data/lib/klaviyo-api-sdk/models/profile_create_query.rb +1 -1
  240. data/lib/klaviyo-api-sdk/models/profile_create_query_as_sub_resource.rb +1 -1
  241. data/lib/klaviyo-api-sdk/models/profile_create_query_as_sub_resource_attributes.rb +10 -1
  242. data/lib/klaviyo-api-sdk/models/profile_location.rb +9 -2
  243. data/lib/klaviyo-api-sdk/models/profile_location_latitude.rb +2 -1
  244. data/lib/klaviyo-api-sdk/models/profile_location_longitude.rb +106 -0
  245. data/lib/klaviyo-api-sdk/models/profile_partial_update_query.rb +1 -1
  246. data/lib/klaviyo-api-sdk/models/profile_partial_update_query_as_sub_resource.rb +2 -1
  247. data/lib/klaviyo-api-sdk/models/segment_partial_update_query.rb +1 -1
  248. data/lib/klaviyo-api-sdk/models/segment_partial_update_query_as_sub_resource.rb +2 -2
  249. data/lib/klaviyo-api-sdk/models/segment_partial_update_query_as_sub_resource_attributes.rb +224 -0
  250. data/lib/klaviyo-api-sdk/models/send_options.rb +1 -1
  251. data/lib/klaviyo-api-sdk/models/send_options_sub_object.rb +5 -15
  252. data/lib/klaviyo-api-sdk/models/send_strategy_sub_object.rb +15 -6
  253. data/lib/klaviyo-api-sdk/models/send_time_sub_object.rb +1 -1
  254. data/lib/klaviyo-api-sdk/models/sms_message_content.rb +1 -1
  255. data/lib/klaviyo-api-sdk/models/sms_render_options.rb +1 -1
  256. data/lib/klaviyo-api-sdk/models/sms_tracking_options.rb +1 -1
  257. data/lib/klaviyo-api-sdk/models/static_schedule_options.rb +1 -1
  258. data/lib/klaviyo-api-sdk/models/sto_schedule_options.rb +225 -0
  259. data/lib/klaviyo-api-sdk/models/subscription.rb +26 -5
  260. data/lib/klaviyo-api-sdk/models/subscription_channels.rb +256 -0
  261. data/lib/klaviyo-api-sdk/models/subscription_create_job_create_query.rb +1 -1
  262. data/lib/klaviyo-api-sdk/models/subscription_create_job_create_query_as_sub_resource.rb +1 -1
  263. data/lib/klaviyo-api-sdk/models/subscription_create_job_create_query_as_sub_resource_attributes.rb +1 -1
  264. data/lib/klaviyo-api-sdk/models/suppression.rb +1 -1
  265. data/lib/klaviyo-api-sdk/models/suppression_create_job_create_query.rb +1 -1
  266. data/lib/klaviyo-api-sdk/models/suppression_create_job_create_query_as_sub_resource.rb +1 -1
  267. data/lib/klaviyo-api-sdk/models/suppression_create_job_create_query_as_sub_resource_attributes.rb +1 -1
  268. data/lib/klaviyo-api-sdk/models/tag_create_query.rb +1 -1
  269. data/lib/klaviyo-api-sdk/models/tag_create_query_as_sub_resource.rb +1 -1
  270. data/lib/klaviyo-api-sdk/models/tag_create_query_as_sub_resource_attributes.rb +1 -1
  271. data/lib/klaviyo-api-sdk/models/tag_group_create_query.rb +1 -1
  272. data/lib/klaviyo-api-sdk/models/tag_group_create_query_as_sub_resource.rb +1 -1
  273. data/lib/klaviyo-api-sdk/models/tag_group_create_query_as_sub_resource_attributes.rb +1 -1
  274. data/lib/klaviyo-api-sdk/models/tag_group_update_query.rb +1 -1
  275. data/lib/klaviyo-api-sdk/models/tag_group_update_query_as_sub_resource.rb +1 -1
  276. data/lib/klaviyo-api-sdk/models/tag_group_update_query_as_sub_resource_attributes.rb +1 -1
  277. data/lib/klaviyo-api-sdk/models/tag_segment_op.rb +1 -1
  278. data/lib/klaviyo-api-sdk/models/tag_segment_op_data_inner.rb +1 -1
  279. data/lib/klaviyo-api-sdk/models/tag_update_query.rb +1 -1
  280. data/lib/klaviyo-api-sdk/models/tag_update_query_as_sub_resource.rb +1 -1
  281. data/lib/klaviyo-api-sdk/models/tag_update_query_as_sub_resource_attributes.rb +1 -1
  282. data/lib/klaviyo-api-sdk/models/template_clone_query.rb +1 -1
  283. data/lib/klaviyo-api-sdk/models/template_clone_query_as_sub_resource.rb +2 -13
  284. data/lib/klaviyo-api-sdk/models/template_clone_query_as_sub_resource_attributes.rb +1 -1
  285. data/lib/klaviyo-api-sdk/models/template_create_query.rb +1 -1
  286. data/lib/klaviyo-api-sdk/models/template_create_query_as_sub_resource.rb +1 -1
  287. data/lib/klaviyo-api-sdk/models/template_create_query_as_sub_resource_attributes.rb +1 -1
  288. data/lib/klaviyo-api-sdk/models/template_render_query.rb +1 -1
  289. data/lib/klaviyo-api-sdk/models/template_render_query_as_sub_resource.rb +1 -1
  290. data/lib/klaviyo-api-sdk/models/template_render_query_as_sub_resource_attributes.rb +1 -1
  291. data/lib/klaviyo-api-sdk/models/template_update_query.rb +1 -1
  292. data/lib/klaviyo-api-sdk/models/template_update_query_as_sub_resource.rb +1 -1
  293. data/lib/klaviyo-api-sdk/models/template_update_query_as_sub_resource_attributes.rb +1 -1
  294. data/lib/klaviyo-api-sdk/models/throttled_schedule_options.rb +1 -1
  295. data/lib/klaviyo-api-sdk/models/tracking_options_sub_object.rb +1 -1
  296. data/lib/klaviyo-api-sdk/models/unsubscription_create_job_create_query.rb +1 -1
  297. data/lib/klaviyo-api-sdk/models/unsubscription_create_job_create_query_as_sub_resource.rb +1 -1
  298. data/lib/klaviyo-api-sdk/models/unsubscription_create_job_create_query_as_sub_resource_attributes.rb +1 -1
  299. data/lib/klaviyo-api-sdk/models/unsuppression_create_job_create_query.rb +1 -1
  300. data/lib/klaviyo-api-sdk/models/unsuppression_create_job_create_query_as_sub_resource.rb +1 -1
  301. data/lib/klaviyo-api-sdk/models/unsuppression_create_job_create_query_as_sub_resource_attributes.rb +1 -1
  302. data/lib/klaviyo-api-sdk/models/utm_param_info.rb +1 -1
  303. data/lib/klaviyo-api-sdk/models/utm_params_sub_object.rb +1 -1
  304. data/lib/klaviyo-api-sdk/version.rb +1 -1
  305. data/lib/klaviyo-api-sdk.rb +14 -5
  306. data/spec/api/campaigns_api_spec.rb +284 -0
  307. data/spec/api_client_spec.rb +1 -1
  308. data/spec/configuration_spec.rb +1 -1
  309. data/spec/models/campaign_recipient_estimation_job_create_query_as_sub_resource_attributes_spec.rb +34 -0
  310. data/spec/models/campaign_recipient_estimation_job_create_query_as_sub_resource_spec.rb +44 -0
  311. data/spec/models/campaign_recipient_estimation_job_create_query_spec.rb +34 -0
  312. data/spec/models/campaign_tag_op_data_inner_spec.rb +44 -0
  313. data/spec/models/campaign_tag_op_spec.rb +34 -0
  314. data/spec/models/get_campaigns4_xx_response_errors_inner_source_spec.rb +40 -0
  315. data/spec/models/get_campaigns4_xx_response_errors_inner_spec.rb +58 -0
  316. data/spec/models/get_campaigns4_xx_response_spec.rb +34 -0
  317. data/spec/models/included_segments_attributes_spec.rb +46 -0
  318. data/spec/models/included_tags_spec.rb +56 -0
  319. data/spec/models/profile_location_longitude_spec.rb +31 -0
  320. data/spec/models/segment_partial_update_query_as_sub_resource_attributes_spec.rb +34 -0
  321. data/spec/models/sto_schedule_options_spec.rb +34 -0
  322. data/spec/models/subscription_channels_spec.rb +48 -0
  323. data/spec/spec_helper.rb +1 -1
  324. metadata +51 -6
@@ -0,0 +1,1275 @@
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-02-22
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 'cgi'
14
+
15
+ module KlaviyoAPI
16
+ class CampaignsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Create Campaign
23
+ # Creates a campaign given a set of parameters, then returns it.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `Campaigns Write`
24
+ # @param campaign_create_query [CampaignCreateQuery] Creates a campaign from parameters
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [Hash<String, Object>]
27
+ def create_campaign(campaign_create_query, opts = {})
28
+ data, _status_code, _headers = create_campaign_with_http_info(campaign_create_query, opts)
29
+ data
30
+ end
31
+
32
+ # Create Campaign
33
+ # Creates a campaign given a set of parameters, then returns it.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;Campaigns Write&#x60;
34
+ # @param campaign_create_query [CampaignCreateQuery] Creates a campaign from parameters
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
37
+ def create_campaign_with_http_info(campaign_create_query, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: CampaignsApi.create_campaign ...'
40
+ end
41
+ # verify the required parameter 'campaign_create_query' is set
42
+ if @api_client.config.client_side_validation && campaign_create_query.nil?
43
+ fail ArgumentError, "Missing the required parameter 'campaign_create_query' when calling CampaignsApi.create_campaign"
44
+ end
45
+ # resource path
46
+ local_var_path = '/api/campaigns/'
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+ # klaviyo api revision
54
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
55
+ # HTTP header 'Accept' (if needed)
56
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
57
+ # HTTP header 'Content-Type'
58
+ content_type = @api_client.select_header_content_type(['application/json'])
59
+ if !content_type.nil?
60
+ header_params['Content-Type'] = content_type
61
+ end
62
+
63
+ # form parameters
64
+ form_params = opts[:form_params] || {}
65
+
66
+ # http body (model)
67
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(campaign_create_query)
68
+
69
+ # return_type
70
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
71
+
72
+ # auth_names
73
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
74
+
75
+ new_options = opts.merge(
76
+ :operation => :"CampaignsApi.create_campaign",
77
+ :header_params => header_params,
78
+ :query_params => query_params,
79
+ :form_params => form_params,
80
+ :body => post_body,
81
+ :auth_names => auth_names,
82
+ :return_type => return_type
83
+ )
84
+
85
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
86
+ if @api_client.config.debugging
87
+ @api_client.config.logger.debug "API called: CampaignsApi#create_campaign\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
88
+ end
89
+ return data, status_code, headers
90
+ end
91
+
92
+ # Create Campaign Clone
93
+ # Clones an existing campaign, returning a new campaign based on the original with a new ID and name.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `Campaigns Write`
94
+ # @param campaign_clone_query [CampaignCloneQuery] Clones a campaign from an existing campaign
95
+ # @param [Hash] opts the optional parameters
96
+ # @return [Hash<String, Object>]
97
+ def create_campaign_clone(campaign_clone_query, opts = {})
98
+ data, _status_code, _headers = create_campaign_clone_with_http_info(campaign_clone_query, opts)
99
+ data
100
+ end
101
+
102
+ # Create Campaign Clone
103
+ # Clones an existing campaign, returning a new campaign based on the original with a new ID and name.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;Campaigns Write&#x60;
104
+ # @param campaign_clone_query [CampaignCloneQuery] Clones a campaign from an existing campaign
105
+ # @param [Hash] opts the optional parameters
106
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
107
+ def create_campaign_clone_with_http_info(campaign_clone_query, opts = {})
108
+ if @api_client.config.debugging
109
+ @api_client.config.logger.debug 'Calling API: CampaignsApi.create_campaign_clone ...'
110
+ end
111
+ # verify the required parameter 'campaign_clone_query' is set
112
+ if @api_client.config.client_side_validation && campaign_clone_query.nil?
113
+ fail ArgumentError, "Missing the required parameter 'campaign_clone_query' when calling CampaignsApi.create_campaign_clone"
114
+ end
115
+ # resource path
116
+ local_var_path = '/api/campaign-clone/'
117
+
118
+ # query parameters
119
+ query_params = opts[:query_params] || {}
120
+
121
+ # header parameters
122
+ header_params = opts[:header_params] || {}
123
+ # klaviyo api revision
124
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
125
+ # HTTP header 'Accept' (if needed)
126
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
127
+ # HTTP header 'Content-Type'
128
+ content_type = @api_client.select_header_content_type(['application/json'])
129
+ if !content_type.nil?
130
+ header_params['Content-Type'] = content_type
131
+ end
132
+
133
+ # form parameters
134
+ form_params = opts[:form_params] || {}
135
+
136
+ # http body (model)
137
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(campaign_clone_query)
138
+
139
+ # return_type
140
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
141
+
142
+ # auth_names
143
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
144
+
145
+ new_options = opts.merge(
146
+ :operation => :"CampaignsApi.create_campaign_clone",
147
+ :header_params => header_params,
148
+ :query_params => query_params,
149
+ :form_params => form_params,
150
+ :body => post_body,
151
+ :auth_names => auth_names,
152
+ :return_type => return_type
153
+ )
154
+
155
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
156
+ if @api_client.config.debugging
157
+ @api_client.config.logger.debug "API called: CampaignsApi#create_campaign_clone\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
158
+ end
159
+ return data, status_code, headers
160
+ end
161
+
162
+ # Create Campaign Message Assign Template
163
+ # Creates a non-reusable version of the template and assigns it to the message.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `Campaigns Write`
164
+ # @param campaign_message_assign_template_query [CampaignMessageAssignTemplateQuery] Takes a reusable template, clones it, and assigns the non-reusable clone to the message.
165
+ # @param [Hash] opts the optional parameters
166
+ # @return [Hash<String, Object>]
167
+ def create_campaign_message_assign_template(campaign_message_assign_template_query, opts = {})
168
+ data, _status_code, _headers = create_campaign_message_assign_template_with_http_info(campaign_message_assign_template_query, opts)
169
+ data
170
+ end
171
+
172
+ # Create Campaign Message Assign Template
173
+ # Creates a non-reusable version of the template and assigns it to the message.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;Campaigns Write&#x60;
174
+ # @param campaign_message_assign_template_query [CampaignMessageAssignTemplateQuery] Takes a reusable template, clones it, and assigns the non-reusable clone to the message.
175
+ # @param [Hash] opts the optional parameters
176
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
177
+ def create_campaign_message_assign_template_with_http_info(campaign_message_assign_template_query, opts = {})
178
+ if @api_client.config.debugging
179
+ @api_client.config.logger.debug 'Calling API: CampaignsApi.create_campaign_message_assign_template ...'
180
+ end
181
+ # verify the required parameter 'campaign_message_assign_template_query' is set
182
+ if @api_client.config.client_side_validation && campaign_message_assign_template_query.nil?
183
+ fail ArgumentError, "Missing the required parameter 'campaign_message_assign_template_query' when calling CampaignsApi.create_campaign_message_assign_template"
184
+ end
185
+ # resource path
186
+ local_var_path = '/api/campaign-message-assign-template/'
187
+
188
+ # query parameters
189
+ query_params = opts[:query_params] || {}
190
+
191
+ # header parameters
192
+ header_params = opts[:header_params] || {}
193
+ # klaviyo api revision
194
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
195
+ # HTTP header 'Accept' (if needed)
196
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
197
+ # HTTP header 'Content-Type'
198
+ content_type = @api_client.select_header_content_type(['application/json'])
199
+ if !content_type.nil?
200
+ header_params['Content-Type'] = content_type
201
+ end
202
+
203
+ # form parameters
204
+ form_params = opts[:form_params] || {}
205
+
206
+ # http body (model)
207
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(campaign_message_assign_template_query)
208
+
209
+ # return_type
210
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
211
+
212
+ # auth_names
213
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
214
+
215
+ new_options = opts.merge(
216
+ :operation => :"CampaignsApi.create_campaign_message_assign_template",
217
+ :header_params => header_params,
218
+ :query_params => query_params,
219
+ :form_params => form_params,
220
+ :body => post_body,
221
+ :auth_names => auth_names,
222
+ :return_type => return_type
223
+ )
224
+
225
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
226
+ if @api_client.config.debugging
227
+ @api_client.config.logger.debug "API called: CampaignsApi#create_campaign_message_assign_template\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
228
+ end
229
+ return data, status_code, headers
230
+ end
231
+
232
+ # Create Campaign Recipient Estimation Job
233
+ # Trigger an asynchronous job to update the estimated number of recipients for the given campaign ID. Use the `Get Campaign Recipient Estimation Job` endpoint to retrieve the status of this estimation job. Use the `Get Campaign Recipient Estimation` endpoint to retrieve the estimated recipient count for a given campaign.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `Campaigns Write`
234
+ # @param campaign_recipient_estimation_job_create_query [CampaignRecipientEstimationJobCreateQuery] Trigger an asynchronous job to update the estimated number of recipients for the given campaign ID. Use the &#x60;Get Campaign Recipient Estimation Job&#x60; endpoint to retrieve the status of this estimation job. Use the &#x60;Get Campaign Recipient Estimation&#x60; endpoint to retrieve the estimated recipient count for a given campaign.
235
+ # @param [Hash] opts the optional parameters
236
+ # @return [Hash<String, Object>]
237
+ def create_campaign_recipient_estimation_job(campaign_recipient_estimation_job_create_query, opts = {})
238
+ data, _status_code, _headers = create_campaign_recipient_estimation_job_with_http_info(campaign_recipient_estimation_job_create_query, opts)
239
+ data
240
+ end
241
+
242
+ # Create Campaign Recipient Estimation Job
243
+ # Trigger an asynchronous job to update the estimated number of recipients for the given campaign ID. Use the &#x60;Get Campaign Recipient Estimation Job&#x60; endpoint to retrieve the status of this estimation job. Use the &#x60;Get Campaign Recipient Estimation&#x60; endpoint to retrieve the estimated recipient count for a given campaign.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;Campaigns Write&#x60;
244
+ # @param campaign_recipient_estimation_job_create_query [CampaignRecipientEstimationJobCreateQuery] Trigger an asynchronous job to update the estimated number of recipients for the given campaign ID. Use the &#x60;Get Campaign Recipient Estimation Job&#x60; endpoint to retrieve the status of this estimation job. Use the &#x60;Get Campaign Recipient Estimation&#x60; endpoint to retrieve the estimated recipient count for a given campaign.
245
+ # @param [Hash] opts the optional parameters
246
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
247
+ def create_campaign_recipient_estimation_job_with_http_info(campaign_recipient_estimation_job_create_query, opts = {})
248
+ if @api_client.config.debugging
249
+ @api_client.config.logger.debug 'Calling API: CampaignsApi.create_campaign_recipient_estimation_job ...'
250
+ end
251
+ # verify the required parameter 'campaign_recipient_estimation_job_create_query' is set
252
+ if @api_client.config.client_side_validation && campaign_recipient_estimation_job_create_query.nil?
253
+ fail ArgumentError, "Missing the required parameter 'campaign_recipient_estimation_job_create_query' when calling CampaignsApi.create_campaign_recipient_estimation_job"
254
+ end
255
+ # resource path
256
+ local_var_path = '/api/campaign-recipient-estimation-jobs/'
257
+
258
+ # query parameters
259
+ query_params = opts[:query_params] || {}
260
+
261
+ # header parameters
262
+ header_params = opts[:header_params] || {}
263
+ # klaviyo api revision
264
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
265
+ # HTTP header 'Accept' (if needed)
266
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
267
+ # HTTP header 'Content-Type'
268
+ content_type = @api_client.select_header_content_type(['application/json'])
269
+ if !content_type.nil?
270
+ header_params['Content-Type'] = content_type
271
+ end
272
+
273
+ # form parameters
274
+ form_params = opts[:form_params] || {}
275
+
276
+ # http body (model)
277
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(campaign_recipient_estimation_job_create_query)
278
+
279
+ # return_type
280
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
281
+
282
+ # auth_names
283
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
284
+
285
+ new_options = opts.merge(
286
+ :operation => :"CampaignsApi.create_campaign_recipient_estimation_job",
287
+ :header_params => header_params,
288
+ :query_params => query_params,
289
+ :form_params => form_params,
290
+ :body => post_body,
291
+ :auth_names => auth_names,
292
+ :return_type => return_type
293
+ )
294
+
295
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
296
+ if @api_client.config.debugging
297
+ @api_client.config.logger.debug "API called: CampaignsApi#create_campaign_recipient_estimation_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
298
+ end
299
+ return data, status_code, headers
300
+ end
301
+
302
+ # Create Campaign Send Job
303
+ # Trigger a campaign to send asynchronously<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `Campaigns Write`
304
+ # @param campaign_send_job_create_query [CampaignSendJobCreateQuery] Trigger the campaign to send asynchronously
305
+ # @param [Hash] opts the optional parameters
306
+ # @return [Hash<String, Object>]
307
+ def create_campaign_send_job(campaign_send_job_create_query, opts = {})
308
+ data, _status_code, _headers = create_campaign_send_job_with_http_info(campaign_send_job_create_query, opts)
309
+ data
310
+ end
311
+
312
+ # Create Campaign Send Job
313
+ # Trigger a campaign to send asynchronously&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;Campaigns Write&#x60;
314
+ # @param campaign_send_job_create_query [CampaignSendJobCreateQuery] Trigger the campaign to send asynchronously
315
+ # @param [Hash] opts the optional parameters
316
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
317
+ def create_campaign_send_job_with_http_info(campaign_send_job_create_query, opts = {})
318
+ if @api_client.config.debugging
319
+ @api_client.config.logger.debug 'Calling API: CampaignsApi.create_campaign_send_job ...'
320
+ end
321
+ # verify the required parameter 'campaign_send_job_create_query' is set
322
+ if @api_client.config.client_side_validation && campaign_send_job_create_query.nil?
323
+ fail ArgumentError, "Missing the required parameter 'campaign_send_job_create_query' when calling CampaignsApi.create_campaign_send_job"
324
+ end
325
+ # resource path
326
+ local_var_path = '/api/campaign-send-jobs/'
327
+
328
+ # query parameters
329
+ query_params = opts[:query_params] || {}
330
+
331
+ # header parameters
332
+ header_params = opts[:header_params] || {}
333
+ # klaviyo api revision
334
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
335
+ # HTTP header 'Accept' (if needed)
336
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
337
+ # HTTP header 'Content-Type'
338
+ content_type = @api_client.select_header_content_type(['application/json'])
339
+ if !content_type.nil?
340
+ header_params['Content-Type'] = content_type
341
+ end
342
+
343
+ # form parameters
344
+ form_params = opts[:form_params] || {}
345
+
346
+ # http body (model)
347
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(campaign_send_job_create_query)
348
+
349
+ # return_type
350
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
351
+
352
+ # auth_names
353
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
354
+
355
+ new_options = opts.merge(
356
+ :operation => :"CampaignsApi.create_campaign_send_job",
357
+ :header_params => header_params,
358
+ :query_params => query_params,
359
+ :form_params => form_params,
360
+ :body => post_body,
361
+ :auth_names => auth_names,
362
+ :return_type => return_type
363
+ )
364
+
365
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
366
+ if @api_client.config.debugging
367
+ @api_client.config.logger.debug "API called: CampaignsApi#create_campaign_send_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
368
+ end
369
+ return data, status_code, headers
370
+ end
371
+
372
+ # Delete Campaign
373
+ # Delete a campaign with the given campaign ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `Campaigns Write`
374
+ # @param id [String] The campaign ID to be deleted
375
+ # @param [Hash] opts the optional parameters
376
+ # @return [nil]
377
+ def delete_campaign(id, opts = {})
378
+ delete_campaign_with_http_info(id, opts)
379
+ nil
380
+ end
381
+
382
+ # Delete Campaign
383
+ # Delete a campaign with the given campaign ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;Campaigns Write&#x60;
384
+ # @param id [String] The campaign ID to be deleted
385
+ # @param [Hash] opts the optional parameters
386
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
387
+ def delete_campaign_with_http_info(id, opts = {})
388
+ if @api_client.config.debugging
389
+ @api_client.config.logger.debug 'Calling API: CampaignsApi.delete_campaign ...'
390
+ end
391
+ # verify the required parameter 'id' is set
392
+ if @api_client.config.client_side_validation && id.nil?
393
+ fail ArgumentError, "Missing the required parameter 'id' when calling CampaignsApi.delete_campaign"
394
+ end
395
+ # resource path
396
+ local_var_path = '/api/campaigns/{id}/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
397
+
398
+ # query parameters
399
+ query_params = opts[:query_params] || {}
400
+
401
+ # header parameters
402
+ header_params = opts[:header_params] || {}
403
+ # klaviyo api revision
404
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
405
+ # HTTP header 'Accept' (if needed)
406
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
407
+
408
+ # form parameters
409
+ form_params = opts[:form_params] || {}
410
+
411
+ # http body (model)
412
+ post_body = opts[:debug_body]
413
+
414
+ # return_type
415
+ return_type = opts[:debug_return_type]
416
+
417
+ # auth_names
418
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
419
+
420
+ new_options = opts.merge(
421
+ :operation => :"CampaignsApi.delete_campaign",
422
+ :header_params => header_params,
423
+ :query_params => query_params,
424
+ :form_params => form_params,
425
+ :body => post_body,
426
+ :auth_names => auth_names,
427
+ :return_type => return_type
428
+ )
429
+
430
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
431
+ if @api_client.config.debugging
432
+ @api_client.config.logger.debug "API called: CampaignsApi#delete_campaign\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
433
+ end
434
+ return data, status_code, headers
435
+ end
436
+
437
+ # Get Campaign
438
+ # Returns a specific campaign based on a required id.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `Campaigns Read`
439
+ # @param id [String] The campaign ID to be retrieved
440
+ # @param [Hash] opts the optional parameters
441
+ # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
442
+ # @option opts [Array<String>] :fields_tag For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
443
+ # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#relationships
444
+ # @return [Hash<String, Object>]
445
+ def get_campaign(id, opts = {})
446
+ data, _status_code, _headers = get_campaign_with_http_info(id, opts)
447
+ data
448
+ end
449
+
450
+ # Get Campaign
451
+ # Returns a specific campaign based on a required id.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;Campaigns Read&#x60;
452
+ # @param id [String] The campaign ID to be retrieved
453
+ # @param [Hash] opts the optional parameters
454
+ # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
455
+ # @option opts [Array<String>] :fields_tag For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
456
+ # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#relationships
457
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
458
+ def get_campaign_with_http_info(id, opts = {})
459
+ if @api_client.config.debugging
460
+ @api_client.config.logger.debug 'Calling API: CampaignsApi.get_campaign ...'
461
+ end
462
+ # verify the required parameter 'id' is set
463
+ if @api_client.config.client_side_validation && id.nil?
464
+ fail ArgumentError, "Missing the required parameter 'id' when calling CampaignsApi.get_campaign"
465
+ end
466
+ allowable_values = ["name", "status", "archived", "channel", "audiences", "audiences.included", "audiences.excluded", "send_options", "send_options.use_smart_sending", "message", "tracking_options", "tracking_options.is_tracking_opens", "tracking_options.is_tracking_clicks", "tracking_options.is_add_utm", "tracking_options.utm_params", "send_strategy", "send_strategy.method", "send_strategy.options_static", "send_strategy.options_static.datetime", "send_strategy.options_static.is_local", "send_strategy.options_static.send_past_recipients_immediately", "send_strategy.options_throttled", "send_strategy.options_throttled.datetime", "send_strategy.options_throttled.throttle_percentage", "send_strategy.options_sto", "send_strategy.options_sto.date", "created_at", "scheduled_at", "updated_at", "send_time"]
467
+ if @api_client.config.client_side_validation && opts[:'fields_campaign'] && !opts[:'fields_campaign'].all? { |item| allowable_values.include?(item) }
468
+ fail ArgumentError, "invalid value for \"fields_campaign\", must include one of #{allowable_values}"
469
+ end
470
+ allowable_values = ["name"]
471
+ if @api_client.config.client_side_validation && opts[:'fields_tag'] && !opts[:'fields_tag'].all? { |item| allowable_values.include?(item) }
472
+ fail ArgumentError, "invalid value for \"fields_tag\", must include one of #{allowable_values}"
473
+ end
474
+ allowable_values = ["tags"]
475
+ if @api_client.config.client_side_validation && opts[:'include'] && !opts[:'include'].all? { |item| allowable_values.include?(item) }
476
+ fail ArgumentError, "invalid value for \"include\", must include one of #{allowable_values}"
477
+ end
478
+ # resource path
479
+ local_var_path = '/api/campaigns/{id}/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
480
+
481
+ # query parameters
482
+ query_params = opts[:query_params] || {}
483
+ query_params[:'fields[campaign]'] = @api_client.build_collection_param(opts[:'fields_campaign'], :csv) if !opts[:'fields_campaign'].nil?
484
+ query_params[:'fields[tag]'] = @api_client.build_collection_param(opts[:'fields_tag'], :csv) if !opts[:'fields_tag'].nil?
485
+ query_params[:'include'] = @api_client.build_collection_param(opts[:'include'], :csv) if !opts[:'include'].nil?
486
+
487
+ # header parameters
488
+ header_params = opts[:header_params] || {}
489
+ # klaviyo api revision
490
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
491
+ # HTTP header 'Accept' (if needed)
492
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
493
+
494
+ # form parameters
495
+ form_params = opts[:form_params] || {}
496
+
497
+ # http body (model)
498
+ post_body = opts[:debug_body]
499
+
500
+ # return_type
501
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
502
+
503
+ # auth_names
504
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
505
+
506
+ new_options = opts.merge(
507
+ :operation => :"CampaignsApi.get_campaign",
508
+ :header_params => header_params,
509
+ :query_params => query_params,
510
+ :form_params => form_params,
511
+ :body => post_body,
512
+ :auth_names => auth_names,
513
+ :return_type => return_type
514
+ )
515
+
516
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
517
+ if @api_client.config.debugging
518
+ @api_client.config.logger.debug "API called: CampaignsApi#get_campaign\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
519
+ end
520
+ return data, status_code, headers
521
+ end
522
+
523
+ # Get Campaign Message
524
+ # Returns a specific message based on a required id.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `Campaigns Read`
525
+ # @param id [String] The message ID to be retrieved
526
+ # @param [Hash] opts the optional parameters
527
+ # @option opts [Array<String>] :fields_campaign_message For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
528
+ # @return [Hash<String, Object>]
529
+ def get_campaign_message(id, opts = {})
530
+ data, _status_code, _headers = get_campaign_message_with_http_info(id, opts)
531
+ data
532
+ end
533
+
534
+ # Get Campaign Message
535
+ # Returns a specific message based on a required id.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;Campaigns Read&#x60;
536
+ # @param id [String] The message ID to be retrieved
537
+ # @param [Hash] opts the optional parameters
538
+ # @option opts [Array<String>] :fields_campaign_message For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
539
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
540
+ def get_campaign_message_with_http_info(id, opts = {})
541
+ if @api_client.config.debugging
542
+ @api_client.config.logger.debug 'Calling API: CampaignsApi.get_campaign_message ...'
543
+ end
544
+ # verify the required parameter 'id' is set
545
+ if @api_client.config.client_side_validation && id.nil?
546
+ fail ArgumentError, "Missing the required parameter 'id' when calling CampaignsApi.get_campaign_message"
547
+ end
548
+ allowable_values = ["label", "channel", "content", "content.subject", "content.preview_text", "content.from_email", "content.from_label", "content.template_id", "content.template_name", "send_times", "created_at", "updated_at", "campaign_id"]
549
+ if @api_client.config.client_side_validation && opts[:'fields_campaign_message'] && !opts[:'fields_campaign_message'].all? { |item| allowable_values.include?(item) }
550
+ fail ArgumentError, "invalid value for \"fields_campaign_message\", must include one of #{allowable_values}"
551
+ end
552
+ # resource path
553
+ local_var_path = '/api/campaign-messages/{id}/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
554
+
555
+ # query parameters
556
+ query_params = opts[:query_params] || {}
557
+ query_params[:'fields[campaign-message]'] = @api_client.build_collection_param(opts[:'fields_campaign_message'], :csv) if !opts[:'fields_campaign_message'].nil?
558
+
559
+ # header parameters
560
+ header_params = opts[:header_params] || {}
561
+ # klaviyo api revision
562
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
563
+ # HTTP header 'Accept' (if needed)
564
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
565
+
566
+ # form parameters
567
+ form_params = opts[:form_params] || {}
568
+
569
+ # http body (model)
570
+ post_body = opts[:debug_body]
571
+
572
+ # return_type
573
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
574
+
575
+ # auth_names
576
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
577
+
578
+ new_options = opts.merge(
579
+ :operation => :"CampaignsApi.get_campaign_message",
580
+ :header_params => header_params,
581
+ :query_params => query_params,
582
+ :form_params => form_params,
583
+ :body => post_body,
584
+ :auth_names => auth_names,
585
+ :return_type => return_type
586
+ )
587
+
588
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
589
+ if @api_client.config.debugging
590
+ @api_client.config.logger.debug "API called: CampaignsApi#get_campaign_message\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
591
+ end
592
+ return data, status_code, headers
593
+ end
594
+
595
+ # Get Campaign Recipient Estimation
596
+ # Get the estimated recipient count for a campaign with the provided campaign ID. You can refresh this count by using the `Create Campaign Recipient Estimation Job` endpoint.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `Campaigns Read`
597
+ # @param id [String] The ID of the campaign for which to get the estimated number of recipients
598
+ # @param [Hash] opts the optional parameters
599
+ # @option opts [Array<String>] :fields_campaign_recipient_estimation For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
600
+ # @return [Hash<String, Object>]
601
+ def get_campaign_recipient_estimation(id, opts = {})
602
+ data, _status_code, _headers = get_campaign_recipient_estimation_with_http_info(id, opts)
603
+ data
604
+ end
605
+
606
+ # Get Campaign Recipient Estimation
607
+ # Get the estimated recipient count for a campaign with the provided campaign ID. You can refresh this count by using the &#x60;Create Campaign Recipient Estimation Job&#x60; endpoint.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;Campaigns Read&#x60;
608
+ # @param id [String] The ID of the campaign for which to get the estimated number of recipients
609
+ # @param [Hash] opts the optional parameters
610
+ # @option opts [Array<String>] :fields_campaign_recipient_estimation For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
611
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
612
+ def get_campaign_recipient_estimation_with_http_info(id, opts = {})
613
+ if @api_client.config.debugging
614
+ @api_client.config.logger.debug 'Calling API: CampaignsApi.get_campaign_recipient_estimation ...'
615
+ end
616
+ # verify the required parameter 'id' is set
617
+ if @api_client.config.client_side_validation && id.nil?
618
+ fail ArgumentError, "Missing the required parameter 'id' when calling CampaignsApi.get_campaign_recipient_estimation"
619
+ end
620
+ allowable_values = ["estimated_recipient_count"]
621
+ if @api_client.config.client_side_validation && opts[:'fields_campaign_recipient_estimation'] && !opts[:'fields_campaign_recipient_estimation'].all? { |item| allowable_values.include?(item) }
622
+ fail ArgumentError, "invalid value for \"fields_campaign_recipient_estimation\", must include one of #{allowable_values}"
623
+ end
624
+ # resource path
625
+ local_var_path = '/api/campaign-recipient-estimations/{id}/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
626
+
627
+ # query parameters
628
+ query_params = opts[:query_params] || {}
629
+ query_params[:'fields[campaign-recipient-estimation]'] = @api_client.build_collection_param(opts[:'fields_campaign_recipient_estimation'], :csv) if !opts[:'fields_campaign_recipient_estimation'].nil?
630
+
631
+ # header parameters
632
+ header_params = opts[:header_params] || {}
633
+ # klaviyo api revision
634
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
635
+ # HTTP header 'Accept' (if needed)
636
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
637
+
638
+ # form parameters
639
+ form_params = opts[:form_params] || {}
640
+
641
+ # http body (model)
642
+ post_body = opts[:debug_body]
643
+
644
+ # return_type
645
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
646
+
647
+ # auth_names
648
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
649
+
650
+ new_options = opts.merge(
651
+ :operation => :"CampaignsApi.get_campaign_recipient_estimation",
652
+ :header_params => header_params,
653
+ :query_params => query_params,
654
+ :form_params => form_params,
655
+ :body => post_body,
656
+ :auth_names => auth_names,
657
+ :return_type => return_type
658
+ )
659
+
660
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
661
+ if @api_client.config.debugging
662
+ @api_client.config.logger.debug "API called: CampaignsApi#get_campaign_recipient_estimation\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
663
+ end
664
+ return data, status_code, headers
665
+ end
666
+
667
+ # Get Campaign Recipient Estimation Job
668
+ # Retrieve the status of a recipient estimation job triggered with the `Create Campaign Recipient Estimation Job` endpoint.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `Campaigns Read`
669
+ # @param id [String] The ID of the campaign to get recipient estimation status
670
+ # @param [Hash] opts the optional parameters
671
+ # @option opts [Array<String>] :fields_campaign_recipient_estimation_job For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
672
+ # @return [Hash<String, Object>]
673
+ def get_campaign_recipient_estimation_job(id, opts = {})
674
+ data, _status_code, _headers = get_campaign_recipient_estimation_job_with_http_info(id, opts)
675
+ data
676
+ end
677
+
678
+ # Get Campaign Recipient Estimation Job
679
+ # Retrieve the status of a recipient estimation job triggered with the &#x60;Create Campaign Recipient Estimation Job&#x60; endpoint.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;Campaigns Read&#x60;
680
+ # @param id [String] The ID of the campaign to get recipient estimation status
681
+ # @param [Hash] opts the optional parameters
682
+ # @option opts [Array<String>] :fields_campaign_recipient_estimation_job For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
683
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
684
+ def get_campaign_recipient_estimation_job_with_http_info(id, opts = {})
685
+ if @api_client.config.debugging
686
+ @api_client.config.logger.debug 'Calling API: CampaignsApi.get_campaign_recipient_estimation_job ...'
687
+ end
688
+ # verify the required parameter 'id' is set
689
+ if @api_client.config.client_side_validation && id.nil?
690
+ fail ArgumentError, "Missing the required parameter 'id' when calling CampaignsApi.get_campaign_recipient_estimation_job"
691
+ end
692
+ allowable_values = ["status"]
693
+ if @api_client.config.client_side_validation && opts[:'fields_campaign_recipient_estimation_job'] && !opts[:'fields_campaign_recipient_estimation_job'].all? { |item| allowable_values.include?(item) }
694
+ fail ArgumentError, "invalid value for \"fields_campaign_recipient_estimation_job\", must include one of #{allowable_values}"
695
+ end
696
+ # resource path
697
+ local_var_path = '/api/campaign-recipient-estimation-jobs/{id}/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
698
+
699
+ # query parameters
700
+ query_params = opts[:query_params] || {}
701
+ query_params[:'fields[campaign-recipient-estimation-job]'] = @api_client.build_collection_param(opts[:'fields_campaign_recipient_estimation_job'], :csv) if !opts[:'fields_campaign_recipient_estimation_job'].nil?
702
+
703
+ # header parameters
704
+ header_params = opts[:header_params] || {}
705
+ # klaviyo api revision
706
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
707
+ # HTTP header 'Accept' (if needed)
708
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
709
+
710
+ # form parameters
711
+ form_params = opts[:form_params] || {}
712
+
713
+ # http body (model)
714
+ post_body = opts[:debug_body]
715
+
716
+ # return_type
717
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
718
+
719
+ # auth_names
720
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
721
+
722
+ new_options = opts.merge(
723
+ :operation => :"CampaignsApi.get_campaign_recipient_estimation_job",
724
+ :header_params => header_params,
725
+ :query_params => query_params,
726
+ :form_params => form_params,
727
+ :body => post_body,
728
+ :auth_names => auth_names,
729
+ :return_type => return_type
730
+ )
731
+
732
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
733
+ if @api_client.config.debugging
734
+ @api_client.config.logger.debug "API called: CampaignsApi#get_campaign_recipient_estimation_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
735
+ end
736
+ return data, status_code, headers
737
+ end
738
+
739
+ # Get Campaign Relationships
740
+ # If the `related_resource` is `tags`, returns the IDs of all tags associated with the given campaign.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `Campaigns Read` `Tags Read`
741
+ # @param id [String]
742
+ # @param related_resource [String]
743
+ # @param [Hash] opts the optional parameters
744
+ # @return [Hash<String, Object>]
745
+ def get_campaign_relationships(id, related_resource, opts = {})
746
+ data, _status_code, _headers = get_campaign_relationships_with_http_info(id, related_resource, opts)
747
+ data
748
+ end
749
+
750
+ # Get Campaign Relationships
751
+ # If the &#x60;related_resource&#x60; is &#x60;tags&#x60;, returns the IDs of all tags associated with the given campaign.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;60/m&#x60; **Scopes:** &#x60;Campaigns Read&#x60; &#x60;Tags Read&#x60;
752
+ # @param id [String]
753
+ # @param related_resource [String]
754
+ # @param [Hash] opts the optional parameters
755
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
756
+ def get_campaign_relationships_with_http_info(id, related_resource, opts = {})
757
+ if @api_client.config.debugging
758
+ @api_client.config.logger.debug 'Calling API: CampaignsApi.get_campaign_relationships ...'
759
+ end
760
+ # verify the required parameter 'id' is set
761
+ if @api_client.config.client_side_validation && id.nil?
762
+ fail ArgumentError, "Missing the required parameter 'id' when calling CampaignsApi.get_campaign_relationships"
763
+ end
764
+ # verify the required parameter 'related_resource' is set
765
+ if @api_client.config.client_side_validation && related_resource.nil?
766
+ fail ArgumentError, "Missing the required parameter 'related_resource' when calling CampaignsApi.get_campaign_relationships"
767
+ end
768
+ # resource path
769
+ local_var_path = '/api/campaigns/{id}/relationships/{related_resource}/'.sub('{' + 'id' + '}', CGI.escape(id.to_s)).sub('{' + 'related_resource' + '}', CGI.escape(related_resource.to_s))
770
+
771
+ # query parameters
772
+ query_params = opts[:query_params] || {}
773
+
774
+ # header parameters
775
+ header_params = opts[:header_params] || {}
776
+ # klaviyo api revision
777
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
778
+ # HTTP header 'Accept' (if needed)
779
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
780
+
781
+ # form parameters
782
+ form_params = opts[:form_params] || {}
783
+
784
+ # http body (model)
785
+ post_body = opts[:debug_body]
786
+
787
+ # return_type
788
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
789
+
790
+ # auth_names
791
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
792
+
793
+ new_options = opts.merge(
794
+ :operation => :"CampaignsApi.get_campaign_relationships",
795
+ :header_params => header_params,
796
+ :query_params => query_params,
797
+ :form_params => form_params,
798
+ :body => post_body,
799
+ :auth_names => auth_names,
800
+ :return_type => return_type
801
+ )
802
+
803
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
804
+ if @api_client.config.debugging
805
+ @api_client.config.logger.debug "API called: CampaignsApi#get_campaign_relationships\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
806
+ end
807
+ return data, status_code, headers
808
+ end
809
+
810
+ # Get Campaign Send Job
811
+ # Get a campaign send job<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `Campaigns Read`
812
+ # @param id [String] The ID of the campaign to send
813
+ # @param [Hash] opts the optional parameters
814
+ # @option opts [Array<String>] :fields_campaign_send_job For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
815
+ # @return [Hash<String, Object>]
816
+ def get_campaign_send_job(id, opts = {})
817
+ data, _status_code, _headers = get_campaign_send_job_with_http_info(id, opts)
818
+ data
819
+ end
820
+
821
+ # Get Campaign Send Job
822
+ # Get a campaign send job&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;Campaigns Read&#x60;
823
+ # @param id [String] The ID of the campaign to send
824
+ # @param [Hash] opts the optional parameters
825
+ # @option opts [Array<String>] :fields_campaign_send_job For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
826
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
827
+ def get_campaign_send_job_with_http_info(id, opts = {})
828
+ if @api_client.config.debugging
829
+ @api_client.config.logger.debug 'Calling API: CampaignsApi.get_campaign_send_job ...'
830
+ end
831
+ # verify the required parameter 'id' is set
832
+ if @api_client.config.client_side_validation && id.nil?
833
+ fail ArgumentError, "Missing the required parameter 'id' when calling CampaignsApi.get_campaign_send_job"
834
+ end
835
+ allowable_values = ["status"]
836
+ if @api_client.config.client_side_validation && opts[:'fields_campaign_send_job'] && !opts[:'fields_campaign_send_job'].all? { |item| allowable_values.include?(item) }
837
+ fail ArgumentError, "invalid value for \"fields_campaign_send_job\", must include one of #{allowable_values}"
838
+ end
839
+ # resource path
840
+ local_var_path = '/api/campaign-send-jobs/{id}/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
841
+
842
+ # query parameters
843
+ query_params = opts[:query_params] || {}
844
+ query_params[:'fields[campaign-send-job]'] = @api_client.build_collection_param(opts[:'fields_campaign_send_job'], :csv) if !opts[:'fields_campaign_send_job'].nil?
845
+
846
+ # header parameters
847
+ header_params = opts[:header_params] || {}
848
+ # klaviyo api revision
849
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
850
+ # HTTP header 'Accept' (if needed)
851
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
852
+
853
+ # form parameters
854
+ form_params = opts[:form_params] || {}
855
+
856
+ # http body (model)
857
+ post_body = opts[:debug_body]
858
+
859
+ # return_type
860
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
861
+
862
+ # auth_names
863
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
864
+
865
+ new_options = opts.merge(
866
+ :operation => :"CampaignsApi.get_campaign_send_job",
867
+ :header_params => header_params,
868
+ :query_params => query_params,
869
+ :form_params => form_params,
870
+ :body => post_body,
871
+ :auth_names => auth_names,
872
+ :return_type => return_type
873
+ )
874
+
875
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
876
+ if @api_client.config.debugging
877
+ @api_client.config.logger.debug "API called: CampaignsApi#get_campaign_send_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
878
+ end
879
+ return data, status_code, headers
880
+ end
881
+
882
+ # Get Campaign Tags
883
+ # Return all tags that belong to the given campaign.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `Campaigns Read` `Tags Read`
884
+ # @param campaign_id [String]
885
+ # @param [Hash] opts the optional parameters
886
+ # @option opts [Array<String>] :fields_tag For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
887
+ # @return [Hash<String, Object>]
888
+ def get_campaign_tags(campaign_id, opts = {})
889
+ data, _status_code, _headers = get_campaign_tags_with_http_info(campaign_id, opts)
890
+ data
891
+ end
892
+
893
+ # Get Campaign Tags
894
+ # Return all tags that belong to the given campaign.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;60/m&#x60; **Scopes:** &#x60;Campaigns Read&#x60; &#x60;Tags Read&#x60;
895
+ # @param campaign_id [String]
896
+ # @param [Hash] opts the optional parameters
897
+ # @option opts [Array<String>] :fields_tag For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
898
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
899
+ def get_campaign_tags_with_http_info(campaign_id, opts = {})
900
+ if @api_client.config.debugging
901
+ @api_client.config.logger.debug 'Calling API: CampaignsApi.get_campaign_tags ...'
902
+ end
903
+ # verify the required parameter 'campaign_id' is set
904
+ if @api_client.config.client_side_validation && campaign_id.nil?
905
+ fail ArgumentError, "Missing the required parameter 'campaign_id' when calling CampaignsApi.get_campaign_tags"
906
+ end
907
+ allowable_values = ["name"]
908
+ if @api_client.config.client_side_validation && opts[:'fields_tag'] && !opts[:'fields_tag'].all? { |item| allowable_values.include?(item) }
909
+ fail ArgumentError, "invalid value for \"fields_tag\", must include one of #{allowable_values}"
910
+ end
911
+ # resource path
912
+ local_var_path = '/api/campaigns/{campaign_id}/tags/'.sub('{' + 'campaign_id' + '}', CGI.escape(campaign_id.to_s))
913
+
914
+ # query parameters
915
+ query_params = opts[:query_params] || {}
916
+ query_params[:'fields[tag]'] = @api_client.build_collection_param(opts[:'fields_tag'], :csv) if !opts[:'fields_tag'].nil?
917
+
918
+ # header parameters
919
+ header_params = opts[:header_params] || {}
920
+ # klaviyo api revision
921
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
922
+ # HTTP header 'Accept' (if needed)
923
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
924
+
925
+ # form parameters
926
+ form_params = opts[:form_params] || {}
927
+
928
+ # http body (model)
929
+ post_body = opts[:debug_body]
930
+
931
+ # return_type
932
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
933
+
934
+ # auth_names
935
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
936
+
937
+ new_options = opts.merge(
938
+ :operation => :"CampaignsApi.get_campaign_tags",
939
+ :header_params => header_params,
940
+ :query_params => query_params,
941
+ :form_params => form_params,
942
+ :body => post_body,
943
+ :auth_names => auth_names,
944
+ :return_type => return_type
945
+ )
946
+
947
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
948
+ if @api_client.config.debugging
949
+ @api_client.config.logger.debug "API called: CampaignsApi#get_campaign_tags\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
950
+ end
951
+ return data, status_code, headers
952
+ end
953
+
954
+ # Get Campaigns
955
+ # Returns some or all campaigns based on [optional] filters<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `Campaigns Read`
956
+ # @param [Hash] opts the optional parameters
957
+ # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
958
+ # @option opts [Array<String>] :fields_tag For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
959
+ # @option opts [String] :filter For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#filtering&lt;br&gt;Allowed field(s)/operator(s):&lt;br&gt;&#x60;name&#x60;: &#x60;contains&#x60;&lt;br&gt;&#x60;status&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;&lt;br&gt;&#x60;archived&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;created_at&#x60;: &#x60;greater-or-equal&#x60;, &#x60;greater-than&#x60;, &#x60;less-or-equal&#x60;, &#x60;less-than&#x60;&lt;br&gt;&#x60;scheduled_at&#x60;: &#x60;greater-or-equal&#x60;, &#x60;greater-than&#x60;, &#x60;less-or-equal&#x60;, &#x60;less-than&#x60;&lt;br&gt;&#x60;updated_at&#x60;: &#x60;greater-or-equal&#x60;, &#x60;greater-than&#x60;, &#x60;less-or-equal&#x60;, &#x60;less-than&#x60;
960
+ # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#relationships
961
+ # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#pagination
962
+ # @option opts [String] :sort For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sorting
963
+ # @return [Hash<String, Object>]
964
+ def get_campaigns(opts = {})
965
+ data, _status_code, _headers = get_campaigns_with_http_info(opts)
966
+ data
967
+ end
968
+
969
+ # Get Campaigns
970
+ # Returns some or all campaigns based on [optional] filters&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;Campaigns Read&#x60;
971
+ # @param [Hash] opts the optional parameters
972
+ # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
973
+ # @option opts [Array<String>] :fields_tag For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
974
+ # @option opts [String] :filter For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#filtering&lt;br&gt;Allowed field(s)/operator(s):&lt;br&gt;&#x60;name&#x60;: &#x60;contains&#x60;&lt;br&gt;&#x60;status&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;&lt;br&gt;&#x60;archived&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;created_at&#x60;: &#x60;greater-or-equal&#x60;, &#x60;greater-than&#x60;, &#x60;less-or-equal&#x60;, &#x60;less-than&#x60;&lt;br&gt;&#x60;scheduled_at&#x60;: &#x60;greater-or-equal&#x60;, &#x60;greater-than&#x60;, &#x60;less-or-equal&#x60;, &#x60;less-than&#x60;&lt;br&gt;&#x60;updated_at&#x60;: &#x60;greater-or-equal&#x60;, &#x60;greater-than&#x60;, &#x60;less-or-equal&#x60;, &#x60;less-than&#x60;
975
+ # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#relationships
976
+ # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#pagination
977
+ # @option opts [String] :sort For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sorting
978
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
979
+ def get_campaigns_with_http_info(opts = {})
980
+ if @api_client.config.debugging
981
+ @api_client.config.logger.debug 'Calling API: CampaignsApi.get_campaigns ...'
982
+ end
983
+ allowable_values = ["name", "status", "archived", "channel", "audiences", "audiences.included", "audiences.excluded", "send_options", "send_options.use_smart_sending", "message", "tracking_options", "tracking_options.is_tracking_opens", "tracking_options.is_tracking_clicks", "tracking_options.is_add_utm", "tracking_options.utm_params", "send_strategy", "send_strategy.method", "send_strategy.options_static", "send_strategy.options_static.datetime", "send_strategy.options_static.is_local", "send_strategy.options_static.send_past_recipients_immediately", "send_strategy.options_throttled", "send_strategy.options_throttled.datetime", "send_strategy.options_throttled.throttle_percentage", "send_strategy.options_sto", "send_strategy.options_sto.date", "created_at", "scheduled_at", "updated_at", "send_time"]
984
+ if @api_client.config.client_side_validation && opts[:'fields_campaign'] && !opts[:'fields_campaign'].all? { |item| allowable_values.include?(item) }
985
+ fail ArgumentError, "invalid value for \"fields_campaign\", must include one of #{allowable_values}"
986
+ end
987
+ allowable_values = ["name"]
988
+ if @api_client.config.client_side_validation && opts[:'fields_tag'] && !opts[:'fields_tag'].all? { |item| allowable_values.include?(item) }
989
+ fail ArgumentError, "invalid value for \"fields_tag\", must include one of #{allowable_values}"
990
+ end
991
+ allowable_values = ["tags"]
992
+ if @api_client.config.client_side_validation && opts[:'include'] && !opts[:'include'].all? { |item| allowable_values.include?(item) }
993
+ fail ArgumentError, "invalid value for \"include\", must include one of #{allowable_values}"
994
+ end
995
+ allowable_values = ["created_at", "-created_at", "id", "-id", "name", "-name", "scheduled_at", "-scheduled_at", "updated_at", "-updated_at"]
996
+ if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
997
+ fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
998
+ end
999
+ # resource path
1000
+ local_var_path = '/api/campaigns/'
1001
+
1002
+ # query parameters
1003
+ query_params = opts[:query_params] || {}
1004
+ query_params[:'fields[campaign]'] = @api_client.build_collection_param(opts[:'fields_campaign'], :csv) if !opts[:'fields_campaign'].nil?
1005
+ query_params[:'fields[tag]'] = @api_client.build_collection_param(opts[:'fields_tag'], :csv) if !opts[:'fields_tag'].nil?
1006
+ query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil?
1007
+ query_params[:'include'] = @api_client.build_collection_param(opts[:'include'], :csv) if !opts[:'include'].nil?
1008
+ query_params[:'page[cursor]'] = opts[:'page_cursor'] if !opts[:'page_cursor'].nil?
1009
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
1010
+
1011
+ # header parameters
1012
+ header_params = opts[:header_params] || {}
1013
+ # klaviyo api revision
1014
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
1015
+ # HTTP header 'Accept' (if needed)
1016
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1017
+
1018
+ # form parameters
1019
+ form_params = opts[:form_params] || {}
1020
+
1021
+ # http body (model)
1022
+ post_body = opts[:debug_body]
1023
+
1024
+ # return_type
1025
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
1026
+
1027
+ # auth_names
1028
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
1029
+
1030
+ new_options = opts.merge(
1031
+ :operation => :"CampaignsApi.get_campaigns",
1032
+ :header_params => header_params,
1033
+ :query_params => query_params,
1034
+ :form_params => form_params,
1035
+ :body => post_body,
1036
+ :auth_names => auth_names,
1037
+ :return_type => return_type
1038
+ )
1039
+
1040
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1041
+ if @api_client.config.debugging
1042
+ @api_client.config.logger.debug "API called: CampaignsApi#get_campaigns\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1043
+ end
1044
+ return data, status_code, headers
1045
+ end
1046
+
1047
+ # Update Campaign
1048
+ # Update a campaign with the given campaign ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `Campaigns Write`
1049
+ # @param id [String] The campaign ID to be retrieved
1050
+ # @param campaign_partial_update_query [CampaignPartialUpdateQuery] Update a campaign and return it
1051
+ # @param [Hash] opts the optional parameters
1052
+ # @return [Hash<String, Object>]
1053
+ def update_campaign(id, campaign_partial_update_query, opts = {})
1054
+ data, _status_code, _headers = update_campaign_with_http_info(id, campaign_partial_update_query, opts)
1055
+ data
1056
+ end
1057
+
1058
+ # Update Campaign
1059
+ # Update a campaign with the given campaign ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;Campaigns Write&#x60;
1060
+ # @param id [String] The campaign ID to be retrieved
1061
+ # @param campaign_partial_update_query [CampaignPartialUpdateQuery] Update a campaign and return it
1062
+ # @param [Hash] opts the optional parameters
1063
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
1064
+ def update_campaign_with_http_info(id, campaign_partial_update_query, opts = {})
1065
+ if @api_client.config.debugging
1066
+ @api_client.config.logger.debug 'Calling API: CampaignsApi.update_campaign ...'
1067
+ end
1068
+ # verify the required parameter 'id' is set
1069
+ if @api_client.config.client_side_validation && id.nil?
1070
+ fail ArgumentError, "Missing the required parameter 'id' when calling CampaignsApi.update_campaign"
1071
+ end
1072
+ # verify the required parameter 'campaign_partial_update_query' is set
1073
+ if @api_client.config.client_side_validation && campaign_partial_update_query.nil?
1074
+ fail ArgumentError, "Missing the required parameter 'campaign_partial_update_query' when calling CampaignsApi.update_campaign"
1075
+ end
1076
+ # resource path
1077
+ local_var_path = '/api/campaigns/{id}/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
1078
+
1079
+ # query parameters
1080
+ query_params = opts[:query_params] || {}
1081
+
1082
+ # header parameters
1083
+ header_params = opts[:header_params] || {}
1084
+ # klaviyo api revision
1085
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
1086
+ # HTTP header 'Accept' (if needed)
1087
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1088
+ # HTTP header 'Content-Type'
1089
+ content_type = @api_client.select_header_content_type(['application/json'])
1090
+ if !content_type.nil?
1091
+ header_params['Content-Type'] = content_type
1092
+ end
1093
+
1094
+ # form parameters
1095
+ form_params = opts[:form_params] || {}
1096
+
1097
+ # http body (model)
1098
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(campaign_partial_update_query)
1099
+
1100
+ # return_type
1101
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
1102
+
1103
+ # auth_names
1104
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
1105
+
1106
+ new_options = opts.merge(
1107
+ :operation => :"CampaignsApi.update_campaign",
1108
+ :header_params => header_params,
1109
+ :query_params => query_params,
1110
+ :form_params => form_params,
1111
+ :body => post_body,
1112
+ :auth_names => auth_names,
1113
+ :return_type => return_type
1114
+ )
1115
+
1116
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
1117
+ if @api_client.config.debugging
1118
+ @api_client.config.logger.debug "API called: CampaignsApi#update_campaign\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1119
+ end
1120
+ return data, status_code, headers
1121
+ end
1122
+
1123
+ # Update Campaign Message
1124
+ # Update a campaign message<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `Campaigns Write`
1125
+ # @param id [String] The message ID to be retrieved
1126
+ # @param campaign_message_partial_update_query [CampaignMessagePartialUpdateQuery] Update a message and return it
1127
+ # @param [Hash] opts the optional parameters
1128
+ # @return [Hash<String, Object>]
1129
+ def update_campaign_message(id, campaign_message_partial_update_query, opts = {})
1130
+ data, _status_code, _headers = update_campaign_message_with_http_info(id, campaign_message_partial_update_query, opts)
1131
+ data
1132
+ end
1133
+
1134
+ # Update Campaign Message
1135
+ # Update a campaign message&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;Campaigns Write&#x60;
1136
+ # @param id [String] The message ID to be retrieved
1137
+ # @param campaign_message_partial_update_query [CampaignMessagePartialUpdateQuery] Update a message and return it
1138
+ # @param [Hash] opts the optional parameters
1139
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
1140
+ def update_campaign_message_with_http_info(id, campaign_message_partial_update_query, opts = {})
1141
+ if @api_client.config.debugging
1142
+ @api_client.config.logger.debug 'Calling API: CampaignsApi.update_campaign_message ...'
1143
+ end
1144
+ # verify the required parameter 'id' is set
1145
+ if @api_client.config.client_side_validation && id.nil?
1146
+ fail ArgumentError, "Missing the required parameter 'id' when calling CampaignsApi.update_campaign_message"
1147
+ end
1148
+ # verify the required parameter 'campaign_message_partial_update_query' is set
1149
+ if @api_client.config.client_side_validation && campaign_message_partial_update_query.nil?
1150
+ fail ArgumentError, "Missing the required parameter 'campaign_message_partial_update_query' when calling CampaignsApi.update_campaign_message"
1151
+ end
1152
+ # resource path
1153
+ local_var_path = '/api/campaign-messages/{id}/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
1154
+
1155
+ # query parameters
1156
+ query_params = opts[:query_params] || {}
1157
+
1158
+ # header parameters
1159
+ header_params = opts[:header_params] || {}
1160
+ # klaviyo api revision
1161
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
1162
+ # HTTP header 'Accept' (if needed)
1163
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1164
+ # HTTP header 'Content-Type'
1165
+ content_type = @api_client.select_header_content_type(['application/json'])
1166
+ if !content_type.nil?
1167
+ header_params['Content-Type'] = content_type
1168
+ end
1169
+
1170
+ # form parameters
1171
+ form_params = opts[:form_params] || {}
1172
+
1173
+ # http body (model)
1174
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(campaign_message_partial_update_query)
1175
+
1176
+ # return_type
1177
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
1178
+
1179
+ # auth_names
1180
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
1181
+
1182
+ new_options = opts.merge(
1183
+ :operation => :"CampaignsApi.update_campaign_message",
1184
+ :header_params => header_params,
1185
+ :query_params => query_params,
1186
+ :form_params => form_params,
1187
+ :body => post_body,
1188
+ :auth_names => auth_names,
1189
+ :return_type => return_type
1190
+ )
1191
+
1192
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
1193
+ if @api_client.config.debugging
1194
+ @api_client.config.logger.debug "API called: CampaignsApi#update_campaign_message\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1195
+ end
1196
+ return data, status_code, headers
1197
+ end
1198
+
1199
+ # Update Campaign Send Job
1200
+ # Permanently cancel the campaign, setting the status to CANCELED or revert the campaign, setting the status back to DRAFT<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `Campaigns Write`
1201
+ # @param id [String] The ID of the currently sending campaign to cancel or revert
1202
+ # @param campaign_send_job_partial_update_query [CampaignSendJobPartialUpdateQuery] Permanently cancel the campaign, setting the status to CANCELED or revert the campaign, setting the status back to DRAFT
1203
+ # @param [Hash] opts the optional parameters
1204
+ # @return [nil]
1205
+ def update_campaign_send_job(id, campaign_send_job_partial_update_query, opts = {})
1206
+ update_campaign_send_job_with_http_info(id, campaign_send_job_partial_update_query, opts)
1207
+ nil
1208
+ end
1209
+
1210
+ # Update Campaign Send Job
1211
+ # Permanently cancel the campaign, setting the status to CANCELED or revert the campaign, setting the status back to DRAFT&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;Campaigns Write&#x60;
1212
+ # @param id [String] The ID of the currently sending campaign to cancel or revert
1213
+ # @param campaign_send_job_partial_update_query [CampaignSendJobPartialUpdateQuery] Permanently cancel the campaign, setting the status to CANCELED or revert the campaign, setting the status back to DRAFT
1214
+ # @param [Hash] opts the optional parameters
1215
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1216
+ def update_campaign_send_job_with_http_info(id, campaign_send_job_partial_update_query, opts = {})
1217
+ if @api_client.config.debugging
1218
+ @api_client.config.logger.debug 'Calling API: CampaignsApi.update_campaign_send_job ...'
1219
+ end
1220
+ # verify the required parameter 'id' is set
1221
+ if @api_client.config.client_side_validation && id.nil?
1222
+ fail ArgumentError, "Missing the required parameter 'id' when calling CampaignsApi.update_campaign_send_job"
1223
+ end
1224
+ # verify the required parameter 'campaign_send_job_partial_update_query' is set
1225
+ if @api_client.config.client_side_validation && campaign_send_job_partial_update_query.nil?
1226
+ fail ArgumentError, "Missing the required parameter 'campaign_send_job_partial_update_query' when calling CampaignsApi.update_campaign_send_job"
1227
+ end
1228
+ # resource path
1229
+ local_var_path = '/api/campaign-send-jobs/{id}/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
1230
+
1231
+ # query parameters
1232
+ query_params = opts[:query_params] || {}
1233
+
1234
+ # header parameters
1235
+ header_params = opts[:header_params] || {}
1236
+ # klaviyo api revision
1237
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
1238
+ # HTTP header 'Accept' (if needed)
1239
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1240
+ # HTTP header 'Content-Type'
1241
+ content_type = @api_client.select_header_content_type(['application/json'])
1242
+ if !content_type.nil?
1243
+ header_params['Content-Type'] = content_type
1244
+ end
1245
+
1246
+ # form parameters
1247
+ form_params = opts[:form_params] || {}
1248
+
1249
+ # http body (model)
1250
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(campaign_send_job_partial_update_query)
1251
+
1252
+ # return_type
1253
+ return_type = opts[:debug_return_type]
1254
+
1255
+ # auth_names
1256
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
1257
+
1258
+ new_options = opts.merge(
1259
+ :operation => :"CampaignsApi.update_campaign_send_job",
1260
+ :header_params => header_params,
1261
+ :query_params => query_params,
1262
+ :form_params => form_params,
1263
+ :body => post_body,
1264
+ :auth_names => auth_names,
1265
+ :return_type => return_type
1266
+ )
1267
+
1268
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
1269
+ if @api_client.config.debugging
1270
+ @api_client.config.logger.debug "API called: CampaignsApi#update_campaign_send_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1271
+ end
1272
+ return data, status_code, headers
1273
+ end
1274
+ end
1275
+ end