voucherify 8.0.3 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (699) hide show
  1. checksums.yaml +4 -4
  2. data/Dockerfile +1 -1
  3. data/ENDPOINTS-COVERAGE.md +123 -111
  4. data/Gemfile.lock +19 -17
  5. data/README.md +218 -75
  6. data/VoucherifySdk.gemspec +1 -1
  7. data/__tests__/README.md +18 -0
  8. data/__tests__/lib/campaigns.rb +53 -1
  9. data/__tests__/lib/config.rb +21 -0
  10. data/__tests__/lib/loyalties.rb +2 -2
  11. data/__tests__/lib/utils.rb +27 -1
  12. data/__tests__/spec/02_campaigns_spec.rb +33 -2
  13. data/__tests__/spec/04_publications_spec.rb +16 -3
  14. data/__tests__/spec/07_vouchers_spec.rb +22 -3
  15. data/__tests__/spec/13_management_spec.rb +110 -0
  16. data/__tests__/spec/14_additional_properties_spec.rb +28 -0
  17. data/__tests__/spec/support/get_snapshot_without_uniq_keys.rb +1 -1
  18. data/docs/ApplicableTo.md +18 -2
  19. data/docs/ApplicableToOrderItemUnitsItem.md +2 -1
  20. data/docs/AsyncActionsApi.md +2 -2
  21. data/docs/AsyncActionsListResponseBody.md +1 -0
  22. data/docs/Bundle.md +11 -0
  23. data/docs/BundleIdentifiedItem.md +11 -0
  24. data/docs/BundleMissingItem.md +10 -0
  25. data/docs/Campaign.md +4 -4
  26. data/docs/CampaignBase.md +4 -4
  27. data/docs/CampaignLoyaltyCardExpirationRules.md +6 -4
  28. data/docs/CampaignsApi.md +209 -12
  29. data/docs/CampaignsCreateRequestBody.md +2 -2
  30. data/docs/CampaignsCreateResponseBody.md +4 -4
  31. data/docs/CampaignsGetResponseBody.md +4 -4
  32. data/docs/CampaignsImportVoucherItem.md +1 -1
  33. data/docs/CampaignsSummaryGetResponseBody.md +48 -0
  34. data/docs/CampaignsTransactionsExportCreateRequestBody.md +8 -0
  35. data/docs/CampaignsTransactionsExportCreateRequestBodyParameters.md +10 -0
  36. data/docs/CampaignsTransactionsExportCreateResponseBody.md +16 -0
  37. data/docs/CampaignsTransactionsExportCreateResponseBodyParameters.md +10 -0
  38. data/docs/CampaignsTransactionsExportCreateResponseBodyParametersFilters.md +11 -0
  39. data/docs/CampaignsTransactionsExportCreateResponseBodyParametersFiltersCampaignId.md +8 -0
  40. data/docs/CampaignsTransactionsExportCreateResponseBodyParametersFiltersCampaignIdConditions.md +8 -0
  41. data/docs/CampaignsTransactionsExportCreateResponseBodyResult.md +8 -0
  42. data/docs/CampaignsTransactionsListResponseBody.md +12 -0
  43. data/docs/CampaignsUpdateRequestBody.md +1 -1
  44. data/docs/CampaignsUpdateResponseBody.md +4 -4
  45. data/docs/CampaignsVouchersCreateCombinedResponseBodyGift.md +3 -2
  46. data/docs/CampaignsVouchersCreateCombinedResponseBodyLoyaltyCard.md +5 -3
  47. data/docs/CampaignsVouchersCreateResponseBodyGift.md +3 -2
  48. data/docs/CampaignsVouchersCreateResponseBodyLoyaltyCard.md +5 -3
  49. data/docs/CategoriesApi.md +1 -1
  50. data/docs/ClientQualificationsCheckEligibilityRequestBody.md +2 -1
  51. data/docs/ClientQualificationsCheckEligibilityRequestBodySession.md +8 -0
  52. data/docs/ClientRedemptionsRedeemRequestBodyOptions.md +1 -1
  53. data/docs/ClientRedemptionsRedeemRequestBodyRedeemablesItemGift.md +1 -1
  54. data/docs/ClientSideApi.md +2 -2
  55. data/docs/ClientValidationsValidateRequestBodyOptions.md +1 -1
  56. data/docs/ClientValidationsValidateRequestBodyRedeemablesItemGift.md +1 -1
  57. data/docs/ClientValidationsValidateResponseBody.md +1 -0
  58. data/docs/ClientValidationsValidateResponseBodyRedeemablesItemResult.md +1 -0
  59. data/docs/ClientValidationsValidateResponseBodyRedeemablesItemResultDiscount.md +4 -4
  60. data/docs/ClientValidationsValidateResponseBodyRedeemablesItemResultGift.md +2 -1
  61. data/docs/CustomerSummaryOrders.md +3 -3
  62. data/docs/CustomerSummaryRedemptionsGift.md +2 -2
  63. data/docs/CustomerWithSummaryLoyaltyReferralsAssets.md +2 -1
  64. data/docs/CustomersApi.md +10 -10
  65. data/docs/CustomersCreateResponseBodyAssets.md +2 -1
  66. data/docs/CustomersGetResponseBodyAssets.md +2 -1
  67. data/docs/CustomersUpdateResponseBodyAssets.md +2 -1
  68. data/docs/Discount.md +4 -4
  69. data/docs/DiscountUnitMultipleOneUnit.md +1 -1
  70. data/docs/EarningRule.md +1 -0
  71. data/docs/EarningRuleExpirationRules.md +13 -0
  72. data/docs/EarningRuleLoyalty.md +1 -0
  73. data/docs/EarningRuleLoyaltyCustomEventMetadata.md +1 -0
  74. data/docs/EarningRuleLoyaltyCustomerMetadata.md +1 -0
  75. data/docs/EarningRuleLoyaltyOrderAmount.md +1 -0
  76. data/docs/EarningRuleLoyaltyOrderItemsAmount.md +4 -2
  77. data/docs/EarningRuleLoyaltyOrderItemsAmountApplicableToItem.md +9 -0
  78. data/docs/EarningRuleLoyaltyOrderItemsQuantity.md +4 -2
  79. data/docs/EarningRuleLoyaltyOrderItemsQuantityApplicableToItem.md +9 -0
  80. data/docs/EarningRuleLoyaltyOrderItemsSubtotalAmount.md +4 -2
  81. data/docs/EarningRuleLoyaltyOrderItemsSubtotalAmountApplicableToItem.md +9 -0
  82. data/docs/EarningRuleLoyaltyOrderMetadata.md +1 -0
  83. data/docs/EarningRuleLoyaltyOrderTotalAmount.md +1 -0
  84. data/docs/ExportCampaignTransactionsFilters.md +10 -0
  85. data/docs/ExportParameters.md +1 -0
  86. data/docs/ExportsApi.md +3 -3
  87. data/docs/ExportsCreateRequestBodyParameters.md +1 -0
  88. data/docs/ExportsCreateResponseBodyParameters.md +1 -0
  89. data/docs/ExportsGetResponseBodyParameters.md +1 -0
  90. data/docs/Gift.md +3 -2
  91. data/docs/InapplicableTo.md +18 -2
  92. data/docs/InapplicableToOrderItemUnitsItem.md +2 -1
  93. data/docs/LoyaltiesApi.md +264 -67
  94. data/docs/LoyaltiesCreateCampaignRequestBody.md +2 -2
  95. data/docs/LoyaltiesCreateCampaignResponseBody.md +1 -1
  96. data/docs/LoyaltiesEarningRulesCreateRequestBodyItem.md +4 -2
  97. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemLoyalty.md +1 -0
  98. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemLoyaltyCustomEventMetadata.md +1 -0
  99. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemLoyaltyCustomerMetadata.md +1 -0
  100. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemLoyaltyOrderAmount.md +1 -0
  101. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemLoyaltyOrderItemsAmount.md +4 -2
  102. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemLoyaltyOrderItemsAmountApplicableToItem.md +9 -0
  103. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemLoyaltyOrderItemsQuantity.md +4 -2
  104. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemLoyaltyOrderItemsQuantityApplicableToItem.md +9 -0
  105. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemLoyaltyOrderItemsSubtotalAmount.md +4 -2
  106. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemLoyaltyOrderMetadata.md +1 -0
  107. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemLoyaltyOrderTotalAmount.md +1 -0
  108. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemOrderItemsSubtotalAmountApplicableToItem.md +9 -0
  109. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemPendingPoints.md +9 -0
  110. data/docs/LoyaltiesEarningRulesCreateResponseBody.md +1 -0
  111. data/docs/LoyaltiesEarningRulesCreateResponseBodyLoyalty.md +1 -0
  112. data/docs/LoyaltiesEarningRulesCreateResponseBodyLoyaltyCustomEventMetadata.md +1 -0
  113. data/docs/LoyaltiesEarningRulesCreateResponseBodyLoyaltyCustomerMetadata.md +1 -0
  114. data/docs/LoyaltiesEarningRulesCreateResponseBodyLoyaltyOrderAmount.md +1 -0
  115. data/docs/LoyaltiesEarningRulesCreateResponseBodyLoyaltyOrderItemsAmount.md +4 -2
  116. data/docs/LoyaltiesEarningRulesCreateResponseBodyLoyaltyOrderItemsAmountApplicableToItem.md +9 -0
  117. data/docs/LoyaltiesEarningRulesCreateResponseBodyLoyaltyOrderItemsQuantity.md +4 -2
  118. data/docs/LoyaltiesEarningRulesCreateResponseBodyLoyaltyOrderItemsQuantityApplicableToItem.md +9 -0
  119. data/docs/LoyaltiesEarningRulesCreateResponseBodyLoyaltyOrderItemsSubtotalAmount.md +4 -2
  120. data/docs/LoyaltiesEarningRulesCreateResponseBodyLoyaltyOrderMetadata.md +1 -0
  121. data/docs/LoyaltiesEarningRulesCreateResponseBodyLoyaltyOrderTotalAmount.md +1 -0
  122. data/docs/LoyaltiesEarningRulesCreateResponseBodyOrderItemsSubtotalAmountApplicableToItem.md +9 -0
  123. data/docs/LoyaltiesEarningRulesDisableResponseBody.md +1 -0
  124. data/docs/LoyaltiesEarningRulesDisableResponseBodyLoyalty.md +1 -0
  125. data/docs/LoyaltiesEarningRulesDisableResponseBodyLoyaltyCustomEventMetadata.md +1 -0
  126. data/docs/LoyaltiesEarningRulesDisableResponseBodyLoyaltyCustomerMetadata.md +1 -0
  127. data/docs/LoyaltiesEarningRulesDisableResponseBodyLoyaltyOrderAmount.md +1 -0
  128. data/docs/LoyaltiesEarningRulesDisableResponseBodyLoyaltyOrderItemsAmount.md +4 -2
  129. data/docs/LoyaltiesEarningRulesDisableResponseBodyLoyaltyOrderItemsAmountApplicableToItem.md +9 -0
  130. data/docs/LoyaltiesEarningRulesDisableResponseBodyLoyaltyOrderItemsQuantity.md +4 -2
  131. data/docs/LoyaltiesEarningRulesDisableResponseBodyLoyaltyOrderItemsQuantityApplicableToItem.md +9 -0
  132. data/docs/LoyaltiesEarningRulesDisableResponseBodyLoyaltyOrderItemsSubtotalAmount.md +4 -2
  133. data/docs/LoyaltiesEarningRulesDisableResponseBodyLoyaltyOrderMetadata.md +1 -0
  134. data/docs/LoyaltiesEarningRulesDisableResponseBodyLoyaltyOrderTotalAmount.md +1 -0
  135. data/docs/LoyaltiesEarningRulesDisableResponseBodyOrderItemsSubtotalAmountApplicableToItem.md +9 -0
  136. data/docs/LoyaltiesEarningRulesEnableResponseBody.md +1 -0
  137. data/docs/LoyaltiesEarningRulesEnableResponseBodyLoyalty.md +1 -0
  138. data/docs/LoyaltiesEarningRulesEnableResponseBodyLoyaltyCustomEventMetadata.md +1 -0
  139. data/docs/LoyaltiesEarningRulesEnableResponseBodyLoyaltyCustomerMetadata.md +1 -0
  140. data/docs/LoyaltiesEarningRulesEnableResponseBodyLoyaltyOrderAmount.md +1 -0
  141. data/docs/LoyaltiesEarningRulesEnableResponseBodyLoyaltyOrderItemsAmount.md +4 -2
  142. data/docs/LoyaltiesEarningRulesEnableResponseBodyLoyaltyOrderItemsAmountApplicableToItem.md +9 -0
  143. data/docs/LoyaltiesEarningRulesEnableResponseBodyLoyaltyOrderItemsQuantity.md +4 -2
  144. data/docs/LoyaltiesEarningRulesEnableResponseBodyLoyaltyOrderItemsQuantityApplicableToItem.md +9 -0
  145. data/docs/LoyaltiesEarningRulesEnableResponseBodyLoyaltyOrderItemsSubtotalAmount.md +4 -2
  146. data/docs/LoyaltiesEarningRulesEnableResponseBodyLoyaltyOrderMetadata.md +1 -0
  147. data/docs/LoyaltiesEarningRulesEnableResponseBodyLoyaltyOrderTotalAmount.md +1 -0
  148. data/docs/LoyaltiesEarningRulesEnableResponseBodyOrderItemsSubtotalAmountApplicableToItem.md +9 -0
  149. data/docs/LoyaltiesEarningRulesGetResponseBody.md +1 -0
  150. data/docs/LoyaltiesEarningRulesGetResponseBodyLoyalty.md +1 -0
  151. data/docs/LoyaltiesEarningRulesGetResponseBodyLoyaltyCustomEventMetadata.md +1 -0
  152. data/docs/LoyaltiesEarningRulesGetResponseBodyLoyaltyCustomerMetadata.md +1 -0
  153. data/docs/LoyaltiesEarningRulesGetResponseBodyLoyaltyOrderAmount.md +1 -0
  154. data/docs/LoyaltiesEarningRulesGetResponseBodyLoyaltyOrderItemsAmount.md +4 -2
  155. data/docs/LoyaltiesEarningRulesGetResponseBodyLoyaltyOrderItemsAmountApplicableToItem.md +9 -0
  156. data/docs/LoyaltiesEarningRulesGetResponseBodyLoyaltyOrderItemsQuantity.md +4 -2
  157. data/docs/LoyaltiesEarningRulesGetResponseBodyLoyaltyOrderItemsQuantityApplicableToItem.md +9 -0
  158. data/docs/LoyaltiesEarningRulesGetResponseBodyLoyaltyOrderItemsSubtotalAmount.md +4 -2
  159. data/docs/LoyaltiesEarningRulesGetResponseBodyLoyaltyOrderItemsSubtotalAmountApplicableToItem.md +9 -0
  160. data/docs/LoyaltiesEarningRulesGetResponseBodyLoyaltyOrderMetadata.md +1 -0
  161. data/docs/LoyaltiesEarningRulesGetResponseBodyLoyaltyOrderTotalAmount.md +1 -0
  162. data/docs/LoyaltiesEarningRulesUpdateRequestBody.md +4 -2
  163. data/docs/LoyaltiesEarningRulesUpdateRequestBodyLoyalty.md +1 -0
  164. data/docs/LoyaltiesEarningRulesUpdateRequestBodyLoyaltyCustomEventMetadata.md +1 -0
  165. data/docs/LoyaltiesEarningRulesUpdateRequestBodyLoyaltyCustomerMetadata.md +1 -0
  166. data/docs/LoyaltiesEarningRulesUpdateRequestBodyLoyaltyOrderAmount.md +1 -0
  167. data/docs/LoyaltiesEarningRulesUpdateRequestBodyLoyaltyOrderItemsAmount.md +4 -2
  168. data/docs/LoyaltiesEarningRulesUpdateRequestBodyLoyaltyOrderItemsAmountApplicableToItem.md +9 -0
  169. data/docs/LoyaltiesEarningRulesUpdateRequestBodyLoyaltyOrderItemsQuantity.md +4 -2
  170. data/docs/LoyaltiesEarningRulesUpdateRequestBodyLoyaltyOrderItemsQuantityApplicableToItem.md +9 -0
  171. data/docs/LoyaltiesEarningRulesUpdateRequestBodyLoyaltyOrderItemsSubtotalAmount.md +4 -2
  172. data/docs/LoyaltiesEarningRulesUpdateRequestBodyLoyaltyOrderMetadata.md +1 -0
  173. data/docs/LoyaltiesEarningRulesUpdateRequestBodyLoyaltyOrderTotalAmount.md +1 -0
  174. data/docs/LoyaltiesEarningRulesUpdateRequestBodyOrderItemsSubtotalAmountApplicableToItem.md +9 -0
  175. data/docs/LoyaltiesEarningRulesUpdateRequestBodyPendingPoints.md +9 -0
  176. data/docs/LoyaltiesEarningRulesUpdateResponseBody.md +1 -0
  177. data/docs/LoyaltiesEarningRulesUpdateResponseBodyLoyalty.md +1 -0
  178. data/docs/LoyaltiesEarningRulesUpdateResponseBodyLoyaltyCustomEventMetadata.md +1 -0
  179. data/docs/LoyaltiesEarningRulesUpdateResponseBodyLoyaltyCustomerMetadata.md +1 -0
  180. data/docs/LoyaltiesEarningRulesUpdateResponseBodyLoyaltyOrderAmount.md +1 -0
  181. data/docs/LoyaltiesEarningRulesUpdateResponseBodyLoyaltyOrderItemsAmount.md +4 -2
  182. data/docs/LoyaltiesEarningRulesUpdateResponseBodyLoyaltyOrderItemsAmountApplicableToItem.md +9 -0
  183. data/docs/LoyaltiesEarningRulesUpdateResponseBodyLoyaltyOrderItemsQuantity.md +4 -2
  184. data/docs/LoyaltiesEarningRulesUpdateResponseBodyLoyaltyOrderItemsQuantityApplicableToItem.md +9 -0
  185. data/docs/LoyaltiesEarningRulesUpdateResponseBodyLoyaltyOrderItemsSubtotalAmount.md +4 -2
  186. data/docs/LoyaltiesEarningRulesUpdateResponseBodyLoyaltyOrderMetadata.md +1 -0
  187. data/docs/LoyaltiesEarningRulesUpdateResponseBodyLoyaltyOrderTotalAmount.md +1 -0
  188. data/docs/LoyaltiesEarningRulesUpdateResponseBodyOrderItemsSubtotalAmountApplicableToItem.md +9 -0
  189. data/docs/LoyaltiesGetCampaignResponseBody.md +1 -1
  190. data/docs/LoyaltiesMembersCreateResponseBodyLoyaltyCard.md +5 -3
  191. data/docs/LoyaltiesMembersGetResponseBodyLoyaltyCard.md +5 -3
  192. data/docs/LoyaltiesMembersPendingPointsActivateResponseBody.md +1 -1
  193. data/docs/LoyaltiesMembersPendingPointsBalanceRequestBody.md +8 -0
  194. data/docs/LoyaltiesMembersPendingPointsBalanceResponseBody.md +12 -0
  195. data/docs/LoyaltiesMembersPendingPointsBalanceResponseBodyRelatedObject.md +9 -0
  196. data/docs/LoyaltiesMembersPointsExpirationListResponseBodyDataItem.md +1 -1
  197. data/docs/LoyaltiesMembersRedemptionRedeemRequestBody.md +1 -1
  198. data/docs/LoyaltiesMembersRedemptionRedeemResponseBody.md +1 -0
  199. data/docs/LoyaltiesMembersRedemptionRedeemResponseBodyRelatedRedemptionsRollbacksItem.md +1 -0
  200. data/docs/LoyaltiesMembersRedemptionRedeemResponseBodySession.md +8 -0
  201. data/docs/LoyaltiesMembersRedemptionRedeemResponseBodyVoucherGift.md +3 -2
  202. data/docs/LoyaltiesMembersRedemptionRedeemResponseBodyVoucherLoyaltyCard.md +5 -3
  203. data/docs/LoyaltiesMembersTransfersCreateResponseBodyLoyaltyCard.md +5 -3
  204. data/docs/LoyaltiesPointsExpirationExportCreateRequestBodyParameters.md +1 -1
  205. data/docs/LoyaltiesRewardAssignmentsRewardGetResponseBody.md +1 -1
  206. data/docs/LoyaltiesTransactionsExportCreateRequestBody.md +8 -0
  207. data/docs/LoyaltiesTransactionsExportCreateRequestBodyParameters.md +10 -0
  208. data/docs/LoyaltiesTransactionsListResponseBody.md +12 -0
  209. data/docs/LoyaltiesUpdateCampaignRequestBody.md +1 -1
  210. data/docs/LoyaltiesUpdateCampaignResponseBody.md +1 -1
  211. data/docs/LoyaltyCampaign.md +1 -1
  212. data/docs/LoyaltyCardTransaction.md +1 -1
  213. data/docs/LoyaltyCardTransactionDetailsBalance.md +1 -0
  214. data/docs/LoyaltyMemberLoyaltyCard.md +5 -3
  215. data/docs/LoyaltyPointsBucket.md +1 -1
  216. data/docs/LoyaltyTiersExpirationAll.md +1 -1
  217. data/docs/ManagementApi.md +22 -22
  218. data/docs/ManagementProjectsStackingRules.md +14 -8
  219. data/docs/ManagementProjectsStackingRulesCreateRequestBody.md +14 -8
  220. data/docs/ManagementProjectsStackingRulesCreateResponseBody.md +14 -8
  221. data/docs/ManagementProjectsStackingRulesGetResponseBody.md +14 -8
  222. data/docs/ManagementProjectsStackingRulesUpdateRequestBody.md +14 -8
  223. data/docs/ManagementProjectsStackingRulesUpdateResponseBody.md +14 -8
  224. data/docs/ManagementProjectsUsersInviteCreateRequestBody.md +1 -1
  225. data/docs/ManagementProjectsUsersUpdateRoleRequestBody.md +1 -1
  226. data/docs/MetadataSchemasApi.md +5 -5
  227. data/docs/Order.md +1 -1
  228. data/docs/OrderCalculatedItem.md +1 -1
  229. data/docs/OrderItem.md +1 -1
  230. data/docs/OrdersApi.md +3 -3
  231. data/docs/OrdersCreateRequestBody.md +1 -1
  232. data/docs/OrdersImportCreateRequestBodyItem.md +2 -2
  233. data/docs/OrdersUpdateRequestBody.md +1 -1
  234. data/docs/ParametersFiltersListCampaignTransactions.md +10 -0
  235. data/docs/ProductCollectionsCreateRequestBody.md +1 -1
  236. data/docs/ProductsApi.md +22 -22
  237. data/docs/ProductsSkusCreateRequestBody.md +1 -1
  238. data/docs/ProductsSkusUpdateRequestBody.md +1 -1
  239. data/docs/PromotionTierCampaign.md +1 -1
  240. data/docs/PromotionsTiersCreateResponseBodyCampaign.md +1 -1
  241. data/docs/PromotionsTiersDisableResponseBodyCampaign.md +1 -1
  242. data/docs/PromotionsTiersEnableResponseBodyCampaign.md +1 -1
  243. data/docs/PromotionsTiersGetResponseBodyCampaign.md +1 -1
  244. data/docs/PromotionsTiersUpdateResponseBodyCampaign.md +1 -1
  245. data/docs/PublicationsApi.md +7 -7
  246. data/docs/QualificationsApi.md +1 -1
  247. data/docs/QualificationsCheckEligibilityRequestBody.md +2 -1
  248. data/docs/QualificationsCheckEligibilityRequestBodySession.md +8 -0
  249. data/docs/QualificationsOption.md +1 -1
  250. data/docs/QualificationsRedeemable.md +1 -1
  251. data/docs/QualificationsRedeemableBase.md +1 -1
  252. data/docs/RedeemableGift.md +3 -2
  253. data/docs/RedeemableLoyaltyCard.md +2 -2
  254. data/docs/RedeemableResult.md +1 -0
  255. data/docs/RedeemableVoucherGift.md +3 -2
  256. data/docs/RedeemableVoucherLoyaltyCard.md +5 -3
  257. data/docs/Redemption.md +1 -0
  258. data/docs/RedemptionEntry.md +1 -0
  259. data/docs/RedemptionEntryPromotionTierCampaign.md +1 -1
  260. data/docs/RedemptionEntryRelatedRedemptionsRollbacksItem.md +1 -0
  261. data/docs/RedemptionEntrySession.md +8 -0
  262. data/docs/RedemptionEntryVoucherGift.md +3 -2
  263. data/docs/RedemptionEntryVoucherLoyaltyCard.md +5 -3
  264. data/docs/RedemptionRelatedRedemptionsRollbacksItem.md +1 -0
  265. data/docs/RedemptionRewardResultParametersCampaign.md +1 -1
  266. data/docs/RedemptionRollback.md +1 -1
  267. data/docs/RedemptionSession.md +8 -0
  268. data/docs/RedemptionVoucherGift.md +3 -2
  269. data/docs/RedemptionVoucherLoyaltyCard.md +5 -3
  270. data/docs/RedemptionsApi.md +3 -3
  271. data/docs/RedemptionsGetResponseBody.md +1 -0
  272. data/docs/RedemptionsGetResponseBodyPromotionTierCampaign.md +1 -1
  273. data/docs/RedemptionsGetResponseBodyRelatedRedemptionsRollbacksItem.md +1 -0
  274. data/docs/RedemptionsGetResponseBodySession.md +8 -0
  275. data/docs/RedemptionsGetResponseBodyVoucherGift.md +3 -2
  276. data/docs/RedemptionsGetResponseBodyVoucherLoyaltyCard.md +5 -3
  277. data/docs/RedemptionsListResponseBodyRedemptionsItem.md +1 -0
  278. data/docs/RedemptionsListResponseBodyRedemptionsItemPromotionTierCampaign.md +1 -1
  279. data/docs/RedemptionsListResponseBodyRedemptionsItemRelatedRedemptionsRollbacksItem.md +1 -0
  280. data/docs/RedemptionsListResponseBodyRedemptionsItemSession.md +8 -0
  281. data/docs/RedemptionsListResponseBodyRedemptionsItemVoucherGift.md +3 -2
  282. data/docs/RedemptionsListResponseBodyRedemptionsItemVoucherLoyaltyCard.md +5 -3
  283. data/docs/RedemptionsRedeemRequestBodyOptions.md +1 -1
  284. data/docs/RedemptionsRedeemRequestBodyRedeemablesItemGift.md +1 -1
  285. data/docs/RedemptionsRollbackCreateResponseBody.md +1 -1
  286. data/docs/ReferralsApi.md +13 -13
  287. data/docs/Reward.md +1 -1
  288. data/docs/RewardsCreateRequestBody.md +1 -1
  289. data/docs/RewardsCreateRequestBodyParametersCampaign.md +1 -1
  290. data/docs/RewardsCreateResponseBody.md +1 -1
  291. data/docs/RewardsUpdateRequestBody.md +1 -1
  292. data/docs/RewardsUpdateRequestBodyParametersCampaign.md +1 -1
  293. data/docs/RewardsUpdateResponseBody.md +1 -1
  294. data/docs/SegmentsApi.md +2 -2
  295. data/docs/SegmentsCreateRequestBody.md +1 -1
  296. data/docs/SegmentsCreateResponseBody.md +4 -3
  297. data/docs/SegmentsGetResponseBody.md +4 -3
  298. data/docs/SimpleLoyaltyCard.md +5 -3
  299. data/docs/SimpleVoucherRedemption.md +1 -0
  300. data/docs/StackingRules.md +15 -11
  301. data/docs/TemplatesApi.md +7 -7
  302. data/docs/TemplatesCampaignsCampaignSetupCreateRequestBody.md +2 -2
  303. data/docs/TrashBinItem.md +1 -1
  304. data/docs/ValidationRule.md +1 -0
  305. data/docs/ValidationRulesApi.md +3 -3
  306. data/docs/ValidationRulesCreateRequestBody.md +1 -0
  307. data/docs/ValidationRulesCreateResponseBody.md +1 -0
  308. data/docs/ValidationRulesGetResponseBody.md +1 -0
  309. data/docs/ValidationRulesUpdateRequestBody.md +1 -0
  310. data/docs/ValidationRulesUpdateResponseBody.md +1 -0
  311. data/docs/ValidationsApi.md +1 -1
  312. data/docs/ValidationsRedeemableInapplicableResult.md +1 -0
  313. data/docs/ValidationsValidateRequestBodyOptions.md +1 -1
  314. data/docs/ValidationsValidateRequestBodyRedeemablesItemGift.md +1 -1
  315. data/docs/ValidationsValidateResponseBody.md +1 -0
  316. data/docs/ValidationsValidateResponseBodyRedeemablesItemResult.md +1 -0
  317. data/docs/ValidationsValidateResponseBodyRedeemablesItemResultDiscount.md +4 -4
  318. data/docs/ValidationsValidateResponseBodyRedeemablesItemResultGift.md +2 -1
  319. data/docs/ValidityHours.md +1 -1
  320. data/docs/VoucherBalance.md +1 -0
  321. data/docs/VoucherGift.md +3 -2
  322. data/docs/VoucherLoyaltyCard.md +5 -3
  323. data/docs/VoucherTransaction.md +1 -1
  324. data/docs/VoucherTransactionDetailsBalance.md +1 -0
  325. data/docs/VoucherTransactionsExportParameters.md +1 -1
  326. data/docs/VoucherTransactionsFilters.md +1 -1
  327. data/docs/VoucherWithCategoriesGift.md +3 -2
  328. data/docs/VoucherWithCategoriesLoyaltyCard.md +5 -3
  329. data/docs/VouchersApi.md +16 -14
  330. data/docs/VouchersBalanceUpdateRequestBody.md +1 -1
  331. data/docs/VouchersBalanceUpdateResponseBody.md +2 -2
  332. data/docs/VouchersCreateRequestBody.md +2 -2
  333. data/docs/VouchersCreateResponseBodyGift.md +3 -2
  334. data/docs/VouchersCreateResponseBodyLoyaltyCard.md +5 -3
  335. data/docs/VouchersCreateWithSpecificCodeRequestBody.md +2 -2
  336. data/docs/VouchersDisableResponseBodyGift.md +3 -2
  337. data/docs/VouchersDisableResponseBodyLoyaltyCard.md +5 -3
  338. data/docs/VouchersEnableResponseBodyGift.md +3 -2
  339. data/docs/VouchersEnableResponseBodyLoyaltyCard.md +5 -3
  340. data/docs/VouchersGetResponseBodyGift.md +3 -2
  341. data/docs/VouchersGetResponseBodyLoyaltyCard.md +5 -3
  342. data/docs/VouchersImportCreateItemRequestBody.md +1 -1
  343. data/docs/VouchersTransactionsExportCreateResponseBodyResult.md +1 -1
  344. data/docs/VouchersUpdateRequestBody.md +2 -2
  345. data/docs/VouchersUpdateResponseBodyGift.md +3 -2
  346. data/docs/VouchersUpdateResponseBodyLoyaltyCard.md +5 -3
  347. data/lib/VoucherifySdk/api/async_actions_api.rb +4 -4
  348. data/lib/VoucherifySdk/api/campaigns_api.rb +220 -18
  349. data/lib/VoucherifySdk/api/categories_api.rb +2 -2
  350. data/lib/VoucherifySdk/api/client_side_api.rb +4 -4
  351. data/lib/VoucherifySdk/api/customers_api.rb +14 -14
  352. data/lib/VoucherifySdk/api/exports_api.rb +6 -6
  353. data/lib/VoucherifySdk/api/loyalties_api.rb +277 -72
  354. data/lib/VoucherifySdk/api/management_api.rb +44 -44
  355. data/lib/VoucherifySdk/api/metadata_schemas_api.rb +6 -6
  356. data/lib/VoucherifySdk/api/orders_api.rb +6 -6
  357. data/lib/VoucherifySdk/api/products_api.rb +30 -30
  358. data/lib/VoucherifySdk/api/publications_api.rb +8 -8
  359. data/lib/VoucherifySdk/api/qualifications_api.rb +2 -2
  360. data/lib/VoucherifySdk/api/redemptions_api.rb +6 -6
  361. data/lib/VoucherifySdk/api/referrals_api.rb +14 -14
  362. data/lib/VoucherifySdk/api/segments_api.rb +4 -4
  363. data/lib/VoucherifySdk/api/templates_api.rb +14 -14
  364. data/lib/VoucherifySdk/api/validation_rules_api.rb +6 -6
  365. data/lib/VoucherifySdk/api/validations_api.rb +2 -2
  366. data/lib/VoucherifySdk/api/vouchers_api.rb +25 -22
  367. data/lib/VoucherifySdk/models/access_settings_campaign_assignments_list.rb +1 -1
  368. data/lib/VoucherifySdk/models/applicable_to.rb +192 -16
  369. data/lib/VoucherifySdk/models/applicable_to_order_item_units_item.rb +20 -5
  370. data/lib/VoucherifySdk/models/async_actions_list_response_body.rb +16 -5
  371. data/lib/VoucherifySdk/models/bundle.rb +267 -0
  372. data/lib/VoucherifySdk/models/bundle_identified_item.rb +296 -0
  373. data/lib/VoucherifySdk/models/bundle_missing_item.rb +274 -0
  374. data/lib/VoucherifySdk/models/campaign.rb +4 -4
  375. data/lib/VoucherifySdk/models/campaign_base.rb +4 -4
  376. data/lib/VoucherifySdk/models/campaign_loyalty_card_expiration_rules.rb +53 -10
  377. data/lib/VoucherifySdk/models/campaigns_create_request_body.rb +3 -3
  378. data/lib/VoucherifySdk/models/campaigns_create_response_body.rb +4 -4
  379. data/lib/VoucherifySdk/models/campaigns_get_response_body.rb +4 -4
  380. data/lib/VoucherifySdk/models/campaigns_import_voucher_item.rb +1 -1
  381. data/lib/VoucherifySdk/models/campaigns_summary_get_response_body.rb +673 -0
  382. data/lib/VoucherifySdk/models/campaigns_transactions_export_create_request_body.rb +209 -0
  383. data/lib/VoucherifySdk/models/campaigns_transactions_export_create_request_body_parameters.rb +256 -0
  384. data/lib/VoucherifySdk/models/campaigns_transactions_export_create_response_body.rb +334 -0
  385. data/lib/VoucherifySdk/models/campaigns_transactions_export_create_response_body_parameters.rb +256 -0
  386. data/lib/VoucherifySdk/models/campaigns_transactions_export_create_response_body_parameters_filters.rb +257 -0
  387. data/lib/VoucherifySdk/models/campaigns_transactions_export_create_response_body_parameters_filters_campaign_id.rb +209 -0
  388. data/lib/VoucherifySdk/models/campaigns_transactions_export_create_response_body_parameters_filters_campaign_id_conditions.rb +221 -0
  389. data/lib/VoucherifySdk/models/campaigns_transactions_export_create_response_body_result.rb +210 -0
  390. data/lib/VoucherifySdk/models/campaigns_transactions_list_response_body.rb +286 -0
  391. data/lib/VoucherifySdk/models/campaigns_update_request_body.rb +1 -1
  392. data/lib/VoucherifySdk/models/campaigns_update_response_body.rb +4 -4
  393. data/lib/VoucherifySdk/models/campaigns_vouchers_create_combined_response_body_gift.rb +14 -3
  394. data/lib/VoucherifySdk/models/campaigns_vouchers_create_combined_response_body_loyalty_card.rb +30 -8
  395. data/lib/VoucherifySdk/models/campaigns_vouchers_create_response_body_gift.rb +14 -3
  396. data/lib/VoucherifySdk/models/campaigns_vouchers_create_response_body_loyalty_card.rb +30 -8
  397. data/lib/VoucherifySdk/models/client_qualifications_check_eligibility_request_body.rb +12 -2
  398. data/lib/VoucherifySdk/models/client_qualifications_check_eligibility_request_body_session.rb +236 -0
  399. data/lib/VoucherifySdk/models/client_redemptions_redeem_request_body_options.rb +1 -1
  400. data/lib/VoucherifySdk/models/client_redemptions_redeem_request_body_redeemables_item_gift.rb +1 -1
  401. data/lib/VoucherifySdk/models/client_validations_validate_request_body.rb +1 -1
  402. data/lib/VoucherifySdk/models/client_validations_validate_request_body_options.rb +1 -1
  403. data/lib/VoucherifySdk/models/client_validations_validate_request_body_redeemables_item_gift.rb +1 -1
  404. data/lib/VoucherifySdk/models/client_validations_validate_response_body.rb +12 -1
  405. data/lib/VoucherifySdk/models/client_validations_validate_response_body_redeemables_item_result.rb +11 -1
  406. data/lib/VoucherifySdk/models/client_validations_validate_response_body_redeemables_item_result_discount.rb +5 -2
  407. data/lib/VoucherifySdk/models/client_validations_validate_response_body_redeemables_item_result_gift.rb +14 -3
  408. data/lib/VoucherifySdk/models/client_validations_validate_response_body_redeemables_item_result_loyalty_card.rb +1 -0
  409. data/lib/VoucherifySdk/models/create_publication_campaign.rb +3 -3
  410. data/lib/VoucherifySdk/models/customer_summary_orders.rb +4 -3
  411. data/lib/VoucherifySdk/models/customer_summary_redemptions_gift.rb +2 -2
  412. data/lib/VoucherifySdk/models/customer_with_summary_loyalty_referrals_assets.rb +18 -7
  413. data/lib/VoucherifySdk/models/customers_create_response_body_assets.rb +18 -7
  414. data/lib/VoucherifySdk/models/customers_get_response_body_assets.rb +18 -7
  415. data/lib/VoucherifySdk/models/customers_update_response_body_assets.rb +18 -7
  416. data/lib/VoucherifySdk/models/discount.rb +5 -2
  417. data/lib/VoucherifySdk/models/discount_unit_multiple_one_unit.rb +1 -1
  418. data/lib/VoucherifySdk/models/earning_rule.rb +10 -1
  419. data/lib/VoucherifySdk/models/earning_rule_expiration_rules.rb +313 -0
  420. data/lib/VoucherifySdk/models/earning_rule_loyalty.rb +12 -1
  421. data/lib/VoucherifySdk/models/earning_rule_loyalty_custom_event_metadata.rb +12 -1
  422. data/lib/VoucherifySdk/models/earning_rule_loyalty_customer_metadata.rb +12 -1
  423. data/lib/VoucherifySdk/models/earning_rule_loyalty_order_amount.rb +16 -5
  424. data/lib/VoucherifySdk/models/earning_rule_loyalty_order_items_amount.rb +31 -7
  425. data/lib/VoucherifySdk/models/earning_rule_loyalty_order_items_amount_applicable_to_item.rb +242 -0
  426. data/lib/VoucherifySdk/models/earning_rule_loyalty_order_items_quantity.rb +31 -7
  427. data/lib/VoucherifySdk/models/earning_rule_loyalty_order_items_quantity_applicable_to_item.rb +242 -0
  428. data/lib/VoucherifySdk/models/earning_rule_loyalty_order_items_subtotal_amount.rb +31 -7
  429. data/lib/VoucherifySdk/models/earning_rule_loyalty_order_items_subtotal_amount_applicable_to_item.rb +242 -0
  430. data/lib/VoucherifySdk/models/earning_rule_loyalty_order_metadata.rb +12 -1
  431. data/lib/VoucherifySdk/models/earning_rule_loyalty_order_total_amount.rb +16 -5
  432. data/lib/VoucherifySdk/models/export_campaign_transactions_filters.rb +248 -0
  433. data/lib/VoucherifySdk/models/export_parameters.rb +16 -5
  434. data/lib/VoucherifySdk/models/exports_create_request_body_parameters.rb +16 -5
  435. data/lib/VoucherifySdk/models/exports_create_response_body_parameters.rb +16 -5
  436. data/lib/VoucherifySdk/models/exports_get_response_body.rb +0 -1
  437. data/lib/VoucherifySdk/models/exports_get_response_body_parameters.rb +16 -5
  438. data/lib/VoucherifySdk/models/filter_conditions_date_time.rb +2 -2
  439. data/lib/VoucherifySdk/models/gift.rb +14 -3
  440. data/lib/VoucherifySdk/models/inapplicable_to.rb +192 -16
  441. data/lib/VoucherifySdk/models/inapplicable_to_order_item_units_item.rb +20 -5
  442. data/lib/VoucherifySdk/models/loyalties_create_campaign_request_body.rb +3 -3
  443. data/lib/VoucherifySdk/models/loyalties_create_campaign_response_body.rb +1 -1
  444. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item.rb +22 -3
  445. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_loyalty.rb +12 -1
  446. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_loyalty_custom_event_metadata.rb +12 -1
  447. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_loyalty_customer_metadata.rb +12 -1
  448. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_loyalty_order_amount.rb +16 -5
  449. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_loyalty_order_items_amount.rb +31 -7
  450. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_loyalty_order_items_amount_applicable_to_item.rb +242 -0
  451. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_loyalty_order_items_quantity.rb +31 -7
  452. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_loyalty_order_items_quantity_applicable_to_item.rb +242 -0
  453. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_loyalty_order_items_subtotal_amount.rb +31 -7
  454. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_loyalty_order_metadata.rb +12 -1
  455. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_loyalty_order_total_amount.rb +16 -5
  456. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_order_items_subtotal_amount_applicable_to_item.rb +242 -0
  457. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_pending_points.rb +257 -0
  458. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body.rb +10 -1
  459. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body_loyalty.rb +12 -1
  460. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body_loyalty_custom_event_metadata.rb +12 -1
  461. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body_loyalty_customer_metadata.rb +12 -1
  462. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body_loyalty_order_amount.rb +16 -5
  463. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body_loyalty_order_items_amount.rb +31 -7
  464. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body_loyalty_order_items_amount_applicable_to_item.rb +242 -0
  465. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body_loyalty_order_items_quantity.rb +31 -7
  466. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body_loyalty_order_items_quantity_applicable_to_item.rb +242 -0
  467. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body_loyalty_order_items_subtotal_amount.rb +31 -7
  468. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body_loyalty_order_metadata.rb +12 -1
  469. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body_loyalty_order_total_amount.rb +16 -5
  470. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body_order_items_subtotal_amount_applicable_to_item.rb +242 -0
  471. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body.rb +10 -1
  472. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body_loyalty.rb +12 -1
  473. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body_loyalty_custom_event_metadata.rb +12 -1
  474. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body_loyalty_customer_metadata.rb +12 -1
  475. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body_loyalty_order_amount.rb +16 -5
  476. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body_loyalty_order_items_amount.rb +31 -7
  477. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body_loyalty_order_items_amount_applicable_to_item.rb +242 -0
  478. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body_loyalty_order_items_quantity.rb +31 -7
  479. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body_loyalty_order_items_quantity_applicable_to_item.rb +242 -0
  480. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body_loyalty_order_items_subtotal_amount.rb +31 -7
  481. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body_loyalty_order_metadata.rb +12 -1
  482. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body_loyalty_order_total_amount.rb +16 -5
  483. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body_order_items_subtotal_amount_applicable_to_item.rb +242 -0
  484. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body.rb +10 -1
  485. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body_loyalty.rb +12 -1
  486. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body_loyalty_custom_event_metadata.rb +12 -1
  487. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body_loyalty_customer_metadata.rb +12 -1
  488. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body_loyalty_order_amount.rb +16 -5
  489. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body_loyalty_order_items_amount.rb +31 -7
  490. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body_loyalty_order_items_amount_applicable_to_item.rb +242 -0
  491. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body_loyalty_order_items_quantity.rb +31 -7
  492. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body_loyalty_order_items_quantity_applicable_to_item.rb +242 -0
  493. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body_loyalty_order_items_subtotal_amount.rb +31 -7
  494. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body_loyalty_order_metadata.rb +12 -1
  495. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body_loyalty_order_total_amount.rb +16 -5
  496. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body_order_items_subtotal_amount_applicable_to_item.rb +242 -0
  497. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body.rb +10 -1
  498. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body_loyalty.rb +12 -1
  499. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body_loyalty_custom_event_metadata.rb +12 -1
  500. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body_loyalty_customer_metadata.rb +12 -1
  501. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body_loyalty_order_amount.rb +16 -5
  502. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body_loyalty_order_items_amount.rb +31 -7
  503. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body_loyalty_order_items_amount_applicable_to_item.rb +242 -0
  504. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body_loyalty_order_items_quantity.rb +31 -7
  505. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body_loyalty_order_items_quantity_applicable_to_item.rb +242 -0
  506. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body_loyalty_order_items_subtotal_amount.rb +31 -7
  507. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body_loyalty_order_items_subtotal_amount_applicable_to_item.rb +242 -0
  508. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body_loyalty_order_metadata.rb +12 -1
  509. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body_loyalty_order_total_amount.rb +16 -5
  510. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body.rb +22 -3
  511. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_loyalty.rb +12 -1
  512. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_loyalty_custom_event_metadata.rb +12 -1
  513. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_loyalty_customer_metadata.rb +12 -1
  514. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_loyalty_order_amount.rb +16 -5
  515. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_loyalty_order_items_amount.rb +31 -7
  516. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_loyalty_order_items_amount_applicable_to_item.rb +242 -0
  517. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_loyalty_order_items_quantity.rb +31 -7
  518. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_loyalty_order_items_quantity_applicable_to_item.rb +242 -0
  519. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_loyalty_order_items_subtotal_amount.rb +31 -7
  520. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_loyalty_order_metadata.rb +12 -1
  521. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_loyalty_order_total_amount.rb +16 -5
  522. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_order_items_subtotal_amount_applicable_to_item.rb +242 -0
  523. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_pending_points.rb +257 -0
  524. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body.rb +10 -1
  525. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body_loyalty.rb +12 -1
  526. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body_loyalty_custom_event_metadata.rb +12 -1
  527. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body_loyalty_customer_metadata.rb +12 -1
  528. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body_loyalty_order_amount.rb +16 -5
  529. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body_loyalty_order_items_amount.rb +31 -7
  530. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body_loyalty_order_items_amount_applicable_to_item.rb +242 -0
  531. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body_loyalty_order_items_quantity.rb +31 -7
  532. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body_loyalty_order_items_quantity_applicable_to_item.rb +242 -0
  533. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body_loyalty_order_items_subtotal_amount.rb +31 -7
  534. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body_loyalty_order_metadata.rb +12 -1
  535. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body_loyalty_order_total_amount.rb +16 -5
  536. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body_order_items_subtotal_amount_applicable_to_item.rb +242 -0
  537. data/lib/VoucherifySdk/models/loyalties_get_campaign_response_body.rb +1 -1
  538. data/lib/VoucherifySdk/models/loyalties_members_create_response_body_loyalty_card.rb +30 -8
  539. data/lib/VoucherifySdk/models/loyalties_members_create_response_body_publish.rb +1 -1
  540. data/lib/VoucherifySdk/models/loyalties_members_get_response_body_loyalty_card.rb +30 -8
  541. data/lib/VoucherifySdk/models/loyalties_members_get_response_body_publish.rb +1 -1
  542. data/lib/VoucherifySdk/models/loyalties_members_pending_points_activate_response_body.rb +1 -1
  543. data/lib/VoucherifySdk/models/loyalties_members_pending_points_balance_request_body.rb +210 -0
  544. data/lib/VoucherifySdk/models/loyalties_members_pending_points_balance_response_body.rb +283 -0
  545. data/lib/VoucherifySdk/models/loyalties_members_pending_points_balance_response_body_related_object.rb +247 -0
  546. data/lib/VoucherifySdk/models/loyalties_members_points_expiration_list_response_body_data_item.rb +1 -1
  547. data/lib/VoucherifySdk/models/loyalties_members_redemption_redeem_request_body.rb +1 -1
  548. data/lib/VoucherifySdk/models/loyalties_members_redemption_redeem_response_body.rb +11 -1
  549. data/lib/VoucherifySdk/models/loyalties_members_redemption_redeem_response_body_related_redemptions_rollbacks_item.rb +38 -4
  550. data/lib/VoucherifySdk/models/loyalties_members_redemption_redeem_response_body_session.rb +210 -0
  551. data/lib/VoucherifySdk/models/loyalties_members_redemption_redeem_response_body_voucher_gift.rb +14 -3
  552. data/lib/VoucherifySdk/models/loyalties_members_redemption_redeem_response_body_voucher_loyalty_card.rb +30 -8
  553. data/lib/VoucherifySdk/models/loyalties_members_transfers_create_response_body_loyalty_card.rb +30 -8
  554. data/lib/VoucherifySdk/models/loyalties_points_expiration_export_create_request_body_parameters.rb +1 -1
  555. data/lib/VoucherifySdk/models/loyalties_reward_assignments_reward_get_response_body.rb +1 -1
  556. data/lib/VoucherifySdk/models/loyalties_transactions_export_create_request_body.rb +209 -0
  557. data/lib/VoucherifySdk/models/loyalties_transactions_export_create_request_body_parameters.rb +256 -0
  558. data/lib/VoucherifySdk/models/loyalties_transactions_list_response_body.rb +286 -0
  559. data/lib/VoucherifySdk/models/loyalties_update_campaign_request_body.rb +1 -1
  560. data/lib/VoucherifySdk/models/loyalties_update_campaign_response_body.rb +1 -1
  561. data/lib/VoucherifySdk/models/loyalty_campaign.rb +1 -1
  562. data/lib/VoucherifySdk/models/loyalty_card_transaction.rb +1 -1
  563. data/lib/VoucherifySdk/models/loyalty_card_transaction_details_balance.rb +12 -1
  564. data/lib/VoucherifySdk/models/loyalty_member_loyalty_card.rb +30 -8
  565. data/lib/VoucherifySdk/models/loyalty_member_publish.rb +1 -1
  566. data/lib/VoucherifySdk/models/loyalty_points_bucket.rb +1 -1
  567. data/lib/VoucherifySdk/models/loyalty_tiers_expiration_all.rb +1 -1
  568. data/lib/VoucherifySdk/models/management_projects_stacking_rules.rb +112 -9
  569. data/lib/VoucherifySdk/models/management_projects_stacking_rules_create_request_body.rb +116 -13
  570. data/lib/VoucherifySdk/models/management_projects_stacking_rules_create_response_body.rb +112 -9
  571. data/lib/VoucherifySdk/models/management_projects_stacking_rules_get_response_body.rb +112 -9
  572. data/lib/VoucherifySdk/models/management_projects_stacking_rules_update_request_body.rb +116 -13
  573. data/lib/VoucherifySdk/models/management_projects_stacking_rules_update_response_body.rb +112 -9
  574. data/lib/VoucherifySdk/models/management_projects_users_invite_create_request_body.rb +1 -1
  575. data/lib/VoucherifySdk/models/management_projects_users_update_role_request_body.rb +1 -1
  576. data/lib/VoucherifySdk/models/order.rb +1 -1
  577. data/lib/VoucherifySdk/models/order_calculated_item.rb +1 -1
  578. data/lib/VoucherifySdk/models/order_item.rb +1 -1
  579. data/lib/VoucherifySdk/models/orders_create_request_body.rb +1 -1
  580. data/lib/VoucherifySdk/models/orders_import_create_request_body_item.rb +15 -15
  581. data/lib/VoucherifySdk/models/orders_update_request_body.rb +1 -1
  582. data/lib/VoucherifySdk/models/parameter_filters_list_campaigns_campaign_status.rb +2 -1
  583. data/lib/VoucherifySdk/models/parameter_filters_list_campaigns_campaign_status_conditions.rb +1 -0
  584. data/lib/VoucherifySdk/models/parameter_filters_list_campaigns_category_ids.rb +1 -1
  585. data/lib/VoucherifySdk/models/parameter_filters_list_campaigns_is_referral_code.rb +1 -1
  586. data/lib/VoucherifySdk/models/parameters_filters_list_campaign_transactions.rb +247 -0
  587. data/lib/VoucherifySdk/models/product_collections_create_request_body.rb +2 -4
  588. data/lib/VoucherifySdk/models/products_skus_create_request_body.rb +1 -1
  589. data/lib/VoucherifySdk/models/products_skus_create_response_body.rb +1 -1
  590. data/lib/VoucherifySdk/models/products_skus_list_response_body.rb +1 -1
  591. data/lib/VoucherifySdk/models/products_skus_update_request_body.rb +1 -1
  592. data/lib/VoucherifySdk/models/promotion_tier_campaign.rb +1 -1
  593. data/lib/VoucherifySdk/models/promotions_tiers_create_response_body_campaign.rb +1 -1
  594. data/lib/VoucherifySdk/models/promotions_tiers_disable_response_body_campaign.rb +1 -1
  595. data/lib/VoucherifySdk/models/promotions_tiers_enable_response_body_campaign.rb +1 -1
  596. data/lib/VoucherifySdk/models/promotions_tiers_get_response_body_campaign.rb +1 -1
  597. data/lib/VoucherifySdk/models/promotions_tiers_update_response_body_campaign.rb +1 -1
  598. data/lib/VoucherifySdk/models/qualifications_check_eligibility_request_body.rb +12 -2
  599. data/lib/VoucherifySdk/models/qualifications_check_eligibility_request_body_session.rb +236 -0
  600. data/lib/VoucherifySdk/models/qualifications_option.rb +1 -1
  601. data/lib/VoucherifySdk/models/qualifications_option_filters_resource_type_conditions.rb +1 -1
  602. data/lib/VoucherifySdk/models/qualifications_redeemable.rb +1 -1
  603. data/lib/VoucherifySdk/models/qualifications_redeemable_base.rb +1 -1
  604. data/lib/VoucherifySdk/models/redeemable_gift.rb +18 -7
  605. data/lib/VoucherifySdk/models/redeemable_loyalty_card.rb +2 -2
  606. data/lib/VoucherifySdk/models/redeemable_result.rb +10 -1
  607. data/lib/VoucherifySdk/models/redeemable_voucher_gift.rb +14 -3
  608. data/lib/VoucherifySdk/models/redeemable_voucher_loyalty_card.rb +30 -8
  609. data/lib/VoucherifySdk/models/redeemable_voucher_publish.rb +1 -1
  610. data/lib/VoucherifySdk/models/redemption.rb +11 -1
  611. data/lib/VoucherifySdk/models/redemption_entry.rb +11 -1
  612. data/lib/VoucherifySdk/models/redemption_entry_promotion_tier_campaign.rb +1 -1
  613. data/lib/VoucherifySdk/models/redemption_entry_related_redemptions_rollbacks_item.rb +38 -4
  614. data/lib/VoucherifySdk/models/redemption_entry_session.rb +210 -0
  615. data/lib/VoucherifySdk/models/redemption_entry_voucher_gift.rb +14 -3
  616. data/lib/VoucherifySdk/models/redemption_entry_voucher_loyalty_card.rb +30 -8
  617. data/lib/VoucherifySdk/models/redemption_related_redemptions_rollbacks_item.rb +38 -4
  618. data/lib/VoucherifySdk/models/redemption_reward_result_parameters_campaign.rb +1 -1
  619. data/lib/VoucherifySdk/models/redemption_rollback.rb +15 -15
  620. data/lib/VoucherifySdk/models/redemption_session.rb +210 -0
  621. data/lib/VoucherifySdk/models/redemption_voucher_gift.rb +14 -3
  622. data/lib/VoucherifySdk/models/redemption_voucher_loyalty_card.rb +30 -8
  623. data/lib/VoucherifySdk/models/redemptions_get_response_body.rb +11 -1
  624. data/lib/VoucherifySdk/models/redemptions_get_response_body_promotion_tier_campaign.rb +1 -1
  625. data/lib/VoucherifySdk/models/redemptions_get_response_body_related_redemptions_rollbacks_item.rb +38 -4
  626. data/lib/VoucherifySdk/models/redemptions_get_response_body_session.rb +210 -0
  627. data/lib/VoucherifySdk/models/redemptions_get_response_body_voucher_gift.rb +14 -3
  628. data/lib/VoucherifySdk/models/redemptions_get_response_body_voucher_loyalty_card.rb +30 -8
  629. data/lib/VoucherifySdk/models/redemptions_list_response_body_redemptions_item.rb +11 -1
  630. data/lib/VoucherifySdk/models/redemptions_list_response_body_redemptions_item_promotion_tier_campaign.rb +1 -1
  631. data/lib/VoucherifySdk/models/redemptions_list_response_body_redemptions_item_related_redemptions.rb +0 -1
  632. data/lib/VoucherifySdk/models/redemptions_list_response_body_redemptions_item_related_redemptions_rollbacks_item.rb +38 -4
  633. data/lib/VoucherifySdk/models/redemptions_list_response_body_redemptions_item_session.rb +210 -0
  634. data/lib/VoucherifySdk/models/redemptions_list_response_body_redemptions_item_voucher_gift.rb +14 -3
  635. data/lib/VoucherifySdk/models/redemptions_list_response_body_redemptions_item_voucher_loyalty_card.rb +30 -8
  636. data/lib/VoucherifySdk/models/redemptions_redeem_request_body_options.rb +1 -1
  637. data/lib/VoucherifySdk/models/redemptions_redeem_request_body_redeemables_item_gift.rb +1 -1
  638. data/lib/VoucherifySdk/models/redemptions_rollback_create_response_body.rb +15 -15
  639. data/lib/VoucherifySdk/models/reward.rb +1 -1
  640. data/lib/VoucherifySdk/models/rewards_create_request_body.rb +1 -1
  641. data/lib/VoucherifySdk/models/rewards_create_request_body_parameters_campaign.rb +1 -1
  642. data/lib/VoucherifySdk/models/rewards_create_response_body.rb +1 -1
  643. data/lib/VoucherifySdk/models/rewards_update_request_body.rb +1 -1
  644. data/lib/VoucherifySdk/models/rewards_update_request_body_parameters_campaign.rb +1 -1
  645. data/lib/VoucherifySdk/models/rewards_update_response_body.rb +1 -1
  646. data/lib/VoucherifySdk/models/segments_create_request_body.rb +2 -2
  647. data/lib/VoucherifySdk/models/segments_create_response_body.rb +31 -20
  648. data/lib/VoucherifySdk/models/segments_get_response_body.rb +32 -21
  649. data/lib/VoucherifySdk/models/simple_loyalty_card.rb +30 -8
  650. data/lib/VoucherifySdk/models/simple_voucher_redemption.rb +16 -5
  651. data/lib/VoucherifySdk/models/stacking_rules.rb +72 -20
  652. data/lib/VoucherifySdk/models/templates_campaigns_campaign_setup_create_request_body.rb +3 -3
  653. data/lib/VoucherifySdk/models/trash_bin_item.rb +1 -1
  654. data/lib/VoucherifySdk/models/validation_rule.rb +11 -1
  655. data/lib/VoucherifySdk/models/validation_rules_create_request_body.rb +11 -1
  656. data/lib/VoucherifySdk/models/validation_rules_create_response_body.rb +11 -1
  657. data/lib/VoucherifySdk/models/validation_rules_get_response_body.rb +11 -1
  658. data/lib/VoucherifySdk/models/validation_rules_update_request_body.rb +11 -1
  659. data/lib/VoucherifySdk/models/validation_rules_update_response_body.rb +11 -1
  660. data/lib/VoucherifySdk/models/validations_redeemable_inapplicable_result.rb +14 -5
  661. data/lib/VoucherifySdk/models/validations_validate_request_body.rb +1 -1
  662. data/lib/VoucherifySdk/models/validations_validate_request_body_options.rb +1 -1
  663. data/lib/VoucherifySdk/models/validations_validate_request_body_redeemables_item_gift.rb +1 -1
  664. data/lib/VoucherifySdk/models/validations_validate_response_body.rb +12 -1
  665. data/lib/VoucherifySdk/models/validations_validate_response_body_redeemables_item_result.rb +11 -1
  666. data/lib/VoucherifySdk/models/validations_validate_response_body_redeemables_item_result_discount.rb +5 -2
  667. data/lib/VoucherifySdk/models/validations_validate_response_body_redeemables_item_result_gift.rb +14 -3
  668. data/lib/VoucherifySdk/models/validations_validate_response_body_redeemables_item_result_loyalty_card.rb +1 -0
  669. data/lib/VoucherifySdk/models/validity_hours.rb +1 -1
  670. data/lib/VoucherifySdk/models/validity_hours_daily_item.rb +1 -1
  671. data/lib/VoucherifySdk/models/voucher_balance.rb +12 -1
  672. data/lib/VoucherifySdk/models/voucher_gift.rb +14 -3
  673. data/lib/VoucherifySdk/models/voucher_loyalty_card.rb +30 -8
  674. data/lib/VoucherifySdk/models/voucher_transaction.rb +1 -1
  675. data/lib/VoucherifySdk/models/voucher_transaction_details_balance.rb +12 -1
  676. data/lib/VoucherifySdk/models/voucher_transactions_export_parameters.rb +1 -1
  677. data/lib/VoucherifySdk/models/voucher_transactions_filters.rb +1 -1
  678. data/lib/VoucherifySdk/models/voucher_with_categories_gift.rb +14 -3
  679. data/lib/VoucherifySdk/models/voucher_with_categories_loyalty_card.rb +30 -8
  680. data/lib/VoucherifySdk/models/vouchers_balance_update_request_body.rb +1 -1
  681. data/lib/VoucherifySdk/models/vouchers_balance_update_response_body.rb +2 -2
  682. data/lib/VoucherifySdk/models/vouchers_create_request_body.rb +2 -2
  683. data/lib/VoucherifySdk/models/vouchers_create_response_body_gift.rb +14 -3
  684. data/lib/VoucherifySdk/models/vouchers_create_response_body_loyalty_card.rb +30 -8
  685. data/lib/VoucherifySdk/models/vouchers_create_with_specific_code_request_body.rb +2 -2
  686. data/lib/VoucherifySdk/models/vouchers_disable_response_body_gift.rb +14 -3
  687. data/lib/VoucherifySdk/models/vouchers_disable_response_body_loyalty_card.rb +30 -8
  688. data/lib/VoucherifySdk/models/vouchers_enable_response_body_gift.rb +14 -3
  689. data/lib/VoucherifySdk/models/vouchers_enable_response_body_loyalty_card.rb +30 -8
  690. data/lib/VoucherifySdk/models/vouchers_get_response_body_gift.rb +14 -3
  691. data/lib/VoucherifySdk/models/vouchers_get_response_body_loyalty_card.rb +30 -8
  692. data/lib/VoucherifySdk/models/vouchers_import_create_item_request_body.rb +1 -1
  693. data/lib/VoucherifySdk/models/vouchers_transactions_export_create_response_body_result.rb +1 -1
  694. data/lib/VoucherifySdk/models/vouchers_update_request_body.rb +2 -2
  695. data/lib/VoucherifySdk/models/vouchers_update_response_body_gift.rb +14 -3
  696. data/lib/VoucherifySdk/models/vouchers_update_response_body_loyalty_card.rb +30 -8
  697. data/lib/VoucherifySdk/version.rb +1 -1
  698. data/lib/VoucherifySdk.rb +55 -0
  699. metadata +147 -33
@@ -20,7 +20,7 @@ module VoucherifySdk
20
20
  @api_client = api_client
21
21
  end
22
22
  # Get Async Action
23
- # Check the result of a scheduled asynchronous operation. The table below lists the possible types of async actions. The types are different for each endpoint generating the async action. If you would like to learn more about importing data into Voucherify, read more [here](https://support.voucherify.io/article/574-data-import).
23
+ # Check the result of a scheduled asynchronous operation. The table below lists the possible types of async actions. The types are different for each endpoint generating the async action.
24
24
  # @param async_action_id [String] Unique ID of the asynchronous operation.
25
25
  # @param [Hash] opts the optional parameters
26
26
  # @return [AsyncActionGetResponseBody]
@@ -30,7 +30,7 @@ module VoucherifySdk
30
30
  end
31
31
 
32
32
  # Get Async Action
33
- # Check the result of a scheduled asynchronous operation. The table below lists the possible types of async actions. The types are different for each endpoint generating the async action. If you would like to learn more about importing data into Voucherify, read more [here](https://support.voucherify.io/article/574-data-import).
33
+ # Check the result of a scheduled asynchronous operation. The table below lists the possible types of async actions. The types are different for each endpoint generating the async action.
34
34
  # @param async_action_id [String] Unique ID of the asynchronous operation.
35
35
  # @param [Hash] opts the optional parameters
36
36
  # @return [Array<(AsyncActionGetResponseBody, Integer, Hash)>] AsyncActionGetResponseBody data, response status code and response headers
@@ -79,7 +79,7 @@ module VoucherifySdk
79
79
  end
80
80
 
81
81
  # List Async Actions
82
- # Track asynchronous operations scheduled in your project. The table below lists the possible types of async actions. The types are different for each endpoint generating the async action. If you would like to learn more about importing data into Voucherify, read more [here](https://support.voucherify.io/article/574-data-import).
82
+ # Track asynchronous operations scheduled in your project. The table below lists the possible types of async actions. The types are different for each endpoint generating the async action.
83
83
  # @param [Hash] opts the optional parameters
84
84
  # @option opts [Integer] :limit Limit the number of asynchronous actions that the API returns in the response.
85
85
  # @option opts [Time] :end_date Limits results to actions scheduled before the end_date. The date format needs to be consistent with ISO 8601 format (2016-11-16T14:14:31Z or 2016-11-16).
@@ -90,7 +90,7 @@ module VoucherifySdk
90
90
  end
91
91
 
92
92
  # List Async Actions
93
- # Track asynchronous operations scheduled in your project. The table below lists the possible types of async actions. The types are different for each endpoint generating the async action. If you would like to learn more about importing data into Voucherify, read more [here](https://support.voucherify.io/article/574-data-import).
93
+ # Track asynchronous operations scheduled in your project. The table below lists the possible types of async actions. The types are different for each endpoint generating the async action.
94
94
  # @param [Hash] opts the optional parameters
95
95
  # @option opts [Integer] :limit Limit the number of asynchronous actions that the API returns in the response.
96
96
  # @option opts [Time] :end_date Limits results to actions scheduled before the end_date. The date format needs to be consistent with ISO 8601 format (2016-11-16T14:14:31Z or 2016-11-16).
@@ -88,7 +88,7 @@ module VoucherifySdk
88
88
  end
89
89
 
90
90
  # Add Vouchers to Campaign
91
- # This method gives the possibility to push new vouchers to an existing campaign. New vouchers will inherit properties from the campaign profile. However, it is possible to overwrite some of them in the request body. If you provide an optional code_config parameter with a voucher code configuration, then it will be used to generate new voucher codes. Otherwise, the voucher code configuration from the campaign will be used. This API request starts a process that affects Voucherify data in bulk. In case of small jobs (like bulk update) the request is put into a queue and processed once every other bulk request placed in the queue prior to this request is finished. However, when the job takes a longer time (like vouchers generation) then it is processed in small portions in a round-robin fashion. When there is a list of vouchers generation scheduled, then they will all have the IN_PROGRESS status shortly. This way, small jobs added just after scheduling big jobs of the same type will be processed in a short time window. The result will return the async ID. You can verify the status of your request via this API request.
91
+ # This method gives the possibility to push new vouchers to an existing campaign. New vouchers will inherit properties from the campaign profile. However, it is possible to overwrite some of them in the request body. If you provide an optional code_config parameter with a voucher code configuration, then it will be used to generate new voucher codes. Otherwise, the voucher code configuration from the campaign will be used. This API request starts a process that affects Voucherify data in bulk. In case of small jobs (like bulk update) the request is put into a queue and processed once every other bulk request placed in the queue prior to this request is finished. However, when the job takes a longer time (like vouchers generation) then it is processed in small portions in a round-robin fashion. When there is a list of vouchers generation scheduled, then they will all have the IN_PROGRESS status shortly. This way, small jobs added just after scheduling big jobs of the same type will be processed in a short time window. The result will return the async ID. You can verify the status of your request via this [API request](/api-reference/async-actions/get-async-action).
92
92
  # @param campaign_id [String] The campaign ID or name of the campaign to which voucher(s) will be added. You can either pass the campaign ID, which was assigned by Voucherify, or the name of the campaign as the path parameter value.
93
93
  # @param [Hash] opts the optional parameters
94
94
  # @option opts [Integer] :vouchers_count Number of vouchers that should be added.
@@ -100,7 +100,7 @@ module VoucherifySdk
100
100
  end
101
101
 
102
102
  # Add Vouchers to Campaign
103
- # This method gives the possibility to push new vouchers to an existing campaign. New vouchers will inherit properties from the campaign profile. However, it is possible to overwrite some of them in the request body. If you provide an optional code_config parameter with a voucher code configuration, then it will be used to generate new voucher codes. Otherwise, the voucher code configuration from the campaign will be used. This API request starts a process that affects Voucherify data in bulk. In case of small jobs (like bulk update) the request is put into a queue and processed once every other bulk request placed in the queue prior to this request is finished. However, when the job takes a longer time (like vouchers generation) then it is processed in small portions in a round-robin fashion. When there is a list of vouchers generation scheduled, then they will all have the IN_PROGRESS status shortly. This way, small jobs added just after scheduling big jobs of the same type will be processed in a short time window. The result will return the async ID. You can verify the status of your request via this API request.
103
+ # This method gives the possibility to push new vouchers to an existing campaign. New vouchers will inherit properties from the campaign profile. However, it is possible to overwrite some of them in the request body. If you provide an optional code_config parameter with a voucher code configuration, then it will be used to generate new voucher codes. Otherwise, the voucher code configuration from the campaign will be used. This API request starts a process that affects Voucherify data in bulk. In case of small jobs (like bulk update) the request is put into a queue and processed once every other bulk request placed in the queue prior to this request is finished. However, when the job takes a longer time (like vouchers generation) then it is processed in small portions in a round-robin fashion. When there is a list of vouchers generation scheduled, then they will all have the IN_PROGRESS status shortly. This way, small jobs added just after scheduling big jobs of the same type will be processed in a short time window. The result will return the async ID. You can verify the status of your request via this [API request](/api-reference/async-actions/get-async-action).
104
104
  # @param campaign_id [String] The campaign ID or name of the campaign to which voucher(s) will be added. You can either pass the campaign ID, which was assigned by Voucherify, or the name of the campaign as the path parameter value.
105
105
  # @param [Hash] opts the optional parameters
106
106
  # @option opts [Integer] :vouchers_count Number of vouchers that should be added.
@@ -157,7 +157,7 @@ module VoucherifySdk
157
157
  end
158
158
 
159
159
  # Create Campaign
160
- # Method to create a batch of vouchers aggregated in one campaign. You can choose a variety of voucher types and define a unique pattern for generating codes. 📘 Global uniqueness All campaign codes are unique across the whole project. Voucherify will not allow you to generate 2 campaigns with the same coupon code. 🚧 Code generation status This is an asynchronous action; you cant read or modify a newly created campaign until the code generation is completed. See the creation_status field in the campaign object description. 🚧 Standalone Vouchers and Campaigns In version [v20241004](https://support.voucherify.io/article/23-whats-new-in-voucherify#v20241004), standalone vouchers created through the Voucherify dashboard create a campaign for that voucher. However, you cannot create a standalone discount or gift voucher campaign with the type: STANDALONE through the API. Voucherify developers work on adding that feature. Follow the [Voucherify Release Notes](https://support.voucherify.io/article/23-whats-new-in-voucherify#v20241004) for more details about released features.
160
+ # Method to create a batch of vouchers aggregated in one campaign. You can choose a variety of voucher types and define a unique pattern for generating codes. 📘 Global uniqueness All campaign codes are unique across the whole project. Voucherify will not allow you to generate 2 campaigns with the same coupon code. 🚧 Code generation status This is an asynchronous action; you cant read or modify a newly created campaign until the code generation is completed. See the creation_status field in the [campaign object](/api-reference/campaigns/campaign-object) description.
161
161
  # @param [Hash] opts the optional parameters
162
162
  # @option opts [CampaignsCreateRequestBody] :campaigns_create_request_body Specify the details of the campaign that you would like to create.
163
163
  # @return [CampaignsCreateResponseBody]
@@ -167,7 +167,7 @@ module VoucherifySdk
167
167
  end
168
168
 
169
169
  # Create Campaign
170
- # Method to create a batch of vouchers aggregated in one campaign. You can choose a variety of voucher types and define a unique pattern for generating codes. 📘 Global uniqueness All campaign codes are unique across the whole project. Voucherify will not allow you to generate 2 campaigns with the same coupon code. 🚧 Code generation status This is an asynchronous action; you cant read or modify a newly created campaign until the code generation is completed. See the creation_status field in the campaign object description. 🚧 Standalone Vouchers and Campaigns In version [v20241004](https://support.voucherify.io/article/23-whats-new-in-voucherify#v20241004), standalone vouchers created through the Voucherify dashboard create a campaign for that voucher. However, you cannot create a standalone discount or gift voucher campaign with the type: STANDALONE through the API. Voucherify developers work on adding that feature. Follow the [Voucherify Release Notes](https://support.voucherify.io/article/23-whats-new-in-voucherify#v20241004) for more details about released features.
170
+ # Method to create a batch of vouchers aggregated in one campaign. You can choose a variety of voucher types and define a unique pattern for generating codes. 📘 Global uniqueness All campaign codes are unique across the whole project. Voucherify will not allow you to generate 2 campaigns with the same coupon code. 🚧 Code generation status This is an asynchronous action; you cant read or modify a newly created campaign until the code generation is completed. See the creation_status field in the [campaign object](/api-reference/campaigns/campaign-object) description.
171
171
  # @param [Hash] opts the optional parameters
172
172
  # @option opts [CampaignsCreateRequestBody] :campaigns_create_request_body Specify the details of the campaign that you would like to create.
173
173
  # @return [Array<(CampaignsCreateResponseBody, Integer, Hash)>] CampaignsCreateResponseBody data, response status code and response headers
@@ -221,7 +221,7 @@ module VoucherifySdk
221
221
  end
222
222
 
223
223
  # Delete Campaign
224
- # Deletes a campaign and all related vouchers. This action cannot be undone. Also, this method immediately removes any redemptions on the voucher. If the force parameter is set to false or not set at all, the campaign and all related vouchers will be moved to the bin. This API request starts a process that affects Voucherify data in bulk. In case of small jobs (like bulk update) the request is put into a queue and processed once every other bulk request placed in the queue prior to this request is finished. However, when the job takes a longer time (like vouchers generation) then it is processed in small portions in a round-robin fashion. When there is a list of vouchers generation scheduled, then they will all have the IN_PROGRESS status shortly. This way, small jobs added just after scheduling big jobs of the same type will be processed in a short time window. The result will return the async ID. You can verify the status of your request via this API request.
224
+ # Deletes a campaign and all related vouchers. This action cannot be undone. Also, this method immediately removes any redemptions on the voucher. If the force parameter is set to false or not set at all, the campaign and all related vouchers will be moved to [the bin](/api-reference/bin/list-bin-entries). This API request starts a process that affects Voucherify data in bulk. In case of small jobs (like bulk update) the request is put into a queue and processed once every other bulk request placed in the queue prior to this request is finished. However, when the job takes a longer time (like vouchers generation) then it is processed in small portions in a round-robin fashion. When there is a list of vouchers generation scheduled, then they will all have the IN_PROGRESS status shortly. This way, small jobs added just after scheduling big jobs of the same type will be processed in a short time window. The result will return the async ID. You can verify the status of your request via this [API request](/api-reference/async-actions/get-async-action).
225
225
  # @param campaign_id [String] You can either pass the campaign ID, which was assigned by Voucherify, or the name of the campaign as the path parameter value.
226
226
  # @param [Hash] opts the optional parameters
227
227
  # @option opts [Boolean] :force If this flag is set to true, the campaign and related vouchers will be removed permanently. If it is set to false or not set at all, the campaign and related vouchers will be moved to the bin. Going forward, the user will be able to create the next campaign with exactly the same name.
@@ -232,7 +232,7 @@ module VoucherifySdk
232
232
  end
233
233
 
234
234
  # Delete Campaign
235
- # Deletes a campaign and all related vouchers. This action cannot be undone. Also, this method immediately removes any redemptions on the voucher. If the force parameter is set to false or not set at all, the campaign and all related vouchers will be moved to the bin. This API request starts a process that affects Voucherify data in bulk. In case of small jobs (like bulk update) the request is put into a queue and processed once every other bulk request placed in the queue prior to this request is finished. However, when the job takes a longer time (like vouchers generation) then it is processed in small portions in a round-robin fashion. When there is a list of vouchers generation scheduled, then they will all have the IN_PROGRESS status shortly. This way, small jobs added just after scheduling big jobs of the same type will be processed in a short time window. The result will return the async ID. You can verify the status of your request via this API request.
235
+ # Deletes a campaign and all related vouchers. This action cannot be undone. Also, this method immediately removes any redemptions on the voucher. If the force parameter is set to false or not set at all, the campaign and all related vouchers will be moved to [the bin](/api-reference/bin/list-bin-entries). This API request starts a process that affects Voucherify data in bulk. In case of small jobs (like bulk update) the request is put into a queue and processed once every other bulk request placed in the queue prior to this request is finished. However, when the job takes a longer time (like vouchers generation) then it is processed in small portions in a round-robin fashion. When there is a list of vouchers generation scheduled, then they will all have the IN_PROGRESS status shortly. This way, small jobs added just after scheduling big jobs of the same type will be processed in a short time window. The result will return the async ID. You can verify the status of your request via this [API request](/api-reference/async-actions/get-async-action).
236
236
  # @param campaign_id [String] You can either pass the campaign ID, which was assigned by Voucherify, or the name of the campaign as the path parameter value.
237
237
  # @param [Hash] opts the optional parameters
238
238
  # @option opts [Boolean] :force If this flag is set to true, the campaign and related vouchers will be removed permanently. If it is set to false or not set at all, the campaign and related vouchers will be moved to the bin. Going forward, the user will be able to create the next campaign with exactly the same name.
@@ -400,6 +400,72 @@ module VoucherifySdk
400
400
  return data, status_code, headers
401
401
  end
402
402
 
403
+ # Export Campaign Transactions
404
+ # Export transactions is an asynchronous process that generates a CSV file with the data about credit movements on all gift cards or point movements on all loyalty cards in a given campaign. To export transactions: 1. In the export request, use parameters to select which fields will be exported, in what order, and which data will be filtered. 2. Use the returned id to track the export status with the [GET Export](/api-reference/exports/get-export) method. 3. In the GET Export method, when the returned status field has the DONE value, the export file has been generated. 4. Use the URL in the result property to download the file. You must be logged to your Voucherify account on a given cluster in the browser to be able to download the file. An export request will almost always result in a single file being generated by the system. However, when the data volume is large, the system may split the results into multiple files. An example export file can look as follows: 👍 Export Loyalty Campaign Transactions For loyalty campaigns, this method works in the same way the [POST Export Loyalty Campaign Transactions](/api-reference/loyalties/export-loyalty-campaign-transactions) does.
405
+ # @param campaign_id [String] You can either pass the campaign ID, which was assigned by Voucherify, or the name of the campaign as the path parameter value.
406
+ # @param [Hash] opts the optional parameters
407
+ # @option opts [CampaignsTransactionsExportCreateRequestBody] :campaigns_transactions_export_create_request_body Specify the parameters for the transaction export.
408
+ # @return [CampaignsTransactionsExportCreateResponseBody]
409
+ def export_campaign_transactions(campaign_id, opts = {})
410
+ data, _status_code, _headers = export_campaign_transactions_with_http_info(campaign_id, opts)
411
+ data
412
+ end
413
+
414
+ # Export Campaign Transactions
415
+ # Export transactions is an asynchronous process that generates a CSV file with the data about credit movements on all gift cards or point movements on all loyalty cards in a given campaign. To export transactions: 1. In the export request, use parameters to select which fields will be exported, in what order, and which data will be filtered. 2. Use the returned id to track the export status with the [GET Export](/api-reference/exports/get-export) method. 3. In the GET Export method, when the returned status field has the DONE value, the export file has been generated. 4. Use the URL in the result property to download the file. You must be logged to your Voucherify account on a given cluster in the browser to be able to download the file. An export request will almost always result in a single file being generated by the system. However, when the data volume is large, the system may split the results into multiple files. An example export file can look as follows: 👍 Export Loyalty Campaign Transactions For loyalty campaigns, this method works in the same way the [POST Export Loyalty Campaign Transactions](/api-reference/loyalties/export-loyalty-campaign-transactions) does.
416
+ # @param campaign_id [String] You can either pass the campaign ID, which was assigned by Voucherify, or the name of the campaign as the path parameter value.
417
+ # @param [Hash] opts the optional parameters
418
+ # @option opts [CampaignsTransactionsExportCreateRequestBody] :campaigns_transactions_export_create_request_body Specify the parameters for the transaction export.
419
+ # @return [Array<(CampaignsTransactionsExportCreateResponseBody, Integer, Hash)>] CampaignsTransactionsExportCreateResponseBody data, response status code and response headers
420
+ private def export_campaign_transactions_with_http_info(campaign_id, opts = {})
421
+ if @api_client.config.debugging
422
+ @api_client.config.logger.debug 'Calling API: CampaignsApi.export_campaign_transactions ...'
423
+ end
424
+ # resource path
425
+ local_var_path = '/v1/campaigns/{campaignId}/transactions/export'.sub('{' + 'campaignId' + '}', CGI.escape(campaign_id.to_s))
426
+
427
+ # query parameters
428
+ query_params = opts[:query_params] || {}
429
+
430
+ # header parameters
431
+ header_params = opts[:header_params] || {}
432
+ # HTTP header 'Accept' (if needed)
433
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
434
+ # HTTP header 'Content-Type'
435
+ content_type = @api_client.select_header_content_type(['application/json'])
436
+ if !content_type.nil?
437
+ header_params['Content-Type'] = content_type
438
+ end
439
+
440
+ # form parameters
441
+ form_params = opts[:form_params] || {}
442
+
443
+ # http body (model)
444
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'campaigns_transactions_export_create_request_body'])
445
+
446
+ # return_type
447
+ return_type = opts[:debug_return_type] || 'CampaignsTransactionsExportCreateResponseBody'
448
+
449
+ # auth_names
450
+ auth_names = opts[:debug_auth_names] || ['X-App-Id', 'X-App-Token']
451
+
452
+ new_options = opts.merge(
453
+ :operation => :"CampaignsApi.export_campaign_transactions",
454
+ :header_params => header_params,
455
+ :query_params => query_params,
456
+ :form_params => form_params,
457
+ :body => post_body,
458
+ :auth_names => auth_names,
459
+ :return_type => return_type
460
+ )
461
+
462
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
463
+ if @api_client.config.debugging
464
+ @api_client.config.logger.debug "API called: CampaignsApi#export_campaign_transactions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
465
+ end
466
+ return data, status_code, headers
467
+ end
468
+
403
469
  # Get Campaign
404
470
  # Retrieves the campaign with the given campaign ID or campaign name.
405
471
  # @param campaign_id [String] You can either pass the campaign ID, which was assigned by Voucherify, or the name of the campaign as the path parameter value.
@@ -459,11 +525,76 @@ module VoucherifySdk
459
525
  return data, status_code, headers
460
526
  end
461
527
 
528
+ # Get Campaign Summary
529
+ # Returns data for campaign analytics, covering validations, redemptions, publications, and other details specific to a given campaign type. Use start_date and end_date to narrow down the data to specific periods. 🚧 Campaigns created before 17 June 2025 This endpoint returns analytics data for campaigns that were created after 17 June 2025. Older campaigns return empty data.
530
+ # @param campaign_id [String] You can either pass the campaign ID, which was assigned by Voucherify, or the name of the campaign as the path parameter value.
531
+ # @param [Hash] opts the optional parameters
532
+ # @option opts [Date] :start_date Timestamp representing the date which results must begin on. Represented in ISO 8601 format.
533
+ # @option opts [Date] :end_date Timestamp representing the date which results must end on. Represented in ISO 8601 format.
534
+ # @return [CampaignsSummaryGetResponseBody]
535
+ def get_campaign_summary(campaign_id, opts = {})
536
+ data, _status_code, _headers = get_campaign_summary_with_http_info(campaign_id, opts)
537
+ data
538
+ end
539
+
540
+ # Get Campaign Summary
541
+ # Returns data for campaign analytics, covering validations, redemptions, publications, and other details specific to a given campaign type. Use start_date and end_date to narrow down the data to specific periods. 🚧 Campaigns created before 17 June 2025 This endpoint returns analytics data for campaigns that were created after 17 June 2025. Older campaigns return empty data.
542
+ # @param campaign_id [String] You can either pass the campaign ID, which was assigned by Voucherify, or the name of the campaign as the path parameter value.
543
+ # @param [Hash] opts the optional parameters
544
+ # @option opts [Date] :start_date Timestamp representing the date which results must begin on. Represented in ISO 8601 format.
545
+ # @option opts [Date] :end_date Timestamp representing the date which results must end on. Represented in ISO 8601 format.
546
+ # @return [Array<(CampaignsSummaryGetResponseBody, Integer, Hash)>] CampaignsSummaryGetResponseBody data, response status code and response headers
547
+ private def get_campaign_summary_with_http_info(campaign_id, opts = {})
548
+ if @api_client.config.debugging
549
+ @api_client.config.logger.debug 'Calling API: CampaignsApi.get_campaign_summary ...'
550
+ end
551
+ # resource path
552
+ local_var_path = '/v1/campaigns/{campaignId}/summary'.sub('{' + 'campaignId' + '}', CGI.escape(campaign_id.to_s))
553
+
554
+ # query parameters
555
+ query_params = opts[:query_params] || {}
556
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
557
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
558
+
559
+ # header parameters
560
+ header_params = opts[:header_params] || {}
561
+ # HTTP header 'Accept' (if needed)
562
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
563
+
564
+ # form parameters
565
+ form_params = opts[:form_params] || {}
566
+
567
+ # http body (model)
568
+ post_body = opts[:debug_body]
569
+
570
+ # return_type
571
+ return_type = opts[:debug_return_type] || 'CampaignsSummaryGetResponseBody'
572
+
573
+ # auth_names
574
+ auth_names = opts[:debug_auth_names] || ['X-App-Id', 'X-App-Token']
575
+
576
+ new_options = opts.merge(
577
+ :operation => :"CampaignsApi.get_campaign_summary",
578
+ :header_params => header_params,
579
+ :query_params => query_params,
580
+ :form_params => form_params,
581
+ :body => post_body,
582
+ :auth_names => auth_names,
583
+ :return_type => return_type
584
+ )
585
+
586
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
587
+ if @api_client.config.debugging
588
+ @api_client.config.logger.debug "API called: CampaignsApi#get_campaign_summary\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
589
+ end
590
+ return data, status_code, headers
591
+ end
592
+
462
593
  # Import Vouchers to Campaign
463
- # Imports vouchers to an **existing** campaign. This API request starts a process that affects Voucherify data in bulk. In case of small jobs (like bulk update) the request is put into a queue and processed once every other bulk request placed in the queue prior to this request is finished. However, when the job takes a longer time (like vouchers generation) then it is processed in small portions in a round-robin fashion. When there is a list of vouchers generation scheduled, then they will all have the IN_PROGRESS status shortly. This way, small jobs added just after scheduling big jobs of the same type will be processed in a short time window. The result will return the async ID. You can verify the status of your request via this API request.
594
+ # Imports vouchers to an **existing** campaign. This API request starts a process that affects Voucherify data in bulk. In case of small jobs (like bulk update) the request is put into a queue and processed once every other bulk request placed in the queue prior to this request is finished. However, when the job takes a longer time (like vouchers generation) then it is processed in small portions in a round-robin fashion. When there is a list of vouchers generation scheduled, then they will all have the IN_PROGRESS status shortly. This way, small jobs added just after scheduling big jobs of the same type will be processed in a short time window. The result will return the async ID. You can verify the status of your request via this [API request](/api-reference/async-actions/get-async-action).
464
595
  # @param campaign_id [String] The ID of an existing campaign to which youre importing the codes. You can either pass the campaign ID, which was assigned by Voucherify, or the name of the campaign as the path parameter value.
465
596
  # @param [Hash] opts the optional parameters
466
- # @option opts [Array<CampaignsImportVoucherItem>] :campaigns_import_voucher_item Discount type, expiration date and the remaining attributes will be taken from the Campaign settings.
597
+ # @option opts [Array<CampaignsImportVoucherItem>] :campaigns_import_voucher_item Discount type, expiration date and the remaining attributes will be taken from the [Campaign](/api-reference/campaigns/get-campaign) settings.
467
598
  # @return [CampaignsImportCreateResponseBody]
468
599
  def import_vouchers_to_campaign(campaign_id, opts = {})
469
600
  data, _status_code, _headers = import_vouchers_to_campaign_with_http_info(campaign_id, opts)
@@ -471,10 +602,10 @@ module VoucherifySdk
471
602
  end
472
603
 
473
604
  # Import Vouchers to Campaign
474
- # Imports vouchers to an **existing** campaign. This API request starts a process that affects Voucherify data in bulk. In case of small jobs (like bulk update) the request is put into a queue and processed once every other bulk request placed in the queue prior to this request is finished. However, when the job takes a longer time (like vouchers generation) then it is processed in small portions in a round-robin fashion. When there is a list of vouchers generation scheduled, then they will all have the IN_PROGRESS status shortly. This way, small jobs added just after scheduling big jobs of the same type will be processed in a short time window. The result will return the async ID. You can verify the status of your request via this API request.
605
+ # Imports vouchers to an **existing** campaign. This API request starts a process that affects Voucherify data in bulk. In case of small jobs (like bulk update) the request is put into a queue and processed once every other bulk request placed in the queue prior to this request is finished. However, when the job takes a longer time (like vouchers generation) then it is processed in small portions in a round-robin fashion. When there is a list of vouchers generation scheduled, then they will all have the IN_PROGRESS status shortly. This way, small jobs added just after scheduling big jobs of the same type will be processed in a short time window. The result will return the async ID. You can verify the status of your request via this [API request](/api-reference/async-actions/get-async-action).
475
606
  # @param campaign_id [String] The ID of an existing campaign to which youre importing the codes. You can either pass the campaign ID, which was assigned by Voucherify, or the name of the campaign as the path parameter value.
476
607
  # @param [Hash] opts the optional parameters
477
- # @option opts [Array<CampaignsImportVoucherItem>] :campaigns_import_voucher_item Discount type, expiration date and the remaining attributes will be taken from the Campaign settings.
608
+ # @option opts [Array<CampaignsImportVoucherItem>] :campaigns_import_voucher_item Discount type, expiration date and the remaining attributes will be taken from the [Campaign](/api-reference/campaigns/get-campaign) settings.
478
609
  # @return [Array<(CampaignsImportCreateResponseBody, Integer, Hash)>] CampaignsImportCreateResponseBody data, response status code and response headers
479
610
  private def import_vouchers_to_campaign_with_http_info(campaign_id, opts = {})
480
611
  if @api_client.config.debugging
@@ -526,7 +657,7 @@ module VoucherifySdk
526
657
  end
527
658
 
528
659
  # Import Vouchers to Campaign by CSV
529
- # Imports vouchers to an **existing** campaign. The CSV file has to include headers in the first line. This API request starts a process that affects Voucherify data in bulk. In case of small jobs (like bulk update) the request is put into a queue and processed once every other bulk request placed in the queue prior to this request is finished. However, when the job takes a longer time (like vouchers generation) then it is processed in small portions in a round-robin fashion. When there is a list of vouchers generation scheduled, then they will all have the IN_PROGRESS status shortly. This way, small jobs added just after scheduling big jobs of the same type will be processed in a short time window. The result will return the async ID. You can verify the status of your request via this API request.
660
+ # Imports vouchers to an **existing** campaign. The CSV file has to include headers in the first line. This API request starts a process that affects Voucherify data in bulk. In case of small jobs (like bulk update) the request is put into a queue and processed once every other bulk request placed in the queue prior to this request is finished. However, when the job takes a longer time (like vouchers generation) then it is processed in small portions in a round-robin fashion. When there is a list of vouchers generation scheduled, then they will all have the IN_PROGRESS status shortly. This way, small jobs added just after scheduling big jobs of the same type will be processed in a short time window. The result will return the async ID. You can verify the status of your request via this [API request](/api-reference/async-actions/get-async-action).
530
661
  # @param campaign_id [String] The campaign ID or name of the campaign being enabled. You can either pass the campaign ID, which was assigned by Voucherify or the name of the campaign as the path parameter value.
531
662
  # @param [Hash] opts the optional parameters
532
663
  # @option opts [File] :file File path.
@@ -537,7 +668,7 @@ module VoucherifySdk
537
668
  end
538
669
 
539
670
  # Import Vouchers to Campaign by CSV
540
- # Imports vouchers to an **existing** campaign. The CSV file has to include headers in the first line. This API request starts a process that affects Voucherify data in bulk. In case of small jobs (like bulk update) the request is put into a queue and processed once every other bulk request placed in the queue prior to this request is finished. However, when the job takes a longer time (like vouchers generation) then it is processed in small portions in a round-robin fashion. When there is a list of vouchers generation scheduled, then they will all have the IN_PROGRESS status shortly. This way, small jobs added just after scheduling big jobs of the same type will be processed in a short time window. The result will return the async ID. You can verify the status of your request via this API request.
671
+ # Imports vouchers to an **existing** campaign. The CSV file has to include headers in the first line. This API request starts a process that affects Voucherify data in bulk. In case of small jobs (like bulk update) the request is put into a queue and processed once every other bulk request placed in the queue prior to this request is finished. However, when the job takes a longer time (like vouchers generation) then it is processed in small portions in a round-robin fashion. When there is a list of vouchers generation scheduled, then they will all have the IN_PROGRESS status shortly. This way, small jobs added just after scheduling big jobs of the same type will be processed in a short time window. The result will return the async ID. You can verify the status of your request via this [API request](/api-reference/async-actions/get-async-action).
541
672
  # @param campaign_id [String] The campaign ID or name of the campaign being enabled. You can either pass the campaign ID, which was assigned by Voucherify or the name of the campaign as the path parameter value.
542
673
  # @param [Hash] opts the optional parameters
543
674
  # @option opts [File] :file File path.
@@ -592,15 +723,86 @@ module VoucherifySdk
592
723
  return data, status_code, headers
593
724
  end
594
725
 
726
+ # List Campaign Transactions
727
+ # Retrieves all transactions for the campaign with the given campaign ID or campaign name. The id filter denotes the unique transaction identifier. 🚧 The endpoint works only for gift card and loyalty campaigns.
728
+ # @param campaign_id [String] You can either pass the campaign ID, which was assigned by Voucherify, or the name of the campaign as the path parameter value.
729
+ # @param [Hash] opts the optional parameters
730
+ # @option opts [Integer] :limit Limits the number of objects to be returned. The limit can range between 1 and 100 items. If no limit is set, it returns 10 items.
731
+ # @option opts [ParameterOrderListTransactions] :order Sorts the results using one of the filtering options, where the dash - preceding a sorting option means sorting in a descending order.
732
+ # @option opts [String] :starting_after_id A cursor for pagination. It retrieves the transactions starting after a transaction with the given ID.
733
+ # @option opts [ParametersFiltersListCampaignTransactions] :filters Filters for listing responses.
734
+ # @return [CampaignsTransactionsListResponseBody]
735
+ def list_campaign_transactions(campaign_id, opts = {})
736
+ data, _status_code, _headers = list_campaign_transactions_with_http_info(campaign_id, opts)
737
+ data
738
+ end
739
+
740
+ # List Campaign Transactions
741
+ # Retrieves all transactions for the campaign with the given campaign ID or campaign name. The id filter denotes the unique transaction identifier. 🚧 The endpoint works only for gift card and loyalty campaigns.
742
+ # @param campaign_id [String] You can either pass the campaign ID, which was assigned by Voucherify, or the name of the campaign as the path parameter value.
743
+ # @param [Hash] opts the optional parameters
744
+ # @option opts [Integer] :limit Limits the number of objects to be returned. The limit can range between 1 and 100 items. If no limit is set, it returns 10 items.
745
+ # @option opts [ParameterOrderListTransactions] :order Sorts the results using one of the filtering options, where the dash - preceding a sorting option means sorting in a descending order.
746
+ # @option opts [String] :starting_after_id A cursor for pagination. It retrieves the transactions starting after a transaction with the given ID.
747
+ # @option opts [ParametersFiltersListCampaignTransactions] :filters Filters for listing responses.
748
+ # @return [Array<(CampaignsTransactionsListResponseBody, Integer, Hash)>] CampaignsTransactionsListResponseBody data, response status code and response headers
749
+ private def list_campaign_transactions_with_http_info(campaign_id, opts = {})
750
+ if @api_client.config.debugging
751
+ @api_client.config.logger.debug 'Calling API: CampaignsApi.list_campaign_transactions ...'
752
+ end
753
+ # resource path
754
+ local_var_path = '/v1/campaigns/{campaignId}/transactions'.sub('{' + 'campaignId' + '}', CGI.escape(campaign_id.to_s))
755
+
756
+ # query parameters
757
+ query_params = opts[:query_params] || {}
758
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
759
+ query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
760
+ query_params[:'starting_after_id'] = opts[:'starting_after_id'] if !opts[:'starting_after_id'].nil?
761
+ query_params[:'filters'] = opts[:'filters'] if !opts[:'filters'].nil?
762
+
763
+ # header parameters
764
+ header_params = opts[:header_params] || {}
765
+ # HTTP header 'Accept' (if needed)
766
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
767
+
768
+ # form parameters
769
+ form_params = opts[:form_params] || {}
770
+
771
+ # http body (model)
772
+ post_body = opts[:debug_body]
773
+
774
+ # return_type
775
+ return_type = opts[:debug_return_type] || 'CampaignsTransactionsListResponseBody'
776
+
777
+ # auth_names
778
+ auth_names = opts[:debug_auth_names] || ['X-App-Id', 'X-App-Token']
779
+
780
+ new_options = opts.merge(
781
+ :operation => :"CampaignsApi.list_campaign_transactions",
782
+ :header_params => header_params,
783
+ :query_params => query_params,
784
+ :form_params => form_params,
785
+ :body => post_body,
786
+ :auth_names => auth_names,
787
+ :return_type => return_type
788
+ )
789
+
790
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
791
+ if @api_client.config.debugging
792
+ @api_client.config.logger.debug "API called: CampaignsApi#list_campaign_transactions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
793
+ end
794
+ return data, status_code, headers
795
+ end
796
+
595
797
  # List Campaigns
596
798
  # Retrieve a list of campaigns in a project. The campaigns are returned sorted by creation date, with the most recent campaigns appearing first. When you get a list of campaigns, you can optionally specify query parameters to customize the amount of campaigns returned per call using limit, which page of campaigns to return using page, sort the campaigns using the order query parameter and filter the results by the campaign_type. This method will return an error when trying to return a limit of more than 100 campaigns.
597
799
  # @param [Hash] opts the optional parameters
598
800
  # @option opts [Integer] :limit Limits the number of objects to be returned. The limit can range between 1 and 100 items. If no limit is set, it returns 10 items.
599
801
  # @option opts [Integer] :page Which page of results to return. The lowest value is 1.
600
802
  # @option opts [ParameterCampaignType] :campaign_type This attribute allows filtering by campaign type.
601
- # @option opts [ParameterExpandListCampaigns] :expand Includes an expanded categories object in the response. If the [Areas and Stores](https://support.voucherify.io/article/623-areas-and-stores) Enterprise feature is enabled, add access_settings_assignments to return assigned areas and stores.
803
+ # @option opts [ParameterExpandListCampaigns] :expand Includes an expanded categories object in the response. If the [Areas and Stores](/orchestrate/areas-and-stores) Enterprise feature is enabled, add access_settings_assignments to return assigned areas and stores.
602
804
  # @option opts [ParameterOrderListCampaigns] :order Sorts the results using one of the filtering options, where the dash - preceding a sorting option means sorting in a descending order.
603
- # @option opts [ParameterFiltersListCampaigns] :filters Filters the results by campaign status or whether the campaign is a referral campaign.
805
+ # @option opts [ParameterFiltersListCampaigns] :filters Filters the results by various campaign properties.
604
806
  # @return [CampaignsListResponseBody]
605
807
  def list_campaigns(opts = {})
606
808
  data, _status_code, _headers = list_campaigns_with_http_info(opts)
@@ -613,9 +815,9 @@ module VoucherifySdk
613
815
  # @option opts [Integer] :limit Limits the number of objects to be returned. The limit can range between 1 and 100 items. If no limit is set, it returns 10 items.
614
816
  # @option opts [Integer] :page Which page of results to return. The lowest value is 1.
615
817
  # @option opts [ParameterCampaignType] :campaign_type This attribute allows filtering by campaign type.
616
- # @option opts [ParameterExpandListCampaigns] :expand Includes an expanded categories object in the response. If the [Areas and Stores](https://support.voucherify.io/article/623-areas-and-stores) Enterprise feature is enabled, add access_settings_assignments to return assigned areas and stores.
818
+ # @option opts [ParameterExpandListCampaigns] :expand Includes an expanded categories object in the response. If the [Areas and Stores](/orchestrate/areas-and-stores) Enterprise feature is enabled, add access_settings_assignments to return assigned areas and stores.
617
819
  # @option opts [ParameterOrderListCampaigns] :order Sorts the results using one of the filtering options, where the dash - preceding a sorting option means sorting in a descending order.
618
- # @option opts [ParameterFiltersListCampaigns] :filters Filters the results by campaign status or whether the campaign is a referral campaign.
820
+ # @option opts [ParameterFiltersListCampaigns] :filters Filters the results by various campaign properties.
619
821
  # @return [Array<(CampaignsListResponseBody, Integer, Hash)>] CampaignsListResponseBody data, response status code and response headers
620
822
  private def list_campaigns_with_http_info(opts = {})
621
823
  if @api_client.config.debugging
@@ -668,7 +870,7 @@ module VoucherifySdk
668
870
  end
669
871
 
670
872
  # Update Campaign
671
- # Updates the specified campaign by setting the values of the parameters passed in the request body. Any parameters not provided in the payload will be left unchanged. Fields other than the ones listed in the request body wont be modified. Even if provided, they will be silently skipped. ## Vouchers will be affected This method will update vouchers aggregated in the campaign. It will affect all vouchers that are not published or redeemed yet.
873
+ # Updates the specified campaign by setting the values of the parameters passed in the request body. Any parameters not provided in the payload will be left unchanged. Fields other than the ones listed in the request body wont be modified. Even if provided, they will be silently skipped. 🚧 Vouchers will be affected This method will update vouchers aggregated in the campaign. It will affect all vouchers that are not published or redeemed yet.
672
874
  # @param campaign_id [String] You can either pass the campaign ID, which was assigned by Voucherify, or the name of the campaign as the path parameter value.
673
875
  # @param [Hash] opts the optional parameters
674
876
  # @option opts [CampaignsUpdateRequestBody] :campaigns_update_request_body Specify the campaign parameters to be updated.
@@ -679,7 +881,7 @@ module VoucherifySdk
679
881
  end
680
882
 
681
883
  # Update Campaign
682
- # Updates the specified campaign by setting the values of the parameters passed in the request body. Any parameters not provided in the payload will be left unchanged. Fields other than the ones listed in the request body wont be modified. Even if provided, they will be silently skipped. ## Vouchers will be affected This method will update vouchers aggregated in the campaign. It will affect all vouchers that are not published or redeemed yet.
884
+ # Updates the specified campaign by setting the values of the parameters passed in the request body. Any parameters not provided in the payload will be left unchanged. Fields other than the ones listed in the request body wont be modified. Even if provided, they will be silently skipped. 🚧 Vouchers will be affected This method will update vouchers aggregated in the campaign. It will affect all vouchers that are not published or redeemed yet.
683
885
  # @param campaign_id [String] You can either pass the campaign ID, which was assigned by Voucherify, or the name of the campaign as the path parameter value.
684
886
  # @param [Hash] opts the optional parameters
685
887
  # @option opts [CampaignsUpdateRequestBody] :campaigns_update_request_body Specify the campaign parameters to be updated.
@@ -257,7 +257,7 @@ module VoucherifySdk
257
257
  end
258
258
 
259
259
  # Update Category
260
- # Update category using the category ID.
260
+ # Update a category using the category ID.
261
261
  # @param category_id [String] Unique category ID assigned by Voucherify.
262
262
  # @param [Hash] opts the optional parameters
263
263
  # @option opts [CategoriesUpdateRequestBody] :categories_update_request_body Specify the details of the category that you would like to update.
@@ -268,7 +268,7 @@ module VoucherifySdk
268
268
  end
269
269
 
270
270
  # Update Category
271
- # Update category using the category ID.
271
+ # Update a category using the category ID.
272
272
  # @param category_id [String] Unique category ID assigned by Voucherify.
273
273
  # @param [Hash] opts the optional parameters
274
274
  # @option opts [CategoriesUpdateRequestBody] :categories_update_request_body Specify the details of the category that you would like to update.
@@ -20,7 +20,7 @@ module VoucherifySdk
20
20
  @api_client = api_client
21
21
  end
22
22
  # Check Eligibility (client-side)
23
- # Generate a list of redeemables that are applicable in the context of the customer and order. The new qualifications method is an improved version of Campaign Qualifications, Voucher Qualifications, and Promotions Validation API requests. The new qualification method introduces the following improvements: - Qualification results are returned faster - No limit on the number of returned redeemables - Introduces new qualification scenarios, not available in the previous version 👍 Scenario Guide Read our dedicated guide to learn about some use cases this endpoint can cover here. # Paging The Voucherify Qualifications API request will return to you all of the redeemables available for the customer in batches of up to 50 redeemables. To get the next batch of redeemables, you need to use the starting_after cursor. To process of paging the redeemables works in the following manner: - You send the first API request for Qualifications without the starting_after parameter. - The response will contain a parameter named has_more. If the parameters value is set to true, then more redeemables are available. - Get the value of the created_at parameter of the last returned redeemable. The value of this parameter will be used as a cursor to retrieve the next page of redeemables. - Send another API request for Qualification with the starting_after parameter set to the value taken from the created_at parameter from the last returned redeemable. - Voucherify will return the next page of redeemables. - If the has_more parameter is set to true, apply steps 3-5 to get the next page of redeemables.
23
+ # Generate a list of redeemables that are applicable in the context of the customer and order. The new qualifications method is an improved version of [Campaign Qualifications](/api-reference/campaigns/examine-campaign-qualification), [Voucher Qualifications](/api-reference/vouchers/examine-voucher-qualification) API requests. The new qualification method introduces the following improvements: - Qualification results are returned faster - No limit on the number of returned redeemables - Introduces new qualification scenarios, not available in the previous version 👍 Scenario Guide Read our dedicated guide to learn about some use cases this endpoint can cover [here](/guides/checking-eligibility). # Paging The Voucherify Qualifications API request will return to you all of the redeemables available for the customer in batches of up to 50 redeemables per page. To get the next batch of redeemables, you need to use the starting_after cursor. To process of paging the redeemables works in the following manner: - You send the first API request for Qualifications without the starting_after parameter. - The response will contain a parameter named has_more. If the parameters value is set to true, then more redeemables are available. - Get the value of the created_at parameter of the last returned redeemable. The value of this parameter will be used as a cursor to retrieve the next page of redeemables. - Send another API request for Qualification with the starting_after parameter set to the value taken from the created_at parameter from the last returned redeemable. - Voucherify will return the next page of redeemables. - If the has_more parameter is set to true, apply steps 3-5 to get the next page of redeemables. # Caching Qualification has a 5-minute cache for the returned results. If you change your campaign settings or validation rules, the changes will apply to qualification results after the cache refreshes.
24
24
  # @param [Hash] opts the optional parameters
25
25
  # @option opts [ClientQualificationsCheckEligibilityRequestBody] :client_qualifications_check_eligibility_request_body Define order and customer context.
26
26
  # @return [ClientQualificationsCheckEligibilityResponseBody]
@@ -30,7 +30,7 @@ module VoucherifySdk
30
30
  end
31
31
 
32
32
  # Check Eligibility (client-side)
33
- # Generate a list of redeemables that are applicable in the context of the customer and order. The new qualifications method is an improved version of Campaign Qualifications, Voucher Qualifications, and Promotions Validation API requests. The new qualification method introduces the following improvements: - Qualification results are returned faster - No limit on the number of returned redeemables - Introduces new qualification scenarios, not available in the previous version 👍 Scenario Guide Read our dedicated guide to learn about some use cases this endpoint can cover here. # Paging The Voucherify Qualifications API request will return to you all of the redeemables available for the customer in batches of up to 50 redeemables. To get the next batch of redeemables, you need to use the starting_after cursor. To process of paging the redeemables works in the following manner: - You send the first API request for Qualifications without the starting_after parameter. - The response will contain a parameter named has_more. If the parameters value is set to true, then more redeemables are available. - Get the value of the created_at parameter of the last returned redeemable. The value of this parameter will be used as a cursor to retrieve the next page of redeemables. - Send another API request for Qualification with the starting_after parameter set to the value taken from the created_at parameter from the last returned redeemable. - Voucherify will return the next page of redeemables. - If the has_more parameter is set to true, apply steps 3-5 to get the next page of redeemables.
33
+ # Generate a list of redeemables that are applicable in the context of the customer and order. The new qualifications method is an improved version of [Campaign Qualifications](/api-reference/campaigns/examine-campaign-qualification), [Voucher Qualifications](/api-reference/vouchers/examine-voucher-qualification) API requests. The new qualification method introduces the following improvements: - Qualification results are returned faster - No limit on the number of returned redeemables - Introduces new qualification scenarios, not available in the previous version 👍 Scenario Guide Read our dedicated guide to learn about some use cases this endpoint can cover [here](/guides/checking-eligibility). # Paging The Voucherify Qualifications API request will return to you all of the redeemables available for the customer in batches of up to 50 redeemables per page. To get the next batch of redeemables, you need to use the starting_after cursor. To process of paging the redeemables works in the following manner: - You send the first API request for Qualifications without the starting_after parameter. - The response will contain a parameter named has_more. If the parameters value is set to true, then more redeemables are available. - Get the value of the created_at parameter of the last returned redeemable. The value of this parameter will be used as a cursor to retrieve the next page of redeemables. - Send another API request for Qualification with the starting_after parameter set to the value taken from the created_at parameter from the last returned redeemable. - Voucherify will return the next page of redeemables. - If the has_more parameter is set to true, apply steps 3-5 to get the next page of redeemables. # Caching Qualification has a 5-minute cache for the returned results. If you change your campaign settings or validation rules, the changes will apply to qualification results after the cache refreshes.
34
34
  # @param [Hash] opts the optional parameters
35
35
  # @option opts [ClientQualificationsCheckEligibilityRequestBody] :client_qualifications_check_eligibility_request_body Define order and customer context.
36
36
  # @return [Array<(ClientQualificationsCheckEligibilityResponseBody, Integer, Hash)>] ClientQualificationsCheckEligibilityResponseBody data, response status code and response headers
@@ -156,7 +156,7 @@ module VoucherifySdk
156
156
  end
157
157
 
158
158
  # Redeem Stackable Discounts (client-side)
159
- # This method is accessible through public keys which you can use in client side requests coming from mobile and web browser applications. # How API returns calculated discounts and order amounts in the response In the table below, you can see the logic the API follows to calculate discounts and amounts: 📘 Rollbacks You cant roll back a child redemption. When you call rollback on a stacked redemption, all child redemptions will be rolled back. You need to refer to a parent redemption ID in your rollback request.
159
+ # This method is accessible through public keys which you can use in client side requests coming from mobile and web browser applications. # How API returns calculated discounts and order amounts in the response In the table below, you can see the logic the API follows to calculate discounts and amounts: 📘 Rollbacks You cant roll back a child redemption. When you call rollback on a stacked redemption, all child redemptions will be rolled back. You need to refer to a parent redemption ID in your [rollback request](/api-reference/redemptions/rollback-stackable-redemptions).
160
160
  # @param origin [String] Indicates the origin (scheme, hostname, and port).
161
161
  # @param [Hash] opts the optional parameters
162
162
  # @option opts [ClientRedemptionsRedeemRequestBody] :client_redemptions_redeem_request_body
@@ -167,7 +167,7 @@ module VoucherifySdk
167
167
  end
168
168
 
169
169
  # Redeem Stackable Discounts (client-side)
170
- # This method is accessible through public keys which you can use in client side requests coming from mobile and web browser applications. # How API returns calculated discounts and order amounts in the response In the table below, you can see the logic the API follows to calculate discounts and amounts: 📘 Rollbacks You cant roll back a child redemption. When you call rollback on a stacked redemption, all child redemptions will be rolled back. You need to refer to a parent redemption ID in your rollback request.
170
+ # This method is accessible through public keys which you can use in client side requests coming from mobile and web browser applications. # How API returns calculated discounts and order amounts in the response In the table below, you can see the logic the API follows to calculate discounts and amounts: 📘 Rollbacks You cant roll back a child redemption. When you call rollback on a stacked redemption, all child redemptions will be rolled back. You need to refer to a parent redemption ID in your [rollback request](/api-reference/redemptions/rollback-stackable-redemptions).
171
171
  # @param origin [String] Indicates the origin (scheme, hostname, and port).
172
172
  # @param [Hash] opts the optional parameters
173
173
  # @option opts [ClientRedemptionsRedeemRequestBody] :client_redemptions_redeem_request_body