talon_one_sdk 26.01

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 (1911) hide show
  1. checksums.yaml +7 -0
  2. data/.github/.example/Gemfile +6 -0
  3. data/.github/.example/Gemfile.lock +47 -0
  4. data/.github/.example/example.rb +85 -0
  5. data/.github/workflows/autorelease.yml +135 -0
  6. data/.github/workflows/test.yml +75 -0
  7. data/.gitlab-ci.yml +26 -0
  8. data/.rspec +2 -0
  9. data/Gemfile +9 -0
  10. data/README.md +1038 -0
  11. data/Rakefile +10 -0
  12. data/docker-compose.yml +47 -0
  13. data/docs/APIError.md +22 -0
  14. data/docs/AcceptCouponEffectProps.md +18 -0
  15. data/docs/AcceptReferralEffectProps.md +18 -0
  16. data/docs/AccessLogEntry.md +35 -0
  17. data/docs/Account.md +52 -0
  18. data/docs/AccountAdditionalCost.md +32 -0
  19. data/docs/AccountAnalytics.md +56 -0
  20. data/docs/AccountDashboardStatistic.md +26 -0
  21. data/docs/AccountDashboardStatisticCampaigns.md +22 -0
  22. data/docs/AccountDashboardStatisticDiscount.md +22 -0
  23. data/docs/AccountDashboardStatisticLoyaltyPoints.md +20 -0
  24. data/docs/AccountDashboardStatisticReferrals.md +20 -0
  25. data/docs/AccountDashboardStatisticRevenue.md +22 -0
  26. data/docs/AccountEntity.md +18 -0
  27. data/docs/AccountLimits.md +44 -0
  28. data/docs/Achievement.md +52 -0
  29. data/docs/AchievementAdditionalProperties.md +26 -0
  30. data/docs/AchievementBase.md +38 -0
  31. data/docs/AchievementProgress.md +26 -0
  32. data/docs/AchievementProgressWithDefinition.md +48 -0
  33. data/docs/AchievementStatusEntry.md +48 -0
  34. data/docs/ActivateLoyaltyPoints.md +20 -0
  35. data/docs/ActivateLoyaltyPointsResponse.md +18 -0
  36. data/docs/ActivateUserRequest.md +18 -0
  37. data/docs/AddFreeItemEffectProps.md +22 -0
  38. data/docs/AddItemCatalogAction.md +26 -0
  39. data/docs/AddLoyaltyPoints.md +32 -0
  40. data/docs/AddLoyaltyPointsEffectProps.md +48 -0
  41. data/docs/AddPriceAdjustmentCatalogAction.md +20 -0
  42. data/docs/AddToAudienceEffectProps.md +24 -0
  43. data/docs/AddedDeductedPointsBalancesAction.md +26 -0
  44. data/docs/AddedDeductedPointsBalancesNotification.md +36 -0
  45. data/docs/AddedDeductedPointsBalancesNotificationPolicy.md +20 -0
  46. data/docs/AddedDeductedPointsNotification.md +42 -0
  47. data/docs/AddedDeductedPointsNotificationPolicy.md +20 -0
  48. data/docs/AdditionalCampaignProperties.md +64 -0
  49. data/docs/AdditionalCost.md +18 -0
  50. data/docs/AnalyticsDataPoint.md +20 -0
  51. data/docs/AnalyticsDataPointWithTrend.md +20 -0
  52. data/docs/AnalyticsDataPointWithTrendAndInfluencedRate.md +22 -0
  53. data/docs/AnalyticsDataPointWithTrendAndUplift.md +22 -0
  54. data/docs/AnalyticsProduct.md +24 -0
  55. data/docs/AnalyticsSKU.md +28 -0
  56. data/docs/Application.md +60 -0
  57. data/docs/ApplicationAPIKey.md +36 -0
  58. data/docs/ApplicationAnalyticsDataPoint.md +32 -0
  59. data/docs/ApplicationApiHealth.md +20 -0
  60. data/docs/ApplicationCIF.md +34 -0
  61. data/docs/ApplicationCIFExpression.md +28 -0
  62. data/docs/ApplicationCIFReferences.md +20 -0
  63. data/docs/ApplicationCampaignAnalytics.md +40 -0
  64. data/docs/ApplicationCampaignStats.md +28 -0
  65. data/docs/ApplicationCustomer.md +40 -0
  66. data/docs/ApplicationCustomerEntity.md +18 -0
  67. data/docs/ApplicationEntity.md +18 -0
  68. data/docs/ApplicationEvent.md +38 -0
  69. data/docs/ApplicationNotification.md +18 -0
  70. data/docs/ApplicationReferee.md +28 -0
  71. data/docs/ApplicationSession.md +46 -0
  72. data/docs/ApplicationSessionEntity.md +18 -0
  73. data/docs/ApplicationStoreEntity.md +18 -0
  74. data/docs/AsyncCouponCreationResponse.md +18 -0
  75. data/docs/AsyncCouponDeletionJobResponse.md +18 -0
  76. data/docs/AsyncCouponsData.md +26 -0
  77. data/docs/Attribute.md +50 -0
  78. data/docs/AttributesMandatory.md +20 -0
  79. data/docs/AttributesSettings.md +18 -0
  80. data/docs/Audience.md +36 -0
  81. data/docs/AudienceAnalytics.md +20 -0
  82. data/docs/AudienceCustomer.md +42 -0
  83. data/docs/AudienceIntegrationID.md +18 -0
  84. data/docs/AudienceMembership.md +20 -0
  85. data/docs/AudienceReference.md +22 -0
  86. data/docs/AwardGiveawayEffectProps.md +26 -0
  87. data/docs/BaseCampaign.md +46 -0
  88. data/docs/BaseLoyaltyProgram.md +46 -0
  89. data/docs/BaseNotification.md +26 -0
  90. data/docs/BaseNotificationEntity.md +20 -0
  91. data/docs/BaseNotificationWebhook.md +28 -0
  92. data/docs/BaseNotifications.md +18 -0
  93. data/docs/BaseSamlConnection.md +32 -0
  94. data/docs/BestPriorPrice.md +28 -0
  95. data/docs/BestPriorPriceMetadata.md +20 -0
  96. data/docs/BestPriorPriceRequest.md +26 -0
  97. data/docs/BestPriorPriceRequestTarget.md +20 -0
  98. data/docs/Binding.md +32 -0
  99. data/docs/BulkApplicationNotification.md +20 -0
  100. data/docs/BulkOperationOnCampaigns.md +22 -0
  101. data/docs/Campaign.md +116 -0
  102. data/docs/CampaignActivationRequest.md +18 -0
  103. data/docs/CampaignAnalytics.md +66 -0
  104. data/docs/CampaignBudget.md +22 -0
  105. data/docs/CampaignCollection.md +38 -0
  106. data/docs/CampaignCollectionEditedNotification.md +22 -0
  107. data/docs/CampaignCollectionEditedNotificationItem.md +24 -0
  108. data/docs/CampaignCollectionWithoutPayload.md +36 -0
  109. data/docs/CampaignCopy.md +30 -0
  110. data/docs/CampaignCreatedNotification.md +22 -0
  111. data/docs/CampaignCreatedNotificationItem.md +24 -0
  112. data/docs/CampaignDeactivationRequest.md +18 -0
  113. data/docs/CampaignDeletedNotification.md +22 -0
  114. data/docs/CampaignDeletedNotificationItem.md +22 -0
  115. data/docs/CampaignDetail.md +20 -0
  116. data/docs/CampaignEditedNotification.md +22 -0
  117. data/docs/CampaignEditedNotificationItem.md +24 -0
  118. data/docs/CampaignEntity.md +18 -0
  119. data/docs/CampaignEvaluationGroup.md +32 -0
  120. data/docs/CampaignEvaluationPosition.md +22 -0
  121. data/docs/CampaignEvaluationTreeChangedMessage.md +22 -0
  122. data/docs/CampaignEvaluationTreeChangedNotification.md +22 -0
  123. data/docs/CampaignGroup.md +32 -0
  124. data/docs/CampaignGroupEntity.md +18 -0
  125. data/docs/CampaignLogSummary.md +26 -0
  126. data/docs/CampaignNotificationBase.md +20 -0
  127. data/docs/CampaignNotificationGeneric.md +22 -0
  128. data/docs/CampaignNotificationItemBase.md +18 -0
  129. data/docs/CampaignNotificationPolicy.md +22 -0
  130. data/docs/CampaignRulesetChangedNotification.md +22 -0
  131. data/docs/CampaignRulesetChangedNotificationItem.md +24 -0
  132. data/docs/CampaignSearch.md +18 -0
  133. data/docs/CampaignSet.md +26 -0
  134. data/docs/CampaignSetBranchNode.md +34 -0
  135. data/docs/CampaignSetLeafNode.md +20 -0
  136. data/docs/CampaignSetNode.md +18 -0
  137. data/docs/CampaignStateChangedNotification.md +22 -0
  138. data/docs/CampaignStateChangedNotificationItem.md +26 -0
  139. data/docs/CampaignStoreBudget.md +26 -0
  140. data/docs/CampaignStoreBudgetLimitConfig.md +26 -0
  141. data/docs/CampaignTemplate.md +70 -0
  142. data/docs/CampaignTemplateCollection.md +20 -0
  143. data/docs/CampaignTemplateCouponReservationSettings.md +20 -0
  144. data/docs/CampaignTemplateParams.md +24 -0
  145. data/docs/CampaignVersions.md +30 -0
  146. data/docs/CardAddedDeductedPointsBalancesNotification.md +40 -0
  147. data/docs/CardAddedDeductedPointsBalancesNotificationPolicy.md +20 -0
  148. data/docs/CardAddedDeductedPointsNotification.md +46 -0
  149. data/docs/CardAddedDeductedPointsNotificationPolicy.md +20 -0
  150. data/docs/CardExpiringPointsNotificationPolicy.md +24 -0
  151. data/docs/CardExpiringPointsNotificationTrigger.md +20 -0
  152. data/docs/CardLedgerPointsEntryIntegrationAPI.md +38 -0
  153. data/docs/CardLedgerTransactionLogEntry.md +44 -0
  154. data/docs/CardLedgerTransactionLogEntryIntegrationAPI.md +44 -0
  155. data/docs/CartItem.md +58 -0
  156. data/docs/Catalog.md +34 -0
  157. data/docs/CatalogActionFilter.md +22 -0
  158. data/docs/CatalogItem.md +32 -0
  159. data/docs/CatalogSyncRequest.md +20 -0
  160. data/docs/CatalogsStrikethroughNotificationPolicy.md +22 -0
  161. data/docs/Change.md +32 -0
  162. data/docs/ChangeLoyaltyTierLevelEffectProps.md +28 -0
  163. data/docs/ChangeProfilePassword.md +20 -0
  164. data/docs/CodeGeneratorSettings.md +20 -0
  165. data/docs/Collection.md +40 -0
  166. data/docs/CollectionItem.md +18 -0
  167. data/docs/CollectionWithoutPayload.md +38 -0
  168. data/docs/Coupon.md +60 -0
  169. data/docs/CouponConstraints.md +26 -0
  170. data/docs/CouponCreatedEffectProps.md +20 -0
  171. data/docs/CouponCreationJob.md +60 -0
  172. data/docs/CouponDeletionFilters.md +44 -0
  173. data/docs/CouponDeletionJob.md +40 -0
  174. data/docs/CouponEntity.md +20 -0
  175. data/docs/CouponFailureSummary.md +38 -0
  176. data/docs/CouponLimitConfigs.md +18 -0
  177. data/docs/CouponRejectionReason.md +22 -0
  178. data/docs/CouponRejections.md +22 -0
  179. data/docs/CouponReservations.md +18 -0
  180. data/docs/CouponSearch.md +18 -0
  181. data/docs/CouponValue.md +18 -0
  182. data/docs/CouponsNotificationData.md +28 -0
  183. data/docs/CouponsNotificationPolicy.md +26 -0
  184. data/docs/CreateAchievement.md +38 -0
  185. data/docs/CreateApplicationAPIKey.md +26 -0
  186. data/docs/CreateCouponData.md +30 -0
  187. data/docs/CreateCoupons200Response.md +20 -0
  188. data/docs/CreateManagementKey.md +24 -0
  189. data/docs/CreateReferralsForMultipleAdvocates201Response.md +20 -0
  190. data/docs/CreateTemplateCampaign.md +36 -0
  191. data/docs/CreateTemplateCampaignResponse.md +22 -0
  192. data/docs/CustomEffect.md +44 -0
  193. data/docs/CustomEffectProps.md +30 -0
  194. data/docs/CustomerActivityReport.md +42 -0
  195. data/docs/CustomerAnalytics.md +30 -0
  196. data/docs/CustomerInventory.md +28 -0
  197. data/docs/CustomerProfile.md +38 -0
  198. data/docs/CustomerProfileAudienceRequest.md +18 -0
  199. data/docs/CustomerProfileAudienceRequestItem.md +22 -0
  200. data/docs/CustomerProfileEntity.md +20 -0
  201. data/docs/CustomerProfileIntegrationRequestV2.md +24 -0
  202. data/docs/CustomerProfileIntegrationResponseV2.md +34 -0
  203. data/docs/CustomerProfileSearchQuery.md +22 -0
  204. data/docs/CustomerProfileUpdateV2Response.md +18 -0
  205. data/docs/CustomerSession.md +46 -0
  206. data/docs/CustomerSessionV2.md +58 -0
  207. data/docs/DeactivateUserRequest.md +18 -0
  208. data/docs/DeductLoyaltyPoints.md +24 -0
  209. data/docs/DeductLoyaltyPointsEffectProps.md +30 -0
  210. data/docs/DeleteCouponsData.md +32 -0
  211. data/docs/DeleteUserRequest.md +18 -0
  212. data/docs/Effect.md +48 -0
  213. data/docs/EffectEntity.md +46 -0
  214. data/docs/EmailEntity.md +18 -0
  215. data/docs/Endpoint.md +18 -0
  216. data/docs/Entity.md +20 -0
  217. data/docs/EntityWithTalangVisibleID.md +20 -0
  218. data/docs/Environment.md +48 -0
  219. data/docs/ErrorEffectProps.md +18 -0
  220. data/docs/ErrorResponse.md +20 -0
  221. data/docs/ErrorResponseWithStatus.md +22 -0
  222. data/docs/ErrorSource.md +24 -0
  223. data/docs/EvaluableCampaignIds.md +18 -0
  224. data/docs/Event.md +38 -0
  225. data/docs/EventType.md +26 -0
  226. data/docs/EventV2.md +26 -0
  227. data/docs/EventV3.md +32 -0
  228. data/docs/ExpiringCardPointsData.md +30 -0
  229. data/docs/ExpiringCardPointsNotification.md +22 -0
  230. data/docs/ExpiringCouponsData.md +36 -0
  231. data/docs/ExpiringCouponsNotification.md +22 -0
  232. data/docs/ExpiringCouponsNotificationPolicy.md +24 -0
  233. data/docs/ExpiringCouponsNotificationTrigger.md +20 -0
  234. data/docs/ExpiringPointsData.md +26 -0
  235. data/docs/ExpiringPointsNotification.md +22 -0
  236. data/docs/ExpiringPointsNotificationPolicy.md +24 -0
  237. data/docs/ExpiringPointsNotificationTrigger.md +20 -0
  238. data/docs/Export.md +28 -0
  239. data/docs/ExtendLoyaltyPointsExpiryDateEffectProps.md +24 -0
  240. data/docs/ExtendedCoupon.md +62 -0
  241. data/docs/FeatureFlag.md +24 -0
  242. data/docs/FeaturesFeed.md +20 -0
  243. data/docs/FuncArgDef.md +20 -0
  244. data/docs/FunctionDef.md +26 -0
  245. data/docs/GenerateAuditLogSummary.md +18 -0
  246. data/docs/GenerateCampaignDescription.md +22 -0
  247. data/docs/GenerateCampaignSummary.md +22 -0
  248. data/docs/GenerateCampaignTags.md +18 -0
  249. data/docs/GenerateCouponFailureDetailedSummary.md +26 -0
  250. data/docs/GenerateCouponFailureSummary.md +20 -0
  251. data/docs/GenerateItemFilterDescription.md +18 -0
  252. data/docs/GenerateLoyaltyCard.md +22 -0
  253. data/docs/GenerateRuleTitle.md +20 -0
  254. data/docs/GenerateRuleTitleRule.md +20 -0
  255. data/docs/GenerateUserSessionSummary.md +20 -0
  256. data/docs/GetAccessLogsWithoutTotalCount200Response.md +20 -0
  257. data/docs/GetAdditionalCosts200Response.md +20 -0
  258. data/docs/GetApplicationCustomerFriends200Response.md +22 -0
  259. data/docs/GetApplicationCustomers200Response.md +22 -0
  260. data/docs/GetApplicationCustomersByAttributes200Response.md +22 -0
  261. data/docs/GetApplicationEventTypes200Response.md +20 -0
  262. data/docs/GetApplicationEventsWithoutTotalCount200Response.md +20 -0
  263. data/docs/GetApplicationSessions200Response.md +20 -0
  264. data/docs/GetApplications200Response.md +20 -0
  265. data/docs/GetAttributes200Response.md +20 -0
  266. data/docs/GetAudienceMemberships200Response.md +20 -0
  267. data/docs/GetAudiences200Response.md +22 -0
  268. data/docs/GetAudiencesAnalytics200Response.md +20 -0
  269. data/docs/GetCampaignAnalytics200Response.md +20 -0
  270. data/docs/GetCampaignGroups200Response.md +20 -0
  271. data/docs/GetCampaignTemplates200Response.md +20 -0
  272. data/docs/GetCampaigns200Response.md +20 -0
  273. data/docs/GetChanges200Response.md +22 -0
  274. data/docs/GetCollectionItems200Response.md +20 -0
  275. data/docs/GetCouponsWithoutTotalCount200Response.md +20 -0
  276. data/docs/GetCustomerAchievementHistory200Response.md +20 -0
  277. data/docs/GetCustomerAchievements200Response.md +20 -0
  278. data/docs/GetCustomerActivityReportsWithoutTotalCount200Response.md +20 -0
  279. data/docs/GetCustomerProfileAchievementProgress200Response.md +20 -0
  280. data/docs/GetCustomerProfiles200Response.md +20 -0
  281. data/docs/GetCustomersByAttributes200Response.md +22 -0
  282. data/docs/GetDashboardStatistics200Response.md +20 -0
  283. data/docs/GetEventTypes200Response.md +20 -0
  284. data/docs/GetExports200Response.md +20 -0
  285. data/docs/GetIntegrationCouponRequest.md +20 -0
  286. data/docs/GetLoyaltyCardPoints200Response.md +20 -0
  287. data/docs/GetLoyaltyCardTransactionLogs200Response.md +20 -0
  288. data/docs/GetLoyaltyCardTransactions200Response.md +20 -0
  289. data/docs/GetLoyaltyCards200Response.md +20 -0
  290. data/docs/GetLoyaltyProgramProfilePoints200Response.md +20 -0
  291. data/docs/GetLoyaltyProgramProfileTransactions200Response.md +20 -0
  292. data/docs/GetLoyaltyProgramTransactions200Response.md +20 -0
  293. data/docs/GetLoyaltyPrograms200Response.md +20 -0
  294. data/docs/GetReferralsWithoutTotalCount200Response.md +20 -0
  295. data/docs/GetReservedCustomers200Response.md +20 -0
  296. data/docs/GetRulesets200Response.md +20 -0
  297. data/docs/GetUsers200Response.md +20 -0
  298. data/docs/GetWebhooks200Response.md +20 -0
  299. data/docs/Giveaway.md +38 -0
  300. data/docs/GiveawaysPool.md +36 -0
  301. data/docs/HiddenConditionsEffects.md +24 -0
  302. data/docs/IdentifiableEntity.md +18 -0
  303. data/docs/Import.md +28 -0
  304. data/docs/ImportEntity.md +18 -0
  305. data/docs/IncreaseAchievementProgressEffectProps.md +30 -0
  306. data/docs/IntegrationApi.md +2507 -0
  307. data/docs/IntegrationCoupon.md +62 -0
  308. data/docs/IntegrationCustomerProfileAudienceRequest.md +18 -0
  309. data/docs/IntegrationCustomerProfileAudienceRequestItem.md +22 -0
  310. data/docs/IntegrationCustomerSessionResponse.md +20 -0
  311. data/docs/IntegrationEntity.md +20 -0
  312. data/docs/IntegrationEvent.md +24 -0
  313. data/docs/IntegrationEventV2Request.md +30 -0
  314. data/docs/IntegrationEventV3Request.md +36 -0
  315. data/docs/IntegrationEventV3Response.md +34 -0
  316. data/docs/IntegrationProfileEntity.md +18 -0
  317. data/docs/IntegrationProfileEntityV3.md +18 -0
  318. data/docs/IntegrationRequest.md +20 -0
  319. data/docs/IntegrationState.md +26 -0
  320. data/docs/IntegrationStateV2.md +44 -0
  321. data/docs/IntegrationStoreEntity.md +18 -0
  322. data/docs/InventoryCoupon.md +64 -0
  323. data/docs/InventoryReferral.md +44 -0
  324. data/docs/ItemAttribute.md +22 -0
  325. data/docs/LabelTargetAudience.md +20 -0
  326. data/docs/LabelTargetNone.md +18 -0
  327. data/docs/LedgerEntry.md +36 -0
  328. data/docs/LedgerInfo.md +36 -0
  329. data/docs/LedgerPointsEntryIntegrationAPI.md +36 -0
  330. data/docs/LedgerTransactionLogEntryIntegrationAPI.md +44 -0
  331. data/docs/LibraryAttribute.md +30 -0
  332. data/docs/LimitConfig.md +24 -0
  333. data/docs/LimitCounter.md +46 -0
  334. data/docs/ListAccountCollections200Response.md +22 -0
  335. data/docs/ListAchievements200Response.md +20 -0
  336. data/docs/ListAllRolesV2200Response.md +20 -0
  337. data/docs/ListCampaignStoreBudgetLimits200Response.md +18 -0
  338. data/docs/ListCampaignStoreBudgets.md +24 -0
  339. data/docs/ListCampaignStoreBudgetsStore.md +22 -0
  340. data/docs/ListCatalogItems200Response.md +22 -0
  341. data/docs/ListStores200Response.md +22 -0
  342. data/docs/LoginParams.md +20 -0
  343. data/docs/Loyalty.md +20 -0
  344. data/docs/LoyaltyBalance.md +26 -0
  345. data/docs/LoyaltyBalanceWithTier.md +34 -0
  346. data/docs/LoyaltyBalances.md +20 -0
  347. data/docs/LoyaltyBalancesWithTiers.md +20 -0
  348. data/docs/LoyaltyCard.md +48 -0
  349. data/docs/LoyaltyCardBalances.md +22 -0
  350. data/docs/LoyaltyCardBatch.md +24 -0
  351. data/docs/LoyaltyCardBatchResponse.md +20 -0
  352. data/docs/LoyaltyCardProfileRegistration.md +20 -0
  353. data/docs/LoyaltyCardRegistration.md +18 -0
  354. data/docs/LoyaltyDashboardData.md +36 -0
  355. data/docs/LoyaltyDashboardPointsBreakdown.md +20 -0
  356. data/docs/LoyaltyLedger.md +20 -0
  357. data/docs/LoyaltyLedgerEntry.md +46 -0
  358. data/docs/LoyaltyLedgerEntryExpiryDateChange.md +22 -0
  359. data/docs/LoyaltyLedgerEntryFlags.md +18 -0
  360. data/docs/LoyaltyLedgerTransactions.md +20 -0
  361. data/docs/LoyaltyMembership.md +20 -0
  362. data/docs/LoyaltyProgram.md +68 -0
  363. data/docs/LoyaltyProgramBalance.md +32 -0
  364. data/docs/LoyaltyProgramEntity.md +22 -0
  365. data/docs/LoyaltyProgramLedgers.md +28 -0
  366. data/docs/LoyaltyProgramTransaction.md +56 -0
  367. data/docs/LoyaltySubLedger.md +40 -0
  368. data/docs/LoyaltyTier.md +30 -0
  369. data/docs/ManagementApi.md +15237 -0
  370. data/docs/ManagementKey.md +36 -0
  371. data/docs/ManagerConfig.md +18 -0
  372. data/docs/MessageLogEntries.md +20 -0
  373. data/docs/MessageLogEntry.md +46 -0
  374. data/docs/MessageLogRequest.md +20 -0
  375. data/docs/MessageLogResponse.md +22 -0
  376. data/docs/MessageTest.md +28 -0
  377. data/docs/Meta.md +26 -0
  378. data/docs/ModelReturn.md +38 -0
  379. data/docs/MultiApplicationEntity.md +18 -0
  380. data/docs/MultipleAttribute.md +18 -0
  381. data/docs/MultipleAudiences.md +20 -0
  382. data/docs/MultipleAudiencesItem.md +26 -0
  383. data/docs/MultipleCustomerProfileIntegrationRequest.md +18 -0
  384. data/docs/MultipleCustomerProfileIntegrationRequestItem.md +20 -0
  385. data/docs/MultipleCustomerProfileIntegrationResponseV2.md +18 -0
  386. data/docs/MultipleNewAttribute.md +18 -0
  387. data/docs/MultipleNewAudiences.md +18 -0
  388. data/docs/MutableEntity.md +18 -0
  389. data/docs/NewAccount.md +18 -0
  390. data/docs/NewAccountSignUp.md +22 -0
  391. data/docs/NewAdditionalCost.md +26 -0
  392. data/docs/NewAppWideCouponDeletionJob.md +20 -0
  393. data/docs/NewApplication.md +48 -0
  394. data/docs/NewApplicationAPIKey.md +38 -0
  395. data/docs/NewApplicationCIF.md +28 -0
  396. data/docs/NewApplicationCIFExpression.md +22 -0
  397. data/docs/NewAttribute.md +42 -0
  398. data/docs/NewAudience.md +30 -0
  399. data/docs/NewBaseNotification.md +22 -0
  400. data/docs/NewCampaign.md +48 -0
  401. data/docs/NewCampaignCollection.md +20 -0
  402. data/docs/NewCampaignEvaluationGroup.md +28 -0
  403. data/docs/NewCampaignGroup.md +24 -0
  404. data/docs/NewCampaignSet.md +22 -0
  405. data/docs/NewCampaignStoreBudget.md +22 -0
  406. data/docs/NewCampaignStoreBudgetStoreLimit.md +20 -0
  407. data/docs/NewCampaignTemplate.md +48 -0
  408. data/docs/NewCatalog.md +22 -0
  409. data/docs/NewCollection.md +22 -0
  410. data/docs/NewCouponCreationJob.md +32 -0
  411. data/docs/NewCouponDeletionJob.md +18 -0
  412. data/docs/NewCoupons.md +44 -0
  413. data/docs/NewCouponsForMultipleRecipients.md +34 -0
  414. data/docs/NewCustomEffect.md +32 -0
  415. data/docs/NewCustomerProfile.md +18 -0
  416. data/docs/NewCustomerSession.md +32 -0
  417. data/docs/NewCustomerSessionV2.md +38 -0
  418. data/docs/NewEvent.md +26 -0
  419. data/docs/NewEventType.md +22 -0
  420. data/docs/NewExternalInvitation.md +22 -0
  421. data/docs/NewGiveawaysPool.md +24 -0
  422. data/docs/NewInternalAudience.md +22 -0
  423. data/docs/NewInvitation.md +26 -0
  424. data/docs/NewInviteEmail.md +20 -0
  425. data/docs/NewLoyaltyProgram.md +54 -0
  426. data/docs/NewLoyaltyTier.md +20 -0
  427. data/docs/NewManagementKey.md +38 -0
  428. data/docs/NewMessageTest.md +32 -0
  429. data/docs/NewMultipleAudiencesItem.md +20 -0
  430. data/docs/NewNotificationWebhook.md +22 -0
  431. data/docs/NewOutgoingIntegrationWebhook.md +22 -0
  432. data/docs/NewPassword.md +20 -0
  433. data/docs/NewPasswordEmail.md +18 -0
  434. data/docs/NewPicklist.md +20 -0
  435. data/docs/NewPriceAdjustment.md +30 -0
  436. data/docs/NewPriceType.md +24 -0
  437. data/docs/NewReferral.md +30 -0
  438. data/docs/NewReferralsForMultipleAdvocates.md +32 -0
  439. data/docs/NewReturn.md +18 -0
  440. data/docs/NewRevisionVersion.md +38 -0
  441. data/docs/NewRole.md +24 -0
  442. data/docs/NewRoleV2.md +24 -0
  443. data/docs/NewRuleset.md +26 -0
  444. data/docs/NewSamlConnection.md +34 -0
  445. data/docs/NewSecondaryDeployment.md +18 -0
  446. data/docs/NewStore.md +24 -0
  447. data/docs/NewTemplateDef.md +30 -0
  448. data/docs/NewUser.md +24 -0
  449. data/docs/NewWebhook.md +40 -0
  450. data/docs/Notification.md +22 -0
  451. data/docs/NotificationActivation.md +18 -0
  452. data/docs/NotificationListItem.md +24 -0
  453. data/docs/OktaEvent.md +20 -0
  454. data/docs/OktaEventPayload.md +18 -0
  455. data/docs/OktaEventPayloadData.md +18 -0
  456. data/docs/OktaEventTarget.md +22 -0
  457. data/docs/OneTimeCode.md +24 -0
  458. data/docs/OutgoingIntegrationBrazePolicy.md +20 -0
  459. data/docs/OutgoingIntegrationCleverTapPolicy.md +22 -0
  460. data/docs/OutgoingIntegrationConfiguration.md +24 -0
  461. data/docs/OutgoingIntegrationIterablePolicy.md +20 -0
  462. data/docs/OutgoingIntegrationMoEngagePolicy.md +24 -0
  463. data/docs/OutgoingIntegrationTemplate.md +34 -0
  464. data/docs/OutgoingIntegrationTemplateWithConfigurationDetails.md +36 -0
  465. data/docs/OutgoingIntegrationTemplates.md +18 -0
  466. data/docs/OutgoingIntegrationType.md +26 -0
  467. data/docs/OutgoingIntegrationTypes.md +18 -0
  468. data/docs/PatchItemCatalogAction.md +26 -0
  469. data/docs/PatchManyItemsCatalogAction.md +22 -0
  470. data/docs/PendingActivePointsData.md +30 -0
  471. data/docs/PendingActivePointsNotification.md +22 -0
  472. data/docs/PendingPointsNotificationPolicy.md +22 -0
  473. data/docs/Picklist.md +32 -0
  474. data/docs/PriceDetail.md +26 -0
  475. data/docs/PriceType.md +34 -0
  476. data/docs/PriceTypeReferenceDetail.md +24 -0
  477. data/docs/PriceTypeReferences.md +20 -0
  478. data/docs/PrismaticConfig.md +20 -0
  479. data/docs/PrismaticEventPayloadCouponBasedNotifications.md +52 -0
  480. data/docs/PrismaticEventPayloadCouponBasedNotificationsLimits.md +24 -0
  481. data/docs/PrismaticEventPayloadLoyaltyProfileBasedNotifications.md +46 -0
  482. data/docs/PrismaticEventPayloadLoyaltyProfileBasedNotificationsAction.md +26 -0
  483. data/docs/PrismaticFlow.md +22 -0
  484. data/docs/PrismaticFlowConfig.md +18 -0
  485. data/docs/PrismaticFlowWithConfig.md +24 -0
  486. data/docs/PrismaticPaginatedEventPayload.md +22 -0
  487. data/docs/Product.md +18 -0
  488. data/docs/ProductSearchMatch.md +22 -0
  489. data/docs/ProductUnitAnalytics.md +20 -0
  490. data/docs/ProductUnitAnalyticsDataPoint.md +26 -0
  491. data/docs/ProductUnitAnalyticsTotals.md +18 -0
  492. data/docs/ProfileAudiencesChanges.md +20 -0
  493. data/docs/ProjectedTier.md +22 -0
  494. data/docs/RedeemReferralEffectProps.md +20 -0
  495. data/docs/Referral.md +42 -0
  496. data/docs/ReferralConstraints.md +22 -0
  497. data/docs/ReferralCreatedEffectProps.md +18 -0
  498. data/docs/ReferralRejectionReason.md +22 -0
  499. data/docs/RejectCouponEffectProps.md +28 -0
  500. data/docs/RejectReferralEffectProps.md +28 -0
  501. data/docs/RemoveFromAudienceEffectProps.md +24 -0
  502. data/docs/RemoveItemCatalogAction.md +18 -0
  503. data/docs/RemoveManyItemsCatalogAction.md +18 -0
  504. data/docs/ReopenSessionResponse.md +18 -0
  505. data/docs/ReserveCouponEffectProps.md +22 -0
  506. data/docs/ReturnIntegrationRequest.md +20 -0
  507. data/docs/ReturnedCartItem.md +22 -0
  508. data/docs/Revision.md +36 -0
  509. data/docs/RevisionActivation.md +18 -0
  510. data/docs/RevisionActivationRequest.md +20 -0
  511. data/docs/RevisionVersion.md +54 -0
  512. data/docs/Role.md +34 -0
  513. data/docs/RoleAssign.md +20 -0
  514. data/docs/RoleMembership.md +20 -0
  515. data/docs/RoleV2.md +34 -0
  516. data/docs/RoleV2ApplicationDetails.md +24 -0
  517. data/docs/RoleV2Base.md +24 -0
  518. data/docs/RoleV2PermissionSet.md +20 -0
  519. data/docs/RoleV2Permissions.md +20 -0
  520. data/docs/RoleV2Readonly.md +18 -0
  521. data/docs/RoleV2RolesGroup.md +24 -0
  522. data/docs/RollbackAddedLoyaltyPointsEffectProps.md +32 -0
  523. data/docs/RollbackCouponEffectProps.md +18 -0
  524. data/docs/RollbackDeductedLoyaltyPointsEffectProps.md +32 -0
  525. data/docs/RollbackDiscountEffectProps.md +30 -0
  526. data/docs/RollbackIncreasedAchievementProgressEffectProps.md +28 -0
  527. data/docs/RollbackReferralEffectProps.md +18 -0
  528. data/docs/Rule.md +30 -0
  529. data/docs/RuleFailureReason.md +44 -0
  530. data/docs/Ruleset.md +38 -0
  531. data/docs/SSOConfig.md +20 -0
  532. data/docs/SamlConnection.md +38 -0
  533. data/docs/SamlConnectionInternal.md +20 -0
  534. data/docs/SamlConnectionMetadata.md +24 -0
  535. data/docs/SamlLoginEndpoint.md +22 -0
  536. data/docs/ScimBaseGroup.md +20 -0
  537. data/docs/ScimBaseUser.md +24 -0
  538. data/docs/ScimBaseUserName.md +18 -0
  539. data/docs/ScimGroup.md +22 -0
  540. data/docs/ScimGroupMember.md +20 -0
  541. data/docs/ScimGroupsListResponse.md +22 -0
  542. data/docs/ScimNewUser.md +24 -0
  543. data/docs/ScimPatchOperation.md +22 -0
  544. data/docs/ScimPatchRequest.md +20 -0
  545. data/docs/ScimResource.md +22 -0
  546. data/docs/ScimResourceTypesListResponse.md +18 -0
  547. data/docs/ScimSchemaResource.md +24 -0
  548. data/docs/ScimSchemasListResponse.md +22 -0
  549. data/docs/ScimServiceProviderConfigResponse.md +30 -0
  550. data/docs/ScimServiceProviderConfigResponseBulk.md +22 -0
  551. data/docs/ScimServiceProviderConfigResponseChangePassword.md +18 -0
  552. data/docs/ScimServiceProviderConfigResponseFilter.md +20 -0
  553. data/docs/ScimServiceProviderConfigResponsePatch.md +18 -0
  554. data/docs/ScimServiceProviderConfigResponseSort.md +18 -0
  555. data/docs/ScimUser.md +26 -0
  556. data/docs/ScimUsersListResponse.md +22 -0
  557. data/docs/SecondaryDeployment.md +32 -0
  558. data/docs/Session.md +22 -0
  559. data/docs/SessionCoupons.md +20 -0
  560. data/docs/SetDiscountEffectProps.md +24 -0
  561. data/docs/SetDiscountPerAdditionalCostEffectProps.md +26 -0
  562. data/docs/SetDiscountPerAdditionalCostPerItemEffectProps.md +30 -0
  563. data/docs/SetDiscountPerItemEffectProps.md +40 -0
  564. data/docs/SetLoyaltyPointsExpiryDateEffectProps.md +24 -0
  565. data/docs/ShowBundleMetadataEffectProps.md +22 -0
  566. data/docs/ShowNotificationEffectProps.md +22 -0
  567. data/docs/SkuUnitAnalytics.md +20 -0
  568. data/docs/SkuUnitAnalyticsDataPoint.md +24 -0
  569. data/docs/SlotDef.md +28 -0
  570. data/docs/Store.md +34 -0
  571. data/docs/StrikethroughChangedItem.md +32 -0
  572. data/docs/StrikethroughCustomEffectPerItemProps.md +22 -0
  573. data/docs/StrikethroughDebugResponse.md +20 -0
  574. data/docs/StrikethroughEffect.md +40 -0
  575. data/docs/StrikethroughLabelingNotification.md +34 -0
  576. data/docs/StrikethroughSetDiscountPerItemEffectProps.md +20 -0
  577. data/docs/StrikethroughSetDiscountPerItemMemberEffectProps.md +20 -0
  578. data/docs/StrikethroughTrigger.md +26 -0
  579. data/docs/SummarizeCampaignStoreBudget200Response.md +18 -0
  580. data/docs/SummaryCampaignStoreBudget.md +24 -0
  581. data/docs/TalangAttribute.md +34 -0
  582. data/docs/TalangAttributeVisibility.md +20 -0
  583. data/docs/TemplateArgDef.md +30 -0
  584. data/docs/TemplateDef.md +38 -0
  585. data/docs/TemplateLimitConfig.md +24 -0
  586. data/docs/Tier.md +26 -0
  587. data/docs/TierDowngradeData.md +32 -0
  588. data/docs/TierDowngradeNotification.md +22 -0
  589. data/docs/TierDowngradeNotificationPolicy.md +22 -0
  590. data/docs/TierUpgradeData.md +36 -0
  591. data/docs/TierUpgradeNotification.md +22 -0
  592. data/docs/TierUpgradeNotificationPolicy.md +22 -0
  593. data/docs/TierWillDowngradeData.md +32 -0
  594. data/docs/TierWillDowngradeNotification.md +22 -0
  595. data/docs/TierWillDowngradeNotificationPolicy.md +24 -0
  596. data/docs/TierWillDowngradeNotificationTrigger.md +20 -0
  597. data/docs/TimePoint.md +28 -0
  598. data/docs/TrackEventV2Response.md +34 -0
  599. data/docs/TransferLoyaltyCard.md +20 -0
  600. data/docs/TriggerWebhookEffectProps.md +20 -0
  601. data/docs/TwoFAConfig.md +20 -0
  602. data/docs/UpdateAccount.md +26 -0
  603. data/docs/UpdateAchievement.md +38 -0
  604. data/docs/UpdateApplication.md +50 -0
  605. data/docs/UpdateApplicationAPIKey.md +18 -0
  606. data/docs/UpdateApplicationCIF.md +24 -0
  607. data/docs/UpdateAttributeEffectProps.md +20 -0
  608. data/docs/UpdateAudience.md +18 -0
  609. data/docs/UpdateCampaign.md +48 -0
  610. data/docs/UpdateCampaignCollection.md +18 -0
  611. data/docs/UpdateCampaignEvaluationGroup.md +28 -0
  612. data/docs/UpdateCampaignGroup.md +24 -0
  613. data/docs/UpdateCampaignTemplate.md +52 -0
  614. data/docs/UpdateCatalog.md +22 -0
  615. data/docs/UpdateCollection.md +20 -0
  616. data/docs/UpdateCoupon.md +36 -0
  617. data/docs/UpdateCouponBatch.md +30 -0
  618. data/docs/UpdateCouponsData.md +30 -0
  619. data/docs/UpdateCustomEffect.md +32 -0
  620. data/docs/UpdateCustomerProfileV2409Response.md +22 -0
  621. data/docs/UpdateCustomerSessionV2409Response.md +22 -0
  622. data/docs/UpdateLoyaltyCard.md +20 -0
  623. data/docs/UpdateLoyaltyProgram.md +48 -0
  624. data/docs/UpdateLoyaltyProgramTier.md +22 -0
  625. data/docs/UpdatePicklist.md +20 -0
  626. data/docs/UpdatePriceType.md +22 -0
  627. data/docs/UpdateReferral.md +26 -0
  628. data/docs/UpdateReferralBatch.md +26 -0
  629. data/docs/UpdateRole.md +24 -0
  630. data/docs/UpdateStore.md +22 -0
  631. data/docs/UpdateUser.md +28 -0
  632. data/docs/User.md +50 -0
  633. data/docs/UserEntity.md +18 -0
  634. data/docs/ValueMap.md +24 -0
  635. data/docs/Webhook.md +46 -0
  636. data/docs/WebhookAuthentication.md +34 -0
  637. data/docs/WebhookAuthenticationBase.md +22 -0
  638. data/docs/WebhookAuthenticationDataBasic.md +20 -0
  639. data/docs/WebhookAuthenticationDataCustom.md +18 -0
  640. data/docs/WebhookAuthenticationWebhookRef.md +22 -0
  641. data/docs/WebhookWithOutgoingIntegrationDetails.md +52 -0
  642. data/docs/WillAwardGiveawayEffectProps.md +22 -0
  643. data/lib/talon_one_sdk/api/integration_api.rb +2536 -0
  644. data/lib/talon_one_sdk/api/management_api.rb +13554 -0
  645. data/lib/talon_one_sdk/api_client.rb +397 -0
  646. data/lib/talon_one_sdk/api_error.rb +58 -0
  647. data/lib/talon_one_sdk/api_model_base.rb +88 -0
  648. data/lib/talon_one_sdk/configuration.rb +322 -0
  649. data/lib/talon_one_sdk/models/accept_coupon_effect_props.rb +166 -0
  650. data/lib/talon_one_sdk/models/accept_referral_effect_props.rb +166 -0
  651. data/lib/talon_one_sdk/models/access_log_entry.rb +328 -0
  652. data/lib/talon_one_sdk/models/account.rb +546 -0
  653. data/lib/talon_one_sdk/models/account_additional_cost.rb +389 -0
  654. data/lib/talon_one_sdk/models/account_analytics.rb +678 -0
  655. data/lib/talon_one_sdk/models/account_dashboard_statistic.rb +212 -0
  656. data/lib/talon_one_sdk/models/account_dashboard_statistic_campaigns.rb +219 -0
  657. data/lib/talon_one_sdk/models/account_dashboard_statistic_discount.rb +219 -0
  658. data/lib/talon_one_sdk/models/account_dashboard_statistic_loyalty_points.rb +192 -0
  659. data/lib/talon_one_sdk/models/account_dashboard_statistic_referrals.rb +192 -0
  660. data/lib/talon_one_sdk/models/account_dashboard_statistic_revenue.rb +219 -0
  661. data/lib/talon_one_sdk/models/account_entity.rb +165 -0
  662. data/lib/talon_one_sdk/models/account_limits.rb +518 -0
  663. data/lib/talon_one_sdk/models/achievement.rb +549 -0
  664. data/lib/talon_one_sdk/models/achievement_additional_properties.rb +256 -0
  665. data/lib/talon_one_sdk/models/achievement_base.rb +332 -0
  666. data/lib/talon_one_sdk/models/achievement_progress.rb +247 -0
  667. data/lib/talon_one_sdk/models/achievement_progress_with_definition.rb +515 -0
  668. data/lib/talon_one_sdk/models/achievement_status_entry.rb +493 -0
  669. data/lib/talon_one_sdk/models/activate_loyalty_points.rb +208 -0
  670. data/lib/talon_one_sdk/models/activate_loyalty_points_response.rb +150 -0
  671. data/lib/talon_one_sdk/models/activate_user_request.rb +172 -0
  672. data/lib/talon_one_sdk/models/add_free_item_effect_props.rb +203 -0
  673. data/lib/talon_one_sdk/models/add_item_catalog_action.rb +207 -0
  674. data/lib/talon_one_sdk/models/add_loyalty_points.rb +245 -0
  675. data/lib/talon_one_sdk/models/add_loyalty_points_effect_props.rb +449 -0
  676. data/lib/talon_one_sdk/models/add_price_adjustment_catalog_action.rb +195 -0
  677. data/lib/talon_one_sdk/models/add_to_audience_effect_props.rb +179 -0
  678. data/lib/talon_one_sdk/models/added_deducted_points_balances_action.rb +263 -0
  679. data/lib/talon_one_sdk/models/added_deducted_points_balances_notification.rb +454 -0
  680. data/lib/talon_one_sdk/models/added_deducted_points_balances_notification_policy.rb +231 -0
  681. data/lib/talon_one_sdk/models/added_deducted_points_notification.rb +492 -0
  682. data/lib/talon_one_sdk/models/added_deducted_points_notification_policy.rb +224 -0
  683. data/lib/talon_one_sdk/models/additional_campaign_properties.rb +440 -0
  684. data/lib/talon_one_sdk/models/additional_cost.rb +164 -0
  685. data/lib/talon_one_sdk/models/analytics_data_point.rb +190 -0
  686. data/lib/talon_one_sdk/models/analytics_data_point_with_trend.rb +190 -0
  687. data/lib/talon_one_sdk/models/analytics_data_point_with_trend_and_influenced_rate.rb +216 -0
  688. data/lib/talon_one_sdk/models/analytics_data_point_with_trend_and_uplift.rb +216 -0
  689. data/lib/talon_one_sdk/models/analytics_product.rb +229 -0
  690. data/lib/talon_one_sdk/models/analytics_sku.rb +232 -0
  691. data/lib/talon_one_sdk/models/api_error.rb +201 -0
  692. data/lib/talon_one_sdk/models/application.rb +592 -0
  693. data/lib/talon_one_sdk/models/application_analytics_data_point.rb +252 -0
  694. data/lib/talon_one_sdk/models/application_api_health.rb +217 -0
  695. data/lib/talon_one_sdk/models/application_api_key.rb +410 -0
  696. data/lib/talon_one_sdk/models/application_campaign_analytics.rb +395 -0
  697. data/lib/talon_one_sdk/models/application_campaign_stats.rb +301 -0
  698. data/lib/talon_one_sdk/models/application_cif.rb +304 -0
  699. data/lib/talon_one_sdk/models/application_cif_expression.rb +259 -0
  700. data/lib/talon_one_sdk/models/application_cif_references.rb +160 -0
  701. data/lib/talon_one_sdk/models/application_customer.rb +418 -0
  702. data/lib/talon_one_sdk/models/application_customer_entity.rb +148 -0
  703. data/lib/talon_one_sdk/models/application_entity.rb +165 -0
  704. data/lib/talon_one_sdk/models/application_event.rb +393 -0
  705. data/lib/talon_one_sdk/models/application_notification.rb +165 -0
  706. data/lib/talon_one_sdk/models/application_referee.rb +325 -0
  707. data/lib/talon_one_sdk/models/application_session.rb +570 -0
  708. data/lib/talon_one_sdk/models/application_session_entity.rb +165 -0
  709. data/lib/talon_one_sdk/models/application_store_entity.rb +148 -0
  710. data/lib/talon_one_sdk/models/async_coupon_creation_response.rb +165 -0
  711. data/lib/talon_one_sdk/models/async_coupon_deletion_job_response.rb +172 -0
  712. data/lib/talon_one_sdk/models/async_coupons_data.rb +297 -0
  713. data/lib/talon_one_sdk/models/attribute.rb +559 -0
  714. data/lib/talon_one_sdk/models/attributes_mandatory.rb +163 -0
  715. data/lib/talon_one_sdk/models/attributes_settings.rb +148 -0
  716. data/lib/talon_one_sdk/models/audience.rb +352 -0
  717. data/lib/talon_one_sdk/models/audience_analytics.rb +159 -0
  718. data/lib/talon_one_sdk/models/audience_customer.rb +411 -0
  719. data/lib/talon_one_sdk/models/audience_integration_id.rb +176 -0
  720. data/lib/talon_one_sdk/models/audience_membership.rb +192 -0
  721. data/lib/talon_one_sdk/models/audience_reference.rb +220 -0
  722. data/lib/talon_one_sdk/models/award_giveaway_effect_props.rb +283 -0
  723. data/lib/talon_one_sdk/models/base_campaign.rb +427 -0
  724. data/lib/talon_one_sdk/models/base_loyalty_program.rb +378 -0
  725. data/lib/talon_one_sdk/models/base_notification.rb +297 -0
  726. data/lib/talon_one_sdk/models/base_notification_entity.rb +177 -0
  727. data/lib/talon_one_sdk/models/base_notification_webhook.rb +296 -0
  728. data/lib/talon_one_sdk/models/base_notifications.rb +150 -0
  729. data/lib/talon_one_sdk/models/base_saml_connection.rb +330 -0
  730. data/lib/talon_one_sdk/models/best_prior_price.rb +298 -0
  731. data/lib/talon_one_sdk/models/best_prior_price_metadata.rb +160 -0
  732. data/lib/talon_one_sdk/models/best_prior_price_request.rb +266 -0
  733. data/lib/talon_one_sdk/models/best_prior_price_request_target.rb +200 -0
  734. data/lib/talon_one_sdk/models/binding.rb +254 -0
  735. data/lib/talon_one_sdk/models/bulk_application_notification.rb +192 -0
  736. data/lib/talon_one_sdk/models/bulk_operation_on_campaigns.rb +237 -0
  737. data/lib/talon_one_sdk/models/campaign.rb +911 -0
  738. data/lib/talon_one_sdk/models/campaign_activation_request.rb +176 -0
  739. data/lib/talon_one_sdk/models/campaign_analytics.rb +812 -0
  740. data/lib/talon_one_sdk/models/campaign_budget.rb +237 -0
  741. data/lib/talon_one_sdk/models/campaign_collection.rb +398 -0
  742. data/lib/talon_one_sdk/models/campaign_collection_edited_notification.rb +235 -0
  743. data/lib/talon_one_sdk/models/campaign_collection_edited_notification_item.rb +209 -0
  744. data/lib/talon_one_sdk/models/campaign_collection_without_payload.rb +370 -0
  745. data/lib/talon_one_sdk/models/campaign_copy.rb +248 -0
  746. data/lib/talon_one_sdk/models/campaign_created_notification.rb +235 -0
  747. data/lib/talon_one_sdk/models/campaign_created_notification_item.rb +209 -0
  748. data/lib/talon_one_sdk/models/campaign_deactivation_request.rb +176 -0
  749. data/lib/talon_one_sdk/models/campaign_deleted_notification.rb +235 -0
  750. data/lib/talon_one_sdk/models/campaign_deleted_notification_item.rb +212 -0
  751. data/lib/talon_one_sdk/models/campaign_detail.rb +177 -0
  752. data/lib/talon_one_sdk/models/campaign_edited_notification.rb +235 -0
  753. data/lib/talon_one_sdk/models/campaign_edited_notification_item.rb +209 -0
  754. data/lib/talon_one_sdk/models/campaign_entity.rb +165 -0
  755. data/lib/talon_one_sdk/models/campaign_evaluation_group.rb +381 -0
  756. data/lib/talon_one_sdk/models/campaign_evaluation_position.rb +220 -0
  757. data/lib/talon_one_sdk/models/campaign_evaluation_tree_changed_message.rb +235 -0
  758. data/lib/talon_one_sdk/models/campaign_evaluation_tree_changed_notification.rb +203 -0
  759. data/lib/talon_one_sdk/models/campaign_group.rb +326 -0
  760. data/lib/talon_one_sdk/models/campaign_group_entity.rb +150 -0
  761. data/lib/talon_one_sdk/models/campaign_log_summary.rb +298 -0
  762. data/lib/talon_one_sdk/models/campaign_notification_base.rb +216 -0
  763. data/lib/talon_one_sdk/models/campaign_notification_generic.rb +252 -0
  764. data/lib/talon_one_sdk/models/campaign_notification_item_base.rb +165 -0
  765. data/lib/talon_one_sdk/models/campaign_notification_policy.rb +198 -0
  766. data/lib/talon_one_sdk/models/campaign_ruleset_changed_notification.rb +235 -0
  767. data/lib/talon_one_sdk/models/campaign_ruleset_changed_notification_item.rb +205 -0
  768. data/lib/talon_one_sdk/models/campaign_search.rb +165 -0
  769. data/lib/talon_one_sdk/models/campaign_set.rb +271 -0
  770. data/lib/talon_one_sdk/models/campaign_set_branch_node.rb +396 -0
  771. data/lib/talon_one_sdk/models/campaign_set_leaf_node.rb +216 -0
  772. data/lib/talon_one_sdk/models/campaign_set_node.rb +164 -0
  773. data/lib/talon_one_sdk/models/campaign_state_changed_notification.rb +235 -0
  774. data/lib/talon_one_sdk/models/campaign_state_changed_notification_item.rb +250 -0
  775. data/lib/talon_one_sdk/models/campaign_store_budget.rb +282 -0
  776. data/lib/talon_one_sdk/models/campaign_store_budget_limit_config.rb +298 -0
  777. data/lib/talon_one_sdk/models/campaign_template.rb +666 -0
  778. data/lib/talon_one_sdk/models/campaign_template_collection.rb +195 -0
  779. data/lib/talon_one_sdk/models/campaign_template_coupon_reservation_settings.rb +188 -0
  780. data/lib/talon_one_sdk/models/campaign_template_params.rb +262 -0
  781. data/lib/talon_one_sdk/models/campaign_versions.rb +244 -0
  782. data/lib/talon_one_sdk/models/card_added_deducted_points_balances_notification.rb +510 -0
  783. data/lib/talon_one_sdk/models/card_added_deducted_points_balances_notification_policy.rb +231 -0
  784. data/lib/talon_one_sdk/models/card_added_deducted_points_notification.rb +548 -0
  785. data/lib/talon_one_sdk/models/card_added_deducted_points_notification_policy.rb +224 -0
  786. data/lib/talon_one_sdk/models/card_expiring_points_notification_policy.rb +244 -0
  787. data/lib/talon_one_sdk/models/card_expiring_points_notification_trigger.rb +225 -0
  788. data/lib/talon_one_sdk/models/card_ledger_points_entry_integration_api.rb +448 -0
  789. data/lib/talon_one_sdk/models/card_ledger_transaction_log_entry.rb +570 -0
  790. data/lib/talon_one_sdk/models/card_ledger_transaction_log_entry_integration_api.rb +570 -0
  791. data/lib/talon_one_sdk/models/cart_item.rb +403 -0
  792. data/lib/talon_one_sdk/models/catalog.rb +376 -0
  793. data/lib/talon_one_sdk/models/catalog_action_filter.rb +229 -0
  794. data/lib/talon_one_sdk/models/catalog_item.rb +319 -0
  795. data/lib/talon_one_sdk/models/catalog_sync_request.rb +213 -0
  796. data/lib/talon_one_sdk/models/catalogs_strikethrough_notification_policy.rb +224 -0
  797. data/lib/talon_one_sdk/models/change.rb +294 -0
  798. data/lib/talon_one_sdk/models/change_loyalty_tier_level_effect_props.rb +267 -0
  799. data/lib/talon_one_sdk/models/change_profile_password.rb +192 -0
  800. data/lib/talon_one_sdk/models/code_generator_settings.rb +223 -0
  801. data/lib/talon_one_sdk/models/collection.rb +410 -0
  802. data/lib/talon_one_sdk/models/collection_item.rb +164 -0
  803. data/lib/talon_one_sdk/models/collection_without_payload.rb +382 -0
  804. data/lib/talon_one_sdk/models/coupon.rb +565 -0
  805. data/lib/talon_one_sdk/models/coupon_constraints.rb +272 -0
  806. data/lib/talon_one_sdk/models/coupon_created_effect_props.rb +193 -0
  807. data/lib/talon_one_sdk/models/coupon_creation_job.rb +734 -0
  808. data/lib/talon_one_sdk/models/coupon_deletion_filters.rb +314 -0
  809. data/lib/talon_one_sdk/models/coupon_deletion_job.rb +440 -0
  810. data/lib/talon_one_sdk/models/coupon_entity.rb +192 -0
  811. data/lib/talon_one_sdk/models/coupon_failure_summary.rb +402 -0
  812. data/lib/talon_one_sdk/models/coupon_limit_configs.rb +150 -0
  813. data/lib/talon_one_sdk/models/coupon_rejection_reason.rb +241 -0
  814. data/lib/talon_one_sdk/models/coupon_rejections.rb +204 -0
  815. data/lib/talon_one_sdk/models/coupon_reservations.rb +176 -0
  816. data/lib/talon_one_sdk/models/coupon_search.rb +165 -0
  817. data/lib/talon_one_sdk/models/coupon_value.rb +167 -0
  818. data/lib/talon_one_sdk/models/coupons_notification_data.rb +291 -0
  819. data/lib/talon_one_sdk/models/coupons_notification_policy.rb +258 -0
  820. data/lib/talon_one_sdk/models/create_achievement.rb +397 -0
  821. data/lib/talon_one_sdk/models/create_application_api_key.rb +268 -0
  822. data/lib/talon_one_sdk/models/create_coupon_data.rb +301 -0
  823. data/lib/talon_one_sdk/models/create_coupons200_response.rb +192 -0
  824. data/lib/talon_one_sdk/models/create_management_key.rb +233 -0
  825. data/lib/talon_one_sdk/models/create_referrals_for_multiple_advocates201_response.rb +192 -0
  826. data/lib/talon_one_sdk/models/create_template_campaign.rb +310 -0
  827. data/lib/talon_one_sdk/models/create_template_campaign_response.rb +201 -0
  828. data/lib/talon_one_sdk/models/custom_effect.rb +493 -0
  829. data/lib/talon_one_sdk/models/custom_effect_props.rb +260 -0
  830. data/lib/talon_one_sdk/models/customer_activity_report.rb +489 -0
  831. data/lib/talon_one_sdk/models/customer_analytics.rb +328 -0
  832. data/lib/talon_one_sdk/models/customer_inventory.rb +201 -0
  833. data/lib/talon_one_sdk/models/customer_profile.rb +389 -0
  834. data/lib/talon_one_sdk/models/customer_profile_audience_request.rb +149 -0
  835. data/lib/talon_one_sdk/models/customer_profile_audience_request_item.rb +252 -0
  836. data/lib/talon_one_sdk/models/customer_profile_entity.rb +192 -0
  837. data/lib/talon_one_sdk/models/customer_profile_integration_request_v2.rb +213 -0
  838. data/lib/talon_one_sdk/models/customer_profile_integration_response_v2.rb +284 -0
  839. data/lib/talon_one_sdk/models/customer_profile_search_query.rb +170 -0
  840. data/lib/talon_one_sdk/models/customer_profile_update_v2_response.rb +165 -0
  841. data/lib/talon_one_sdk/models/customer_session.rb +523 -0
  842. data/lib/talon_one_sdk/models/customer_session_v2.rb +670 -0
  843. data/lib/talon_one_sdk/models/deactivate_user_request.rb +172 -0
  844. data/lib/talon_one_sdk/models/deduct_loyalty_points.rb +205 -0
  845. data/lib/talon_one_sdk/models/deduct_loyalty_points_effect_props.rb +350 -0
  846. data/lib/talon_one_sdk/models/delete_coupons_data.rb +371 -0
  847. data/lib/talon_one_sdk/models/delete_user_request.rb +172 -0
  848. data/lib/talon_one_sdk/models/effect.rb +392 -0
  849. data/lib/talon_one_sdk/models/effect_entity.rb +374 -0
  850. data/lib/talon_one_sdk/models/email_entity.rb +165 -0
  851. data/lib/talon_one_sdk/models/endpoint.rb +165 -0
  852. data/lib/talon_one_sdk/models/entity.rb +192 -0
  853. data/lib/talon_one_sdk/models/entity_with_talang_visible_id.rb +192 -0
  854. data/lib/talon_one_sdk/models/environment.rb +449 -0
  855. data/lib/talon_one_sdk/models/error_effect_props.rb +166 -0
  856. data/lib/talon_one_sdk/models/error_response.rb +177 -0
  857. data/lib/talon_one_sdk/models/error_response_with_status.rb +169 -0
  858. data/lib/talon_one_sdk/models/error_source.rb +179 -0
  859. data/lib/talon_one_sdk/models/evaluable_campaign_ids.rb +150 -0
  860. data/lib/talon_one_sdk/models/event.rb +399 -0
  861. data/lib/talon_one_sdk/models/event_type.rb +282 -0
  862. data/lib/talon_one_sdk/models/event_v2.rb +253 -0
  863. data/lib/talon_one_sdk/models/event_v3.rb +364 -0
  864. data/lib/talon_one_sdk/models/expiring_card_points_data.rb +347 -0
  865. data/lib/talon_one_sdk/models/expiring_card_points_notification.rb +244 -0
  866. data/lib/talon_one_sdk/models/expiring_coupons_data.rb +372 -0
  867. data/lib/talon_one_sdk/models/expiring_coupons_notification.rb +244 -0
  868. data/lib/talon_one_sdk/models/expiring_coupons_notification_policy.rb +244 -0
  869. data/lib/talon_one_sdk/models/expiring_coupons_notification_trigger.rb +225 -0
  870. data/lib/talon_one_sdk/models/expiring_points_data.rb +282 -0
  871. data/lib/talon_one_sdk/models/expiring_points_notification.rb +244 -0
  872. data/lib/talon_one_sdk/models/expiring_points_notification_policy.rb +244 -0
  873. data/lib/talon_one_sdk/models/expiring_points_notification_trigger.rb +225 -0
  874. data/lib/talon_one_sdk/models/export.rb +333 -0
  875. data/lib/talon_one_sdk/models/extend_loyalty_points_expiry_date_effect_props.rb +232 -0
  876. data/lib/talon_one_sdk/models/extended_coupon.rb +588 -0
  877. data/lib/talon_one_sdk/models/feature_flag.rb +212 -0
  878. data/lib/talon_one_sdk/models/features_feed.rb +156 -0
  879. data/lib/talon_one_sdk/models/func_arg_def.rb +204 -0
  880. data/lib/talon_one_sdk/models/function_def.rb +250 -0
  881. data/lib/talon_one_sdk/models/generate_audit_log_summary.rb +165 -0
  882. data/lib/talon_one_sdk/models/generate_campaign_description.rb +219 -0
  883. data/lib/talon_one_sdk/models/generate_campaign_summary.rb +219 -0
  884. data/lib/talon_one_sdk/models/generate_campaign_tags.rb +165 -0
  885. data/lib/talon_one_sdk/models/generate_coupon_failure_detailed_summary.rb +265 -0
  886. data/lib/talon_one_sdk/models/generate_coupon_failure_summary.rb +175 -0
  887. data/lib/talon_one_sdk/models/generate_item_filter_description.rb +167 -0
  888. data/lib/talon_one_sdk/models/generate_loyalty_card.rb +246 -0
  889. data/lib/talon_one_sdk/models/generate_rule_title.rb +191 -0
  890. data/lib/talon_one_sdk/models/generate_rule_title_rule.rb +181 -0
  891. data/lib/talon_one_sdk/models/generate_user_session_summary.rb +192 -0
  892. data/lib/talon_one_sdk/models/get_access_logs_without_total_count200_response.rb +192 -0
  893. data/lib/talon_one_sdk/models/get_additional_costs200_response.rb +192 -0
  894. data/lib/talon_one_sdk/models/get_application_customer_friends200_response.rb +184 -0
  895. data/lib/talon_one_sdk/models/get_application_customers200_response.rb +184 -0
  896. data/lib/talon_one_sdk/models/get_application_customers_by_attributes200_response.rb +184 -0
  897. data/lib/talon_one_sdk/models/get_application_event_types200_response.rb +192 -0
  898. data/lib/talon_one_sdk/models/get_application_events_without_total_count200_response.rb +192 -0
  899. data/lib/talon_one_sdk/models/get_application_sessions200_response.rb +175 -0
  900. data/lib/talon_one_sdk/models/get_applications200_response.rb +192 -0
  901. data/lib/talon_one_sdk/models/get_attributes200_response.rb +192 -0
  902. data/lib/talon_one_sdk/models/get_audience_memberships200_response.rb +175 -0
  903. data/lib/talon_one_sdk/models/get_audiences200_response.rb +184 -0
  904. data/lib/talon_one_sdk/models/get_audiences_analytics200_response.rb +175 -0
  905. data/lib/talon_one_sdk/models/get_campaign_analytics200_response.rb +192 -0
  906. data/lib/talon_one_sdk/models/get_campaign_groups200_response.rb +192 -0
  907. data/lib/talon_one_sdk/models/get_campaign_templates200_response.rb +192 -0
  908. data/lib/talon_one_sdk/models/get_campaigns200_response.rb +192 -0
  909. data/lib/talon_one_sdk/models/get_changes200_response.rb +184 -0
  910. data/lib/talon_one_sdk/models/get_collection_items200_response.rb +192 -0
  911. data/lib/talon_one_sdk/models/get_coupons_without_total_count200_response.rb +192 -0
  912. data/lib/talon_one_sdk/models/get_customer_achievement_history200_response.rb +192 -0
  913. data/lib/talon_one_sdk/models/get_customer_achievements200_response.rb +192 -0
  914. data/lib/talon_one_sdk/models/get_customer_activity_reports_without_total_count200_response.rb +192 -0
  915. data/lib/talon_one_sdk/models/get_customer_profile_achievement_progress200_response.rb +192 -0
  916. data/lib/talon_one_sdk/models/get_customer_profiles200_response.rb +192 -0
  917. data/lib/talon_one_sdk/models/get_customers_by_attributes200_response.rb +184 -0
  918. data/lib/talon_one_sdk/models/get_dashboard_statistics200_response.rb +192 -0
  919. data/lib/talon_one_sdk/models/get_event_types200_response.rb +192 -0
  920. data/lib/talon_one_sdk/models/get_exports200_response.rb +192 -0
  921. data/lib/talon_one_sdk/models/get_integration_coupon_request.rb +212 -0
  922. data/lib/talon_one_sdk/models/get_loyalty_card_points200_response.rb +192 -0
  923. data/lib/talon_one_sdk/models/get_loyalty_card_transaction_logs200_response.rb +194 -0
  924. data/lib/talon_one_sdk/models/get_loyalty_card_transactions200_response.rb +192 -0
  925. data/lib/talon_one_sdk/models/get_loyalty_cards200_response.rb +192 -0
  926. data/lib/talon_one_sdk/models/get_loyalty_program_profile_points200_response.rb +192 -0
  927. data/lib/talon_one_sdk/models/get_loyalty_program_profile_transactions200_response.rb +192 -0
  928. data/lib/talon_one_sdk/models/get_loyalty_program_transactions200_response.rb +192 -0
  929. data/lib/talon_one_sdk/models/get_loyalty_programs200_response.rb +192 -0
  930. data/lib/talon_one_sdk/models/get_referrals_without_total_count200_response.rb +192 -0
  931. data/lib/talon_one_sdk/models/get_reserved_customers200_response.rb +192 -0
  932. data/lib/talon_one_sdk/models/get_rulesets200_response.rb +192 -0
  933. data/lib/talon_one_sdk/models/get_users200_response.rb +192 -0
  934. data/lib/talon_one_sdk/models/get_webhooks200_response.rb +192 -0
  935. data/lib/talon_one_sdk/models/giveaway.rb +323 -0
  936. data/lib/talon_one_sdk/models/giveaways_pool.rb +352 -0
  937. data/lib/talon_one_sdk/models/hidden_conditions_effects.rb +187 -0
  938. data/lib/talon_one_sdk/models/identifiable_entity.rb +165 -0
  939. data/lib/talon_one_sdk/models/import.rb +318 -0
  940. data/lib/talon_one_sdk/models/import_entity.rb +148 -0
  941. data/lib/talon_one_sdk/models/increase_achievement_progress_effect_props.rb +311 -0
  942. data/lib/talon_one_sdk/models/integration_coupon.rb +588 -0
  943. data/lib/talon_one_sdk/models/integration_customer_profile_audience_request.rb +149 -0
  944. data/lib/talon_one_sdk/models/integration_customer_profile_audience_request_item.rb +252 -0
  945. data/lib/talon_one_sdk/models/integration_customer_session_response.rb +159 -0
  946. data/lib/talon_one_sdk/models/integration_entity.rb +201 -0
  947. data/lib/talon_one_sdk/models/integration_event.rb +257 -0
  948. data/lib/talon_one_sdk/models/integration_event_v2_request.rb +316 -0
  949. data/lib/talon_one_sdk/models/integration_event_v3_request.rb +427 -0
  950. data/lib/talon_one_sdk/models/integration_event_v3_response.rb +284 -0
  951. data/lib/talon_one_sdk/models/integration_profile_entity.rb +148 -0
  952. data/lib/talon_one_sdk/models/integration_profile_entity_v3.rb +165 -0
  953. data/lib/talon_one_sdk/models/integration_request.rb +200 -0
  954. data/lib/talon_one_sdk/models/integration_state.rb +235 -0
  955. data/lib/talon_one_sdk/models/integration_state_v2.rb +333 -0
  956. data/lib/talon_one_sdk/models/integration_store_entity.rb +176 -0
  957. data/lib/talon_one_sdk/models/inventory_coupon.rb +615 -0
  958. data/lib/talon_one_sdk/models/inventory_referral.rb +452 -0
  959. data/lib/talon_one_sdk/models/item_attribute.rb +204 -0
  960. data/lib/talon_one_sdk/models/label_target_audience.rb +215 -0
  961. data/lib/talon_one_sdk/models/label_target_none.rb +189 -0
  962. data/lib/talon_one_sdk/models/ledger_entry.rb +382 -0
  963. data/lib/talon_one_sdk/models/ledger_info.rb +330 -0
  964. data/lib/talon_one_sdk/models/ledger_points_entry_integration_api.rb +438 -0
  965. data/lib/talon_one_sdk/models/ledger_transaction_log_entry_integration_api.rb +524 -0
  966. data/lib/talon_one_sdk/models/library_attribute.rb +357 -0
  967. data/lib/talon_one_sdk/models/limit_config.rb +264 -0
  968. data/lib/talon_one_sdk/models/limit_counter.rb +435 -0
  969. data/lib/talon_one_sdk/models/list_account_collections200_response.rb +184 -0
  970. data/lib/talon_one_sdk/models/list_achievements200_response.rb +175 -0
  971. data/lib/talon_one_sdk/models/list_all_roles_v2200_response.rb +192 -0
  972. data/lib/talon_one_sdk/models/list_campaign_store_budget_limits200_response.rb +149 -0
  973. data/lib/talon_one_sdk/models/list_campaign_store_budgets.rb +225 -0
  974. data/lib/talon_one_sdk/models/list_campaign_store_budgets_store.rb +216 -0
  975. data/lib/talon_one_sdk/models/list_catalog_items200_response.rb +184 -0
  976. data/lib/talon_one_sdk/models/list_stores200_response.rb +184 -0
  977. data/lib/talon_one_sdk/models/login_params.rb +199 -0
  978. data/lib/talon_one_sdk/models/loyalty.rb +180 -0
  979. data/lib/talon_one_sdk/models/loyalty_balance.rb +189 -0
  980. data/lib/talon_one_sdk/models/loyalty_balance_with_tier.rb +234 -0
  981. data/lib/talon_one_sdk/models/loyalty_balances.rb +160 -0
  982. data/lib/talon_one_sdk/models/loyalty_balances_with_tiers.rb +160 -0
  983. data/lib/talon_one_sdk/models/loyalty_card.rb +529 -0
  984. data/lib/talon_one_sdk/models/loyalty_card_balances.rb +178 -0
  985. data/lib/talon_one_sdk/models/loyalty_card_batch.rb +269 -0
  986. data/lib/talon_one_sdk/models/loyalty_card_batch_response.rb +192 -0
  987. data/lib/talon_one_sdk/models/loyalty_card_profile_registration.rb +201 -0
  988. data/lib/talon_one_sdk/models/loyalty_card_registration.rb +165 -0
  989. data/lib/talon_one_sdk/models/loyalty_dashboard_data.rb +409 -0
  990. data/lib/talon_one_sdk/models/loyalty_dashboard_points_breakdown.rb +190 -0
  991. data/lib/talon_one_sdk/models/loyalty_ledger.rb +178 -0
  992. data/lib/talon_one_sdk/models/loyalty_ledger_entry.rb +382 -0
  993. data/lib/talon_one_sdk/models/loyalty_ledger_entry_expiry_date_change.rb +203 -0
  994. data/lib/talon_one_sdk/models/loyalty_ledger_entry_flags.rb +149 -0
  995. data/lib/talon_one_sdk/models/loyalty_ledger_transactions.rb +161 -0
  996. data/lib/talon_one_sdk/models/loyalty_membership.rb +175 -0
  997. data/lib/talon_one_sdk/models/loyalty_program.rb +615 -0
  998. data/lib/talon_one_sdk/models/loyalty_program_balance.rb +304 -0
  999. data/lib/talon_one_sdk/models/loyalty_program_entity.rb +185 -0
  1000. data/lib/talon_one_sdk/models/loyalty_program_ledgers.rb +269 -0
  1001. data/lib/talon_one_sdk/models/loyalty_program_transaction.rb +641 -0
  1002. data/lib/talon_one_sdk/models/loyalty_sub_ledger.rb +371 -0
  1003. data/lib/talon_one_sdk/models/loyalty_tier.rb +320 -0
  1004. data/lib/talon_one_sdk/models/management_key.rb +368 -0
  1005. data/lib/talon_one_sdk/models/manager_config.rb +164 -0
  1006. data/lib/talon_one_sdk/models/message_log_entries.rb +177 -0
  1007. data/lib/talon_one_sdk/models/message_log_entry.rb +436 -0
  1008. data/lib/talon_one_sdk/models/message_log_request.rb +193 -0
  1009. data/lib/talon_one_sdk/models/message_log_response.rb +169 -0
  1010. data/lib/talon_one_sdk/models/message_test.rb +192 -0
  1011. data/lib/talon_one_sdk/models/meta.rb +186 -0
  1012. data/lib/talon_one_sdk/models/model_return.rb +424 -0
  1013. data/lib/talon_one_sdk/models/multi_application_entity.rb +176 -0
  1014. data/lib/talon_one_sdk/models/multiple_attribute.rb +149 -0
  1015. data/lib/talon_one_sdk/models/multiple_audiences.rb +193 -0
  1016. data/lib/talon_one_sdk/models/multiple_audiences_item.rb +325 -0
  1017. data/lib/talon_one_sdk/models/multiple_customer_profile_integration_request.rb +149 -0
  1018. data/lib/talon_one_sdk/models/multiple_customer_profile_integration_request_item.rb +191 -0
  1019. data/lib/talon_one_sdk/models/multiple_customer_profile_integration_response_v2.rb +149 -0
  1020. data/lib/talon_one_sdk/models/multiple_new_attribute.rb +149 -0
  1021. data/lib/talon_one_sdk/models/multiple_new_audiences.rb +166 -0
  1022. data/lib/talon_one_sdk/models/mutable_entity.rb +165 -0
  1023. data/lib/talon_one_sdk/models/new_account.rb +173 -0
  1024. data/lib/talon_one_sdk/models/new_account_sign_up.rb +235 -0
  1025. data/lib/talon_one_sdk/models/new_additional_cost.rb +299 -0
  1026. data/lib/talon_one_sdk/models/new_app_wide_coupon_deletion_job.rb +192 -0
  1027. data/lib/talon_one_sdk/models/new_application.rb +456 -0
  1028. data/lib/talon_one_sdk/models/new_application_api_key.rb +437 -0
  1029. data/lib/talon_one_sdk/models/new_application_cif.rb +215 -0
  1030. data/lib/talon_one_sdk/models/new_application_cif_expression.rb +170 -0
  1031. data/lib/talon_one_sdk/models/new_attribute.rb +460 -0
  1032. data/lib/talon_one_sdk/models/new_audience.rb +269 -0
  1033. data/lib/talon_one_sdk/models/new_base_notification.rb +210 -0
  1034. data/lib/talon_one_sdk/models/new_campaign.rb +444 -0
  1035. data/lib/talon_one_sdk/models/new_campaign_collection.rb +202 -0
  1036. data/lib/talon_one_sdk/models/new_campaign_evaluation_group.rb +318 -0
  1037. data/lib/talon_one_sdk/models/new_campaign_group.rb +208 -0
  1038. data/lib/talon_one_sdk/models/new_campaign_set.rb +234 -0
  1039. data/lib/talon_one_sdk/models/new_campaign_store_budget.rb +238 -0
  1040. data/lib/talon_one_sdk/models/new_campaign_store_budget_store_limit.rb +192 -0
  1041. data/lib/talon_one_sdk/models/new_campaign_template.rb +444 -0
  1042. data/lib/talon_one_sdk/models/new_catalog.rb +204 -0
  1043. data/lib/talon_one_sdk/models/new_collection.rb +214 -0
  1044. data/lib/talon_one_sdk/models/new_coupon_creation_job.rb +360 -0
  1045. data/lib/talon_one_sdk/models/new_coupon_deletion_job.rb +164 -0
  1046. data/lib/talon_one_sdk/models/new_coupons.rb +440 -0
  1047. data/lib/talon_one_sdk/models/new_coupons_for_multiple_recipients.rb +386 -0
  1048. data/lib/talon_one_sdk/models/new_custom_effect.rb +345 -0
  1049. data/lib/talon_one_sdk/models/new_customer_profile.rb +148 -0
  1050. data/lib/talon_one_sdk/models/new_customer_session.rb +322 -0
  1051. data/lib/talon_one_sdk/models/new_customer_session_v2.rb +391 -0
  1052. data/lib/talon_one_sdk/models/new_event.rb +292 -0
  1053. data/lib/talon_one_sdk/models/new_event_type.rb +220 -0
  1054. data/lib/talon_one_sdk/models/new_external_invitation.rb +188 -0
  1055. data/lib/talon_one_sdk/models/new_giveaways_pool.rb +214 -0
  1056. data/lib/talon_one_sdk/models/new_internal_audience.rb +194 -0
  1057. data/lib/talon_one_sdk/models/new_invitation.rb +208 -0
  1058. data/lib/talon_one_sdk/models/new_invite_email.rb +192 -0
  1059. data/lib/talon_one_sdk/models/new_loyalty_program.rb +572 -0
  1060. data/lib/talon_one_sdk/models/new_loyalty_tier.rb +211 -0
  1061. data/lib/talon_one_sdk/models/new_management_key.rb +395 -0
  1062. data/lib/talon_one_sdk/models/new_message_test.rb +272 -0
  1063. data/lib/talon_one_sdk/models/new_multiple_audiences_item.rb +220 -0
  1064. data/lib/talon_one_sdk/models/new_notification_webhook.rb +206 -0
  1065. data/lib/talon_one_sdk/models/new_outgoing_integration_webhook.rb +204 -0
  1066. data/lib/talon_one_sdk/models/new_password.rb +200 -0
  1067. data/lib/talon_one_sdk/models/new_password_email.rb +173 -0
  1068. data/lib/talon_one_sdk/models/new_picklist.rb +227 -0
  1069. data/lib/talon_one_sdk/models/new_price_adjustment.rb +252 -0
  1070. data/lib/talon_one_sdk/models/new_price_type.rb +225 -0
  1071. data/lib/talon_one_sdk/models/new_referral.rb +286 -0
  1072. data/lib/talon_one_sdk/models/new_referrals_for_multiple_advocates.rb +337 -0
  1073. data/lib/talon_one_sdk/models/new_return.rb +167 -0
  1074. data/lib/talon_one_sdk/models/new_revision_version.rb +316 -0
  1075. data/lib/talon_one_sdk/models/new_role.rb +238 -0
  1076. data/lib/talon_one_sdk/models/new_role_v2.rb +221 -0
  1077. data/lib/talon_one_sdk/models/new_ruleset.rb +228 -0
  1078. data/lib/talon_one_sdk/models/new_saml_connection.rb +373 -0
  1079. data/lib/talon_one_sdk/models/new_secondary_deployment.rb +185 -0
  1080. data/lib/talon_one_sdk/models/new_store.rb +272 -0
  1081. data/lib/talon_one_sdk/models/new_template_def.rb +300 -0
  1082. data/lib/talon_one_sdk/models/new_user.rb +244 -0
  1083. data/lib/talon_one_sdk/models/new_webhook.rb +425 -0
  1084. data/lib/talon_one_sdk/models/notification.rb +219 -0
  1085. data/lib/talon_one_sdk/models/notification_activation.rb +165 -0
  1086. data/lib/talon_one_sdk/models/notification_list_item.rb +246 -0
  1087. data/lib/talon_one_sdk/models/okta_event.rb +194 -0
  1088. data/lib/talon_one_sdk/models/okta_event_payload.rb +165 -0
  1089. data/lib/talon_one_sdk/models/okta_event_payload_data.rb +167 -0
  1090. data/lib/talon_one_sdk/models/okta_event_target.rb +220 -0
  1091. data/lib/talon_one_sdk/models/one_time_code.rb +229 -0
  1092. data/lib/talon_one_sdk/models/outgoing_integration_braze_policy.rb +192 -0
  1093. data/lib/talon_one_sdk/models/outgoing_integration_clever_tap_policy.rb +219 -0
  1094. data/lib/talon_one_sdk/models/outgoing_integration_configuration.rb +246 -0
  1095. data/lib/talon_one_sdk/models/outgoing_integration_iterable_policy.rb +192 -0
  1096. data/lib/talon_one_sdk/models/outgoing_integration_mo_engage_policy.rb +246 -0
  1097. data/lib/talon_one_sdk/models/outgoing_integration_template.rb +416 -0
  1098. data/lib/talon_one_sdk/models/outgoing_integration_template_with_configuration_details.rb +450 -0
  1099. data/lib/talon_one_sdk/models/outgoing_integration_templates.rb +150 -0
  1100. data/lib/talon_one_sdk/models/outgoing_integration_type.rb +324 -0
  1101. data/lib/talon_one_sdk/models/outgoing_integration_types.rb +150 -0
  1102. data/lib/talon_one_sdk/models/patch_item_catalog_action.rb +207 -0
  1103. data/lib/talon_one_sdk/models/patch_many_items_catalog_action.rb +171 -0
  1104. data/lib/talon_one_sdk/models/pending_active_points_data.rb +285 -0
  1105. data/lib/talon_one_sdk/models/pending_active_points_notification.rb +244 -0
  1106. data/lib/talon_one_sdk/models/pending_points_notification_policy.rb +198 -0
  1107. data/lib/talon_one_sdk/models/picklist.rb +346 -0
  1108. data/lib/talon_one_sdk/models/price_detail.rb +188 -0
  1109. data/lib/talon_one_sdk/models/price_type.rb +369 -0
  1110. data/lib/talon_one_sdk/models/price_type_reference_detail.rb +253 -0
  1111. data/lib/talon_one_sdk/models/price_type_references.rb +177 -0
  1112. data/lib/talon_one_sdk/models/prismatic_config.rb +193 -0
  1113. data/lib/talon_one_sdk/models/prismatic_event_payload_coupon_based_notifications.rb +404 -0
  1114. data/lib/talon_one_sdk/models/prismatic_event_payload_coupon_based_notifications_limits.rb +227 -0
  1115. data/lib/talon_one_sdk/models/prismatic_event_payload_loyalty_profile_based_notifications.rb +360 -0
  1116. data/lib/talon_one_sdk/models/prismatic_event_payload_loyalty_profile_based_notifications_action.rb +241 -0
  1117. data/lib/talon_one_sdk/models/prismatic_flow.rb +202 -0
  1118. data/lib/talon_one_sdk/models/prismatic_flow_config.rb +164 -0
  1119. data/lib/talon_one_sdk/models/prismatic_flow_with_config.rb +228 -0
  1120. data/lib/talon_one_sdk/models/prismatic_paginated_event_payload.rb +242 -0
  1121. data/lib/talon_one_sdk/models/product.rb +166 -0
  1122. data/lib/talon_one_sdk/models/product_search_match.rb +185 -0
  1123. data/lib/talon_one_sdk/models/product_unit_analytics.rb +192 -0
  1124. data/lib/talon_one_sdk/models/product_unit_analytics_data_point.rb +273 -0
  1125. data/lib/talon_one_sdk/models/product_unit_analytics_totals.rb +148 -0
  1126. data/lib/talon_one_sdk/models/profile_audiences_changes.rb +196 -0
  1127. data/lib/talon_one_sdk/models/projected_tier.rb +185 -0
  1128. data/lib/talon_one_sdk/models/redeem_referral_effect_props.rb +193 -0
  1129. data/lib/talon_one_sdk/models/referral.rb +425 -0
  1130. data/lib/talon_one_sdk/models/referral_constraints.rb +196 -0
  1131. data/lib/talon_one_sdk/models/referral_created_effect_props.rb +166 -0
  1132. data/lib/talon_one_sdk/models/referral_rejection_reason.rb +241 -0
  1133. data/lib/talon_one_sdk/models/reject_coupon_effect_props.rb +233 -0
  1134. data/lib/talon_one_sdk/models/reject_referral_effect_props.rb +233 -0
  1135. data/lib/talon_one_sdk/models/remove_from_audience_effect_props.rb +179 -0
  1136. data/lib/talon_one_sdk/models/remove_item_catalog_action.rb +166 -0
  1137. data/lib/talon_one_sdk/models/remove_many_items_catalog_action.rb +151 -0
  1138. data/lib/talon_one_sdk/models/reopen_session_response.rb +168 -0
  1139. data/lib/talon_one_sdk/models/reserve_coupon_effect_props.rb +220 -0
  1140. data/lib/talon_one_sdk/models/return_integration_request.rb +200 -0
  1141. data/lib/talon_one_sdk/models/returned_cart_item.rb +187 -0
  1142. data/lib/talon_one_sdk/models/revision.rb +339 -0
  1143. data/lib/talon_one_sdk/models/revision_activation.rb +147 -0
  1144. data/lib/talon_one_sdk/models/revision_activation_request.rb +186 -0
  1145. data/lib/talon_one_sdk/models/revision_version.rb +529 -0
  1146. data/lib/talon_one_sdk/models/role.rb +341 -0
  1147. data/lib/talon_one_sdk/models/role_assign.rb +196 -0
  1148. data/lib/talon_one_sdk/models/role_membership.rb +192 -0
  1149. data/lib/talon_one_sdk/models/role_v2.rb +311 -0
  1150. data/lib/talon_one_sdk/models/role_v2_application_details.rb +178 -0
  1151. data/lib/talon_one_sdk/models/role_v2_base.rb +180 -0
  1152. data/lib/talon_one_sdk/models/role_v2_permission_set.rb +203 -0
  1153. data/lib/talon_one_sdk/models/role_v2_permissions.rb +178 -0
  1154. data/lib/talon_one_sdk/models/role_v2_readonly.rb +150 -0
  1155. data/lib/talon_one_sdk/models/role_v2_roles_group.rb +184 -0
  1156. data/lib/talon_one_sdk/models/rollback_added_loyalty_points_effect_props.rb +352 -0
  1157. data/lib/talon_one_sdk/models/rollback_coupon_effect_props.rb +166 -0
  1158. data/lib/talon_one_sdk/models/rollback_deducted_loyalty_points_effect_props.rb +352 -0
  1159. data/lib/talon_one_sdk/models/rollback_discount_effect_props.rb +243 -0
  1160. data/lib/talon_one_sdk/models/rollback_increased_achievement_progress_effect_props.rb +301 -0
  1161. data/lib/talon_one_sdk/models/rollback_referral_effect_props.rb +166 -0
  1162. data/lib/talon_one_sdk/models/rule.rb +274 -0
  1163. data/lib/talon_one_sdk/models/rule_failure_reason.rb +364 -0
  1164. data/lib/talon_one_sdk/models/ruleset.rb +348 -0
  1165. data/lib/talon_one_sdk/models/saml_connection.rb +436 -0
  1166. data/lib/talon_one_sdk/models/saml_connection_internal.rb +210 -0
  1167. data/lib/talon_one_sdk/models/saml_connection_metadata.rb +263 -0
  1168. data/lib/talon_one_sdk/models/saml_login_endpoint.rb +237 -0
  1169. data/lib/talon_one_sdk/models/scim_base_group.rb +161 -0
  1170. data/lib/talon_one_sdk/models/scim_base_user.rb +178 -0
  1171. data/lib/talon_one_sdk/models/scim_base_user_name.rb +149 -0
  1172. data/lib/talon_one_sdk/models/scim_group.rb +195 -0
  1173. data/lib/talon_one_sdk/models/scim_group_member.rb +159 -0
  1174. data/lib/talon_one_sdk/models/scim_groups_list_response.rb +189 -0
  1175. data/lib/talon_one_sdk/models/scim_new_user.rb +202 -0
  1176. data/lib/talon_one_sdk/models/scim_patch_operation.rb +210 -0
  1177. data/lib/talon_one_sdk/models/scim_patch_request.rb +179 -0
  1178. data/lib/talon_one_sdk/models/scim_resource.rb +169 -0
  1179. data/lib/talon_one_sdk/models/scim_resource_types_list_response.rb +167 -0
  1180. data/lib/talon_one_sdk/models/scim_schema_resource.rb +180 -0
  1181. data/lib/talon_one_sdk/models/scim_schemas_list_response.rb +189 -0
  1182. data/lib/talon_one_sdk/models/scim_service_provider_config_response.rb +206 -0
  1183. data/lib/talon_one_sdk/models/scim_service_provider_config_response_bulk.rb +169 -0
  1184. data/lib/talon_one_sdk/models/scim_service_provider_config_response_change_password.rb +149 -0
  1185. data/lib/talon_one_sdk/models/scim_service_provider_config_response_filter.rb +159 -0
  1186. data/lib/talon_one_sdk/models/scim_service_provider_config_response_patch.rb +149 -0
  1187. data/lib/talon_one_sdk/models/scim_service_provider_config_response_sort.rb +149 -0
  1188. data/lib/talon_one_sdk/models/scim_user.rb +229 -0
  1189. data/lib/talon_one_sdk/models/scim_users_list_response.rb +189 -0
  1190. data/lib/talon_one_sdk/models/secondary_deployment.rb +355 -0
  1191. data/lib/talon_one_sdk/models/session.rb +219 -0
  1192. data/lib/talon_one_sdk/models/session_coupons.rb +175 -0
  1193. data/lib/talon_one_sdk/models/set_discount_effect_props.rb +213 -0
  1194. data/lib/talon_one_sdk/models/set_discount_per_additional_cost_effect_props.rb +257 -0
  1195. data/lib/talon_one_sdk/models/set_discount_per_additional_cost_per_item_effect_props.rb +294 -0
  1196. data/lib/talon_one_sdk/models/set_discount_per_item_effect_props.rb +310 -0
  1197. data/lib/talon_one_sdk/models/set_loyalty_points_expiry_date_effect_props.rb +232 -0
  1198. data/lib/talon_one_sdk/models/show_bundle_metadata_effect_props.rb +224 -0
  1199. data/lib/talon_one_sdk/models/show_notification_effect_props.rb +220 -0
  1200. data/lib/talon_one_sdk/models/sku_unit_analytics.rb +192 -0
  1201. data/lib/talon_one_sdk/models/sku_unit_analytics_data_point.rb +246 -0
  1202. data/lib/talon_one_sdk/models/slot_def.rb +266 -0
  1203. data/lib/talon_one_sdk/models/sso_config.rb +175 -0
  1204. data/lib/talon_one_sdk/models/store.rb +393 -0
  1205. data/lib/talon_one_sdk/models/strikethrough_changed_item.rb +333 -0
  1206. data/lib/talon_one_sdk/models/strikethrough_custom_effect_per_item_props.rb +220 -0
  1207. data/lib/talon_one_sdk/models/strikethrough_debug_response.rb +162 -0
  1208. data/lib/talon_one_sdk/models/strikethrough_effect.rb +363 -0
  1209. data/lib/talon_one_sdk/models/strikethrough_labeling_notification.rb +384 -0
  1210. data/lib/talon_one_sdk/models/strikethrough_set_discount_per_item_effect_props.rb +178 -0
  1211. data/lib/talon_one_sdk/models/strikethrough_set_discount_per_item_member_effect_props.rb +178 -0
  1212. data/lib/talon_one_sdk/models/strikethrough_trigger.rb +274 -0
  1213. data/lib/talon_one_sdk/models/summarize_campaign_store_budget200_response.rb +149 -0
  1214. data/lib/talon_one_sdk/models/summary_campaign_store_budget.rb +261 -0
  1215. data/lib/talon_one_sdk/models/talang_attribute.rb +351 -0
  1216. data/lib/talon_one_sdk/models/talang_attribute_visibility.rb +162 -0
  1217. data/lib/talon_one_sdk/models/template_arg_def.rb +304 -0
  1218. data/lib/talon_one_sdk/models/template_def.rb +426 -0
  1219. data/lib/talon_one_sdk/models/template_limit_config.rb +271 -0
  1220. data/lib/talon_one_sdk/models/tier.rb +256 -0
  1221. data/lib/talon_one_sdk/models/tier_downgrade_data.rb +329 -0
  1222. data/lib/talon_one_sdk/models/tier_downgrade_notification.rb +244 -0
  1223. data/lib/talon_one_sdk/models/tier_downgrade_notification_policy.rb +198 -0
  1224. data/lib/talon_one_sdk/models/tier_upgrade_data.rb +366 -0
  1225. data/lib/talon_one_sdk/models/tier_upgrade_notification.rb +244 -0
  1226. data/lib/talon_one_sdk/models/tier_upgrade_notification_policy.rb +198 -0
  1227. data/lib/talon_one_sdk/models/tier_will_downgrade_data.rb +329 -0
  1228. data/lib/talon_one_sdk/models/tier_will_downgrade_notification.rb +244 -0
  1229. data/lib/talon_one_sdk/models/tier_will_downgrade_notification_policy.rb +244 -0
  1230. data/lib/talon_one_sdk/models/tier_will_downgrade_notification_trigger.rb +216 -0
  1231. data/lib/talon_one_sdk/models/time_point.rb +334 -0
  1232. data/lib/talon_one_sdk/models/track_event_v2_response.rb +284 -0
  1233. data/lib/talon_one_sdk/models/transfer_loyalty_card.rb +204 -0
  1234. data/lib/talon_one_sdk/models/trigger_webhook_effect_props.rb +193 -0
  1235. data/lib/talon_one_sdk/models/two_fa_config.rb +175 -0
  1236. data/lib/talon_one_sdk/models/update_account.rb +265 -0
  1237. data/lib/talon_one_sdk/models/update_achievement.rb +339 -0
  1238. data/lib/talon_one_sdk/models/update_application.rb +445 -0
  1239. data/lib/talon_one_sdk/models/update_application_api_key.rb +165 -0
  1240. data/lib/talon_one_sdk/models/update_application_cif.rb +178 -0
  1241. data/lib/talon_one_sdk/models/update_attribute_effect_props.rb +178 -0
  1242. data/lib/talon_one_sdk/models/update_audience.rb +174 -0
  1243. data/lib/talon_one_sdk/models/update_campaign.rb +432 -0
  1244. data/lib/talon_one_sdk/models/update_campaign_collection.rb +148 -0
  1245. data/lib/talon_one_sdk/models/update_campaign_evaluation_group.rb +325 -0
  1246. data/lib/talon_one_sdk/models/update_campaign_group.rb +215 -0
  1247. data/lib/talon_one_sdk/models/update_campaign_template.rb +478 -0
  1248. data/lib/talon_one_sdk/models/update_catalog.rb +170 -0
  1249. data/lib/talon_one_sdk/models/update_collection.rb +160 -0
  1250. data/lib/talon_one_sdk/models/update_coupon.rb +353 -0
  1251. data/lib/talon_one_sdk/models/update_coupon_batch.rb +299 -0
  1252. data/lib/talon_one_sdk/models/update_coupons_data.rb +345 -0
  1253. data/lib/talon_one_sdk/models/update_custom_effect.rb +345 -0
  1254. data/lib/talon_one_sdk/models/update_customer_profile_v2409_response.rb +167 -0
  1255. data/lib/talon_one_sdk/models/update_customer_session_v2409_response.rb +167 -0
  1256. data/lib/talon_one_sdk/models/update_loyalty_card.rb +175 -0
  1257. data/lib/talon_one_sdk/models/update_loyalty_program.rb +397 -0
  1258. data/lib/talon_one_sdk/models/update_loyalty_program_tier.rb +214 -0
  1259. data/lib/talon_one_sdk/models/update_picklist.rb +234 -0
  1260. data/lib/talon_one_sdk/models/update_price_type.rb +204 -0
  1261. data/lib/talon_one_sdk/models/update_referral.rb +235 -0
  1262. data/lib/talon_one_sdk/models/update_referral_batch.rb +233 -0
  1263. data/lib/talon_one_sdk/models/update_role.rb +180 -0
  1264. data/lib/talon_one_sdk/models/update_store.rb +220 -0
  1265. data/lib/talon_one_sdk/models/update_user.rb +234 -0
  1266. data/lib/talon_one_sdk/models/user.rb +497 -0
  1267. data/lib/talon_one_sdk/models/user_entity.rb +165 -0
  1268. data/lib/talon_one_sdk/models/value_map.rb +217 -0
  1269. data/lib/talon_one_sdk/models/webhook.rb +515 -0
  1270. data/lib/talon_one_sdk/models/webhook_authentication.rb +399 -0
  1271. data/lib/talon_one_sdk/models/webhook_authentication_base.rb +227 -0
  1272. data/lib/talon_one_sdk/models/webhook_authentication_data_basic.rb +192 -0
  1273. data/lib/talon_one_sdk/models/webhook_authentication_data_custom.rb +166 -0
  1274. data/lib/talon_one_sdk/models/webhook_authentication_webhook_ref.rb +213 -0
  1275. data/lib/talon_one_sdk/models/webhook_with_outgoing_integration_details.rb +543 -0
  1276. data/lib/talon_one_sdk/models/will_award_giveaway_effect_props.rb +229 -0
  1277. data/lib/talon_one_sdk/version.rb +15 -0
  1278. data/lib/talon_one_sdk.rb +670 -0
  1279. data/spec/api/integration_api_spec.rb +500 -0
  1280. data/spec/api/management_api_spec.rb +2575 -0
  1281. data/spec/models/accept_coupon_effect_props_spec.rb +36 -0
  1282. data/spec/models/accept_referral_effect_props_spec.rb +36 -0
  1283. data/spec/models/access_log_entry_spec.rb +72 -0
  1284. data/spec/models/account_additional_cost_spec.rb +82 -0
  1285. data/spec/models/account_analytics_spec.rb +150 -0
  1286. data/spec/models/account_dashboard_statistic_campaigns_spec.rb +48 -0
  1287. data/spec/models/account_dashboard_statistic_discount_spec.rb +48 -0
  1288. data/spec/models/account_dashboard_statistic_loyalty_points_spec.rb +42 -0
  1289. data/spec/models/account_dashboard_statistic_referrals_spec.rb +42 -0
  1290. data/spec/models/account_dashboard_statistic_revenue_spec.rb +48 -0
  1291. data/spec/models/account_dashboard_statistic_spec.rb +60 -0
  1292. data/spec/models/account_entity_spec.rb +36 -0
  1293. data/spec/models/account_limits_spec.rb +114 -0
  1294. data/spec/models/account_spec.rb +142 -0
  1295. data/spec/models/achievement_additional_properties_spec.rb +64 -0
  1296. data/spec/models/achievement_base_spec.rb +104 -0
  1297. data/spec/models/achievement_progress_spec.rb +64 -0
  1298. data/spec/models/achievement_progress_with_definition_spec.rb +138 -0
  1299. data/spec/models/achievement_spec.rb +150 -0
  1300. data/spec/models/achievement_status_entry_spec.rb +138 -0
  1301. data/spec/models/activate_loyalty_points_response_spec.rb +36 -0
  1302. data/spec/models/activate_loyalty_points_spec.rb +42 -0
  1303. data/spec/models/activate_user_request_spec.rb +36 -0
  1304. data/spec/models/add_free_item_effect_props_spec.rb +48 -0
  1305. data/spec/models/add_item_catalog_action_spec.rb +60 -0
  1306. data/spec/models/add_loyalty_points_effect_props_spec.rb +126 -0
  1307. data/spec/models/add_loyalty_points_spec.rb +78 -0
  1308. data/spec/models/add_price_adjustment_catalog_action_spec.rb +42 -0
  1309. data/spec/models/add_to_audience_effect_props_spec.rb +54 -0
  1310. data/spec/models/added_deducted_points_balances_action_spec.rb +64 -0
  1311. data/spec/models/added_deducted_points_balances_notification_policy_spec.rb +46 -0
  1312. data/spec/models/added_deducted_points_balances_notification_spec.rb +98 -0
  1313. data/spec/models/added_deducted_points_notification_policy_spec.rb +46 -0
  1314. data/spec/models/added_deducted_points_notification_spec.rb +120 -0
  1315. data/spec/models/additional_campaign_properties_spec.rb +178 -0
  1316. data/spec/models/additional_cost_spec.rb +36 -0
  1317. data/spec/models/analytics_data_point_spec.rb +42 -0
  1318. data/spec/models/analytics_data_point_with_trend_and_influenced_rate_spec.rb +48 -0
  1319. data/spec/models/analytics_data_point_with_trend_and_uplift_spec.rb +48 -0
  1320. data/spec/models/analytics_data_point_with_trend_spec.rb +42 -0
  1321. data/spec/models/analytics_product_spec.rb +54 -0
  1322. data/spec/models/analytics_sku_spec.rb +66 -0
  1323. data/spec/models/api_error_spec.rb +48 -0
  1324. data/spec/models/application_analytics_data_point_spec.rb +78 -0
  1325. data/spec/models/application_api_health_spec.rb +46 -0
  1326. data/spec/models/application_api_key_spec.rb +98 -0
  1327. data/spec/models/application_campaign_analytics_spec.rb +106 -0
  1328. data/spec/models/application_campaign_stats_spec.rb +66 -0
  1329. data/spec/models/application_cif_expression_spec.rb +66 -0
  1330. data/spec/models/application_cif_references_spec.rb +42 -0
  1331. data/spec/models/application_cif_spec.rb +84 -0
  1332. data/spec/models/application_customer_entity_spec.rb +36 -0
  1333. data/spec/models/application_customer_spec.rb +102 -0
  1334. data/spec/models/application_entity_spec.rb +36 -0
  1335. data/spec/models/application_event_spec.rb +96 -0
  1336. data/spec/models/application_notification_spec.rb +36 -0
  1337. data/spec/models/application_referee_spec.rb +66 -0
  1338. data/spec/models/application_session_entity_spec.rb +36 -0
  1339. data/spec/models/application_session_spec.rb +124 -0
  1340. data/spec/models/application_spec.rb +174 -0
  1341. data/spec/models/application_store_entity_spec.rb +36 -0
  1342. data/spec/models/async_coupon_creation_response_spec.rb +36 -0
  1343. data/spec/models/async_coupon_deletion_job_response_spec.rb +36 -0
  1344. data/spec/models/async_coupons_data_spec.rb +64 -0
  1345. data/spec/models/attribute_spec.rb +144 -0
  1346. data/spec/models/attributes_mandatory_spec.rb +42 -0
  1347. data/spec/models/attributes_settings_spec.rb +36 -0
  1348. data/spec/models/audience_analytics_spec.rb +42 -0
  1349. data/spec/models/audience_customer_spec.rb +108 -0
  1350. data/spec/models/audience_integration_id_spec.rb +36 -0
  1351. data/spec/models/audience_membership_spec.rb +42 -0
  1352. data/spec/models/audience_reference_spec.rb +48 -0
  1353. data/spec/models/audience_spec.rb +90 -0
  1354. data/spec/models/award_giveaway_effect_props_spec.rb +60 -0
  1355. data/spec/models/base_campaign_spec.rb +132 -0
  1356. data/spec/models/base_loyalty_program_spec.rb +136 -0
  1357. data/spec/models/base_notification_entity_spec.rb +42 -0
  1358. data/spec/models/base_notification_spec.rb +64 -0
  1359. data/spec/models/base_notification_webhook_spec.rb +66 -0
  1360. data/spec/models/base_notifications_spec.rb +36 -0
  1361. data/spec/models/base_saml_connection_spec.rb +78 -0
  1362. data/spec/models/best_prior_price_metadata_spec.rb +42 -0
  1363. data/spec/models/best_prior_price_request_spec.rb +60 -0
  1364. data/spec/models/best_prior_price_request_target_spec.rb +46 -0
  1365. data/spec/models/best_prior_price_spec.rb +66 -0
  1366. data/spec/models/binding_spec.rb +78 -0
  1367. data/spec/models/bulk_application_notification_spec.rb +42 -0
  1368. data/spec/models/bulk_operation_on_campaigns_spec.rb +52 -0
  1369. data/spec/models/campaign_activation_request_spec.rb +36 -0
  1370. data/spec/models/campaign_analytics_spec.rb +180 -0
  1371. data/spec/models/campaign_budget_spec.rb +48 -0
  1372. data/spec/models/campaign_collection_edited_notification_item_spec.rb +54 -0
  1373. data/spec/models/campaign_collection_edited_notification_spec.rb +52 -0
  1374. data/spec/models/campaign_collection_spec.rb +96 -0
  1375. data/spec/models/campaign_collection_without_payload_spec.rb +90 -0
  1376. data/spec/models/campaign_copy_spec.rb +72 -0
  1377. data/spec/models/campaign_created_notification_item_spec.rb +54 -0
  1378. data/spec/models/campaign_created_notification_spec.rb +52 -0
  1379. data/spec/models/campaign_deactivation_request_spec.rb +36 -0
  1380. data/spec/models/campaign_deleted_notification_item_spec.rb +48 -0
  1381. data/spec/models/campaign_deleted_notification_spec.rb +52 -0
  1382. data/spec/models/campaign_detail_spec.rb +42 -0
  1383. data/spec/models/campaign_edited_notification_item_spec.rb +54 -0
  1384. data/spec/models/campaign_edited_notification_spec.rb +52 -0
  1385. data/spec/models/campaign_entity_spec.rb +36 -0
  1386. data/spec/models/campaign_evaluation_group_spec.rb +86 -0
  1387. data/spec/models/campaign_evaluation_position_spec.rb +48 -0
  1388. data/spec/models/campaign_evaluation_tree_changed_message_spec.rb +52 -0
  1389. data/spec/models/campaign_evaluation_tree_changed_notification_spec.rb +48 -0
  1390. data/spec/models/campaign_group_entity_spec.rb +36 -0
  1391. data/spec/models/campaign_group_spec.rb +78 -0
  1392. data/spec/models/campaign_log_summary_spec.rb +64 -0
  1393. data/spec/models/campaign_notification_base_spec.rb +46 -0
  1394. data/spec/models/campaign_notification_generic_spec.rb +52 -0
  1395. data/spec/models/campaign_notification_item_base_spec.rb +36 -0
  1396. data/spec/models/campaign_notification_policy_spec.rb +48 -0
  1397. data/spec/models/campaign_ruleset_changed_notification_item_spec.rb +54 -0
  1398. data/spec/models/campaign_ruleset_changed_notification_spec.rb +52 -0
  1399. data/spec/models/campaign_search_spec.rb +36 -0
  1400. data/spec/models/campaign_set_branch_node_spec.rb +100 -0
  1401. data/spec/models/campaign_set_leaf_node_spec.rb +46 -0
  1402. data/spec/models/campaign_set_node_spec.rb +36 -0
  1403. data/spec/models/campaign_set_spec.rb +60 -0
  1404. data/spec/models/campaign_spec.rb +350 -0
  1405. data/spec/models/campaign_state_changed_notification_item_spec.rb +60 -0
  1406. data/spec/models/campaign_state_changed_notification_spec.rb +52 -0
  1407. data/spec/models/campaign_store_budget_limit_config_spec.rb +68 -0
  1408. data/spec/models/campaign_store_budget_spec.rb +60 -0
  1409. data/spec/models/campaign_template_collection_spec.rb +42 -0
  1410. data/spec/models/campaign_template_coupon_reservation_settings_spec.rb +42 -0
  1411. data/spec/models/campaign_template_params_spec.rb +58 -0
  1412. data/spec/models/campaign_template_spec.rb +204 -0
  1413. data/spec/models/campaign_versions_spec.rb +76 -0
  1414. data/spec/models/card_added_deducted_points_balances_notification_policy_spec.rb +46 -0
  1415. data/spec/models/card_added_deducted_points_balances_notification_spec.rb +110 -0
  1416. data/spec/models/card_added_deducted_points_notification_policy_spec.rb +46 -0
  1417. data/spec/models/card_added_deducted_points_notification_spec.rb +132 -0
  1418. data/spec/models/card_expiring_points_notification_policy_spec.rb +54 -0
  1419. data/spec/models/card_expiring_points_notification_trigger_spec.rb +46 -0
  1420. data/spec/models/card_ledger_points_entry_integration_api_spec.rb +96 -0
  1421. data/spec/models/card_ledger_transaction_log_entry_integration_api_spec.rb +118 -0
  1422. data/spec/models/card_ledger_transaction_log_entry_spec.rb +118 -0
  1423. data/spec/models/cart_item_spec.rb +156 -0
  1424. data/spec/models/catalog_action_filter_spec.rb +52 -0
  1425. data/spec/models/catalog_item_spec.rb +78 -0
  1426. data/spec/models/catalog_spec.rb +84 -0
  1427. data/spec/models/catalog_sync_request_spec.rb +42 -0
  1428. data/spec/models/catalogs_strikethrough_notification_policy_spec.rb +48 -0
  1429. data/spec/models/change_loyalty_tier_level_effect_props_spec.rb +66 -0
  1430. data/spec/models/change_profile_password_spec.rb +42 -0
  1431. data/spec/models/change_spec.rb +78 -0
  1432. data/spec/models/code_generator_settings_spec.rb +42 -0
  1433. data/spec/models/collection_item_spec.rb +36 -0
  1434. data/spec/models/collection_spec.rb +102 -0
  1435. data/spec/models/collection_without_payload_spec.rb +96 -0
  1436. data/spec/models/coupon_constraints_spec.rb +60 -0
  1437. data/spec/models/coupon_created_effect_props_spec.rb +42 -0
  1438. data/spec/models/coupon_creation_job_spec.rb +162 -0
  1439. data/spec/models/coupon_deletion_filters_spec.rb +118 -0
  1440. data/spec/models/coupon_deletion_job_spec.rb +102 -0
  1441. data/spec/models/coupon_entity_spec.rb +42 -0
  1442. data/spec/models/coupon_failure_summary_spec.rb +96 -0
  1443. data/spec/models/coupon_limit_configs_spec.rb +36 -0
  1444. data/spec/models/coupon_rejection_reason_spec.rb +52 -0
  1445. data/spec/models/coupon_rejections_spec.rb +48 -0
  1446. data/spec/models/coupon_reservations_spec.rb +36 -0
  1447. data/spec/models/coupon_search_spec.rb +36 -0
  1448. data/spec/models/coupon_spec.rb +162 -0
  1449. data/spec/models/coupon_value_spec.rb +36 -0
  1450. data/spec/models/coupons_notification_data_spec.rb +70 -0
  1451. data/spec/models/coupons_notification_policy_spec.rb +64 -0
  1452. data/spec/models/create_achievement_spec.rb +104 -0
  1453. data/spec/models/create_application_api_key_spec.rb +68 -0
  1454. data/spec/models/create_coupon_data_spec.rb +76 -0
  1455. data/spec/models/create_coupons200_response_spec.rb +42 -0
  1456. data/spec/models/create_management_key_spec.rb +54 -0
  1457. data/spec/models/create_referrals_for_multiple_advocates201_response_spec.rb +42 -0
  1458. data/spec/models/create_template_campaign_response_spec.rb +48 -0
  1459. data/spec/models/create_template_campaign_spec.rb +90 -0
  1460. data/spec/models/custom_effect_props_spec.rb +72 -0
  1461. data/spec/models/custom_effect_spec.rb +114 -0
  1462. data/spec/models/customer_activity_report_spec.rb +108 -0
  1463. data/spec/models/customer_analytics_spec.rb +72 -0
  1464. data/spec/models/customer_inventory_spec.rb +66 -0
  1465. data/spec/models/customer_profile_audience_request_item_spec.rb +52 -0
  1466. data/spec/models/customer_profile_audience_request_spec.rb +36 -0
  1467. data/spec/models/customer_profile_entity_spec.rb +42 -0
  1468. data/spec/models/customer_profile_integration_request_v2_spec.rb +58 -0
  1469. data/spec/models/customer_profile_integration_response_v2_spec.rb +84 -0
  1470. data/spec/models/customer_profile_search_query_spec.rb +48 -0
  1471. data/spec/models/customer_profile_spec.rb +96 -0
  1472. data/spec/models/customer_profile_update_v2_response_spec.rb +36 -0
  1473. data/spec/models/customer_session_spec.rb +124 -0
  1474. data/spec/models/customer_session_v2_spec.rb +160 -0
  1475. data/spec/models/deactivate_user_request_spec.rb +36 -0
  1476. data/spec/models/deduct_loyalty_points_effect_props_spec.rb +72 -0
  1477. data/spec/models/deduct_loyalty_points_spec.rb +54 -0
  1478. data/spec/models/delete_coupons_data_spec.rb +82 -0
  1479. data/spec/models/delete_user_request_spec.rb +36 -0
  1480. data/spec/models/effect_entity_spec.rb +120 -0
  1481. data/spec/models/effect_spec.rb +126 -0
  1482. data/spec/models/email_entity_spec.rb +36 -0
  1483. data/spec/models/endpoint_spec.rb +36 -0
  1484. data/spec/models/entity_spec.rb +42 -0
  1485. data/spec/models/entity_with_talang_visible_id_spec.rb +42 -0
  1486. data/spec/models/environment_spec.rb +126 -0
  1487. data/spec/models/error_effect_props_spec.rb +36 -0
  1488. data/spec/models/error_response_spec.rb +42 -0
  1489. data/spec/models/error_response_with_status_spec.rb +48 -0
  1490. data/spec/models/error_source_spec.rb +54 -0
  1491. data/spec/models/evaluable_campaign_ids_spec.rb +36 -0
  1492. data/spec/models/event_spec.rb +96 -0
  1493. data/spec/models/event_type_spec.rb +60 -0
  1494. data/spec/models/event_v2_spec.rb +60 -0
  1495. data/spec/models/event_v3_spec.rb +78 -0
  1496. data/spec/models/expiring_card_points_data_spec.rb +72 -0
  1497. data/spec/models/expiring_card_points_notification_spec.rb +52 -0
  1498. data/spec/models/expiring_coupons_data_spec.rb +90 -0
  1499. data/spec/models/expiring_coupons_notification_policy_spec.rb +54 -0
  1500. data/spec/models/expiring_coupons_notification_spec.rb +52 -0
  1501. data/spec/models/expiring_coupons_notification_trigger_spec.rb +46 -0
  1502. data/spec/models/expiring_points_data_spec.rb +60 -0
  1503. data/spec/models/expiring_points_notification_policy_spec.rb +54 -0
  1504. data/spec/models/expiring_points_notification_spec.rb +52 -0
  1505. data/spec/models/expiring_points_notification_trigger_spec.rb +46 -0
  1506. data/spec/models/export_spec.rb +70 -0
  1507. data/spec/models/extend_loyalty_points_expiry_date_effect_props_spec.rb +54 -0
  1508. data/spec/models/extended_coupon_spec.rb +168 -0
  1509. data/spec/models/feature_flag_spec.rb +54 -0
  1510. data/spec/models/features_feed_spec.rb +42 -0
  1511. data/spec/models/func_arg_def_spec.rb +46 -0
  1512. data/spec/models/function_def_spec.rb +60 -0
  1513. data/spec/models/generate_audit_log_summary_spec.rb +36 -0
  1514. data/spec/models/generate_campaign_description_spec.rb +48 -0
  1515. data/spec/models/generate_campaign_summary_spec.rb +48 -0
  1516. data/spec/models/generate_campaign_tags_spec.rb +36 -0
  1517. data/spec/models/generate_coupon_failure_detailed_summary_spec.rb +60 -0
  1518. data/spec/models/generate_coupon_failure_summary_spec.rb +42 -0
  1519. data/spec/models/generate_item_filter_description_spec.rb +36 -0
  1520. data/spec/models/generate_loyalty_card_spec.rb +52 -0
  1521. data/spec/models/generate_rule_title_rule_spec.rb +42 -0
  1522. data/spec/models/generate_rule_title_spec.rb +42 -0
  1523. data/spec/models/generate_user_session_summary_spec.rb +42 -0
  1524. data/spec/models/get_access_logs_without_total_count200_response_spec.rb +42 -0
  1525. data/spec/models/get_additional_costs200_response_spec.rb +42 -0
  1526. data/spec/models/get_application_customer_friends200_response_spec.rb +48 -0
  1527. data/spec/models/get_application_customers200_response_spec.rb +48 -0
  1528. data/spec/models/get_application_customers_by_attributes200_response_spec.rb +48 -0
  1529. data/spec/models/get_application_event_types200_response_spec.rb +42 -0
  1530. data/spec/models/get_application_events_without_total_count200_response_spec.rb +42 -0
  1531. data/spec/models/get_application_sessions200_response_spec.rb +42 -0
  1532. data/spec/models/get_applications200_response_spec.rb +42 -0
  1533. data/spec/models/get_attributes200_response_spec.rb +42 -0
  1534. data/spec/models/get_audience_memberships200_response_spec.rb +42 -0
  1535. data/spec/models/get_audiences200_response_spec.rb +48 -0
  1536. data/spec/models/get_audiences_analytics200_response_spec.rb +42 -0
  1537. data/spec/models/get_campaign_analytics200_response_spec.rb +42 -0
  1538. data/spec/models/get_campaign_groups200_response_spec.rb +42 -0
  1539. data/spec/models/get_campaign_templates200_response_spec.rb +42 -0
  1540. data/spec/models/get_campaigns200_response_spec.rb +42 -0
  1541. data/spec/models/get_changes200_response_spec.rb +48 -0
  1542. data/spec/models/get_collection_items200_response_spec.rb +42 -0
  1543. data/spec/models/get_coupons_without_total_count200_response_spec.rb +42 -0
  1544. data/spec/models/get_customer_achievement_history200_response_spec.rb +42 -0
  1545. data/spec/models/get_customer_achievements200_response_spec.rb +42 -0
  1546. data/spec/models/get_customer_activity_reports_without_total_count200_response_spec.rb +42 -0
  1547. data/spec/models/get_customer_profile_achievement_progress200_response_spec.rb +42 -0
  1548. data/spec/models/get_customer_profiles200_response_spec.rb +42 -0
  1549. data/spec/models/get_customers_by_attributes200_response_spec.rb +48 -0
  1550. data/spec/models/get_dashboard_statistics200_response_spec.rb +42 -0
  1551. data/spec/models/get_event_types200_response_spec.rb +42 -0
  1552. data/spec/models/get_exports200_response_spec.rb +42 -0
  1553. data/spec/models/get_integration_coupon_request_spec.rb +42 -0
  1554. data/spec/models/get_loyalty_card_points200_response_spec.rb +42 -0
  1555. data/spec/models/get_loyalty_card_transaction_logs200_response_spec.rb +42 -0
  1556. data/spec/models/get_loyalty_card_transactions200_response_spec.rb +42 -0
  1557. data/spec/models/get_loyalty_cards200_response_spec.rb +42 -0
  1558. data/spec/models/get_loyalty_program_profile_points200_response_spec.rb +42 -0
  1559. data/spec/models/get_loyalty_program_profile_transactions200_response_spec.rb +42 -0
  1560. data/spec/models/get_loyalty_program_transactions200_response_spec.rb +42 -0
  1561. data/spec/models/get_loyalty_programs200_response_spec.rb +42 -0
  1562. data/spec/models/get_referrals_without_total_count200_response_spec.rb +42 -0
  1563. data/spec/models/get_reserved_customers200_response_spec.rb +42 -0
  1564. data/spec/models/get_rulesets200_response_spec.rb +42 -0
  1565. data/spec/models/get_users200_response_spec.rb +42 -0
  1566. data/spec/models/get_webhooks200_response_spec.rb +42 -0
  1567. data/spec/models/giveaway_spec.rb +96 -0
  1568. data/spec/models/giveaways_pool_spec.rb +90 -0
  1569. data/spec/models/hidden_conditions_effects_spec.rb +54 -0
  1570. data/spec/models/identifiable_entity_spec.rb +36 -0
  1571. data/spec/models/import_entity_spec.rb +36 -0
  1572. data/spec/models/import_spec.rb +66 -0
  1573. data/spec/models/increase_achievement_progress_effect_props_spec.rb +72 -0
  1574. data/spec/models/integration_coupon_spec.rb +168 -0
  1575. data/spec/models/integration_customer_profile_audience_request_item_spec.rb +52 -0
  1576. data/spec/models/integration_customer_profile_audience_request_spec.rb +36 -0
  1577. data/spec/models/integration_customer_session_response_spec.rb +42 -0
  1578. data/spec/models/integration_entity_spec.rb +42 -0
  1579. data/spec/models/integration_event_spec.rb +54 -0
  1580. data/spec/models/integration_event_v2_request_spec.rb +76 -0
  1581. data/spec/models/integration_event_v3_request_spec.rb +94 -0
  1582. data/spec/models/integration_event_v3_response_spec.rb +84 -0
  1583. data/spec/models/integration_profile_entity_spec.rb +36 -0
  1584. data/spec/models/integration_profile_entity_v3_spec.rb +36 -0
  1585. data/spec/models/integration_request_spec.rb +46 -0
  1586. data/spec/models/integration_state_spec.rb +60 -0
  1587. data/spec/models/integration_state_v2_spec.rb +114 -0
  1588. data/spec/models/integration_store_entity_spec.rb +36 -0
  1589. data/spec/models/inventory_coupon_spec.rb +174 -0
  1590. data/spec/models/inventory_referral_spec.rb +114 -0
  1591. data/spec/models/item_attribute_spec.rb +48 -0
  1592. data/spec/models/label_target_audience_spec.rb +46 -0
  1593. data/spec/models/label_target_none_spec.rb +40 -0
  1594. data/spec/models/ledger_entry_spec.rb +90 -0
  1595. data/spec/models/ledger_info_spec.rb +90 -0
  1596. data/spec/models/ledger_points_entry_integration_api_spec.rb +90 -0
  1597. data/spec/models/ledger_transaction_log_entry_integration_api_spec.rb +118 -0
  1598. data/spec/models/library_attribute_spec.rb +80 -0
  1599. data/spec/models/limit_config_spec.rb +62 -0
  1600. data/spec/models/limit_counter_spec.rb +120 -0
  1601. data/spec/models/list_account_collections200_response_spec.rb +48 -0
  1602. data/spec/models/list_achievements200_response_spec.rb +42 -0
  1603. data/spec/models/list_all_roles_v2200_response_spec.rb +42 -0
  1604. data/spec/models/list_campaign_store_budget_limits200_response_spec.rb +36 -0
  1605. data/spec/models/list_campaign_store_budgets_spec.rb +54 -0
  1606. data/spec/models/list_campaign_store_budgets_store_spec.rb +48 -0
  1607. data/spec/models/list_catalog_items200_response_spec.rb +48 -0
  1608. data/spec/models/list_stores200_response_spec.rb +48 -0
  1609. data/spec/models/login_params_spec.rb +42 -0
  1610. data/spec/models/loyalty_balance_spec.rb +60 -0
  1611. data/spec/models/loyalty_balance_with_tier_spec.rb +84 -0
  1612. data/spec/models/loyalty_balances_spec.rb +42 -0
  1613. data/spec/models/loyalty_balances_with_tiers_spec.rb +42 -0
  1614. data/spec/models/loyalty_card_balances_spec.rb +48 -0
  1615. data/spec/models/loyalty_card_batch_response_spec.rb +42 -0
  1616. data/spec/models/loyalty_card_batch_spec.rb +58 -0
  1617. data/spec/models/loyalty_card_profile_registration_spec.rb +42 -0
  1618. data/spec/models/loyalty_card_registration_spec.rb +36 -0
  1619. data/spec/models/loyalty_card_spec.rb +126 -0
  1620. data/spec/models/loyalty_dashboard_data_spec.rb +90 -0
  1621. data/spec/models/loyalty_dashboard_points_breakdown_spec.rb +42 -0
  1622. data/spec/models/loyalty_ledger_entry_expiry_date_change_spec.rb +48 -0
  1623. data/spec/models/loyalty_ledger_entry_flags_spec.rb +36 -0
  1624. data/spec/models/loyalty_ledger_entry_spec.rb +120 -0
  1625. data/spec/models/loyalty_ledger_spec.rb +42 -0
  1626. data/spec/models/loyalty_ledger_transactions_spec.rb +42 -0
  1627. data/spec/models/loyalty_membership_spec.rb +42 -0
  1628. data/spec/models/loyalty_program_balance_spec.rb +78 -0
  1629. data/spec/models/loyalty_program_entity_spec.rb +48 -0
  1630. data/spec/models/loyalty_program_ledgers_spec.rb +66 -0
  1631. data/spec/models/loyalty_program_spec.rb +202 -0
  1632. data/spec/models/loyalty_program_transaction_spec.rb +154 -0
  1633. data/spec/models/loyalty_spec.rb +42 -0
  1634. data/spec/models/loyalty_sub_ledger_spec.rb +102 -0
  1635. data/spec/models/loyalty_tier_spec.rb +72 -0
  1636. data/spec/models/management_key_spec.rb +90 -0
  1637. data/spec/models/manager_config_spec.rb +36 -0
  1638. data/spec/models/message_log_entries_spec.rb +42 -0
  1639. data/spec/models/message_log_entry_spec.rb +124 -0
  1640. data/spec/models/message_log_request_spec.rb +42 -0
  1641. data/spec/models/message_log_response_spec.rb +48 -0
  1642. data/spec/models/message_test_spec.rb +42 -0
  1643. data/spec/models/meta_spec.rb +60 -0
  1644. data/spec/models/model_return_spec.rb +96 -0
  1645. data/spec/models/multi_application_entity_spec.rb +36 -0
  1646. data/spec/models/multiple_attribute_spec.rb +36 -0
  1647. data/spec/models/multiple_audiences_item_spec.rb +64 -0
  1648. data/spec/models/multiple_audiences_spec.rb +42 -0
  1649. data/spec/models/multiple_customer_profile_integration_request_item_spec.rb +42 -0
  1650. data/spec/models/multiple_customer_profile_integration_request_spec.rb +36 -0
  1651. data/spec/models/multiple_customer_profile_integration_response_v2_spec.rb +36 -0
  1652. data/spec/models/multiple_new_attribute_spec.rb +36 -0
  1653. data/spec/models/multiple_new_audiences_spec.rb +36 -0
  1654. data/spec/models/mutable_entity_spec.rb +36 -0
  1655. data/spec/models/new_account_sign_up_spec.rb +48 -0
  1656. data/spec/models/new_account_spec.rb +36 -0
  1657. data/spec/models/new_additional_cost_spec.rb +64 -0
  1658. data/spec/models/new_app_wide_coupon_deletion_job_spec.rb +42 -0
  1659. data/spec/models/new_application_api_key_spec.rb +104 -0
  1660. data/spec/models/new_application_cif_expression_spec.rb +48 -0
  1661. data/spec/models/new_application_cif_spec.rb +66 -0
  1662. data/spec/models/new_application_spec.rb +138 -0
  1663. data/spec/models/new_attribute_spec.rb +120 -0
  1664. data/spec/models/new_audience_spec.rb +72 -0
  1665. data/spec/models/new_base_notification_spec.rb +48 -0
  1666. data/spec/models/new_campaign_collection_spec.rb +42 -0
  1667. data/spec/models/new_campaign_evaluation_group_spec.rb +74 -0
  1668. data/spec/models/new_campaign_group_spec.rb +54 -0
  1669. data/spec/models/new_campaign_set_spec.rb +48 -0
  1670. data/spec/models/new_campaign_spec.rb +138 -0
  1671. data/spec/models/new_campaign_store_budget_spec.rb +56 -0
  1672. data/spec/models/new_campaign_store_budget_store_limit_spec.rb +42 -0
  1673. data/spec/models/new_campaign_template_spec.rb +138 -0
  1674. data/spec/models/new_catalog_spec.rb +48 -0
  1675. data/spec/models/new_collection_spec.rb +48 -0
  1676. data/spec/models/new_coupon_creation_job_spec.rb +78 -0
  1677. data/spec/models/new_coupon_deletion_job_spec.rb +36 -0
  1678. data/spec/models/new_coupons_for_multiple_recipients_spec.rb +84 -0
  1679. data/spec/models/new_coupons_spec.rb +114 -0
  1680. data/spec/models/new_custom_effect_spec.rb +78 -0
  1681. data/spec/models/new_customer_profile_spec.rb +36 -0
  1682. data/spec/models/new_customer_session_spec.rb +82 -0
  1683. data/spec/models/new_customer_session_v2_spec.rb +100 -0
  1684. data/spec/models/new_event_spec.rb +60 -0
  1685. data/spec/models/new_event_type_spec.rb +48 -0
  1686. data/spec/models/new_external_invitation_spec.rb +48 -0
  1687. data/spec/models/new_giveaways_pool_spec.rb +54 -0
  1688. data/spec/models/new_internal_audience_spec.rb +48 -0
  1689. data/spec/models/new_invitation_spec.rb +60 -0
  1690. data/spec/models/new_invite_email_spec.rb +42 -0
  1691. data/spec/models/new_loyalty_program_spec.rb +160 -0
  1692. data/spec/models/new_loyalty_tier_spec.rb +42 -0
  1693. data/spec/models/new_management_key_spec.rb +96 -0
  1694. data/spec/models/new_message_test_spec.rb +76 -0
  1695. data/spec/models/new_multiple_audiences_item_spec.rb +42 -0
  1696. data/spec/models/new_notification_webhook_spec.rb +48 -0
  1697. data/spec/models/new_outgoing_integration_webhook_spec.rb +48 -0
  1698. data/spec/models/new_password_email_spec.rb +36 -0
  1699. data/spec/models/new_password_spec.rb +42 -0
  1700. data/spec/models/new_picklist_spec.rb +46 -0
  1701. data/spec/models/new_price_adjustment_spec.rb +72 -0
  1702. data/spec/models/new_price_type_spec.rb +54 -0
  1703. data/spec/models/new_referral_spec.rb +72 -0
  1704. data/spec/models/new_referrals_for_multiple_advocates_spec.rb +78 -0
  1705. data/spec/models/new_return_spec.rb +36 -0
  1706. data/spec/models/new_revision_version_spec.rb +100 -0
  1707. data/spec/models/new_role_spec.rb +54 -0
  1708. data/spec/models/new_role_v2_spec.rb +54 -0
  1709. data/spec/models/new_ruleset_spec.rb +60 -0
  1710. data/spec/models/new_saml_connection_spec.rb +84 -0
  1711. data/spec/models/new_secondary_deployment_spec.rb +36 -0
  1712. data/spec/models/new_store_spec.rb +54 -0
  1713. data/spec/models/new_template_def_spec.rb +72 -0
  1714. data/spec/models/new_user_spec.rb +54 -0
  1715. data/spec/models/new_webhook_spec.rb +100 -0
  1716. data/spec/models/notification_activation_spec.rb +36 -0
  1717. data/spec/models/notification_list_item_spec.rb +54 -0
  1718. data/spec/models/notification_spec.rb +48 -0
  1719. data/spec/models/okta_event_payload_data_spec.rb +36 -0
  1720. data/spec/models/okta_event_payload_spec.rb +36 -0
  1721. data/spec/models/okta_event_spec.rb +42 -0
  1722. data/spec/models/okta_event_target_spec.rb +48 -0
  1723. data/spec/models/one_time_code_spec.rb +54 -0
  1724. data/spec/models/outgoing_integration_braze_policy_spec.rb +42 -0
  1725. data/spec/models/outgoing_integration_clever_tap_policy_spec.rb +48 -0
  1726. data/spec/models/outgoing_integration_configuration_spec.rb +54 -0
  1727. data/spec/models/outgoing_integration_iterable_policy_spec.rb +42 -0
  1728. data/spec/models/outgoing_integration_mo_engage_policy_spec.rb +54 -0
  1729. data/spec/models/outgoing_integration_template_spec.rb +82 -0
  1730. data/spec/models/outgoing_integration_template_with_configuration_details_spec.rb +88 -0
  1731. data/spec/models/outgoing_integration_templates_spec.rb +36 -0
  1732. data/spec/models/outgoing_integration_type_spec.rb +60 -0
  1733. data/spec/models/outgoing_integration_types_spec.rb +36 -0
  1734. data/spec/models/patch_item_catalog_action_spec.rb +60 -0
  1735. data/spec/models/patch_many_items_catalog_action_spec.rb +48 -0
  1736. data/spec/models/pending_active_points_data_spec.rb +72 -0
  1737. data/spec/models/pending_active_points_notification_spec.rb +52 -0
  1738. data/spec/models/pending_points_notification_policy_spec.rb +48 -0
  1739. data/spec/models/picklist_spec.rb +82 -0
  1740. data/spec/models/price_detail_spec.rb +60 -0
  1741. data/spec/models/price_type_reference_detail_spec.rb +58 -0
  1742. data/spec/models/price_type_references_spec.rb +42 -0
  1743. data/spec/models/price_type_spec.rb +84 -0
  1744. data/spec/models/prismatic_config_spec.rb +42 -0
  1745. data/spec/models/prismatic_event_payload_coupon_based_notifications_limits_spec.rb +54 -0
  1746. data/spec/models/prismatic_event_payload_coupon_based_notifications_spec.rb +138 -0
  1747. data/spec/models/prismatic_event_payload_loyalty_profile_based_notifications_action_spec.rb +64 -0
  1748. data/spec/models/prismatic_event_payload_loyalty_profile_based_notifications_spec.rb +120 -0
  1749. data/spec/models/prismatic_flow_config_spec.rb +36 -0
  1750. data/spec/models/prismatic_flow_spec.rb +48 -0
  1751. data/spec/models/prismatic_flow_with_config_spec.rb +54 -0
  1752. data/spec/models/prismatic_paginated_event_payload_spec.rb +52 -0
  1753. data/spec/models/product_search_match_spec.rb +48 -0
  1754. data/spec/models/product_spec.rb +36 -0
  1755. data/spec/models/product_unit_analytics_data_point_spec.rb +60 -0
  1756. data/spec/models/product_unit_analytics_spec.rb +42 -0
  1757. data/spec/models/product_unit_analytics_totals_spec.rb +36 -0
  1758. data/spec/models/profile_audiences_changes_spec.rb +42 -0
  1759. data/spec/models/projected_tier_spec.rb +48 -0
  1760. data/spec/models/redeem_referral_effect_props_spec.rb +42 -0
  1761. data/spec/models/referral_constraints_spec.rb +48 -0
  1762. data/spec/models/referral_created_effect_props_spec.rb +36 -0
  1763. data/spec/models/referral_rejection_reason_spec.rb +52 -0
  1764. data/spec/models/referral_spec.rb +108 -0
  1765. data/spec/models/reject_coupon_effect_props_spec.rb +66 -0
  1766. data/spec/models/reject_referral_effect_props_spec.rb +66 -0
  1767. data/spec/models/remove_from_audience_effect_props_spec.rb +54 -0
  1768. data/spec/models/remove_item_catalog_action_spec.rb +36 -0
  1769. data/spec/models/remove_many_items_catalog_action_spec.rb +36 -0
  1770. data/spec/models/reopen_session_response_spec.rb +36 -0
  1771. data/spec/models/reserve_coupon_effect_props_spec.rb +48 -0
  1772. data/spec/models/return_integration_request_spec.rb +46 -0
  1773. data/spec/models/returned_cart_item_spec.rb +48 -0
  1774. data/spec/models/revision_activation_request_spec.rb +42 -0
  1775. data/spec/models/revision_activation_spec.rb +36 -0
  1776. data/spec/models/revision_spec.rb +90 -0
  1777. data/spec/models/revision_version_spec.rb +148 -0
  1778. data/spec/models/role_assign_spec.rb +42 -0
  1779. data/spec/models/role_membership_spec.rb +42 -0
  1780. data/spec/models/role_spec.rb +84 -0
  1781. data/spec/models/role_v2_application_details_spec.rb +54 -0
  1782. data/spec/models/role_v2_base_spec.rb +54 -0
  1783. data/spec/models/role_v2_permission_set_spec.rb +42 -0
  1784. data/spec/models/role_v2_permissions_spec.rb +42 -0
  1785. data/spec/models/role_v2_readonly_spec.rb +36 -0
  1786. data/spec/models/role_v2_roles_group_spec.rb +54 -0
  1787. data/spec/models/role_v2_spec.rb +84 -0
  1788. data/spec/models/rollback_added_loyalty_points_effect_props_spec.rb +78 -0
  1789. data/spec/models/rollback_coupon_effect_props_spec.rb +36 -0
  1790. data/spec/models/rollback_deducted_loyalty_points_effect_props_spec.rb +78 -0
  1791. data/spec/models/rollback_discount_effect_props_spec.rb +72 -0
  1792. data/spec/models/rollback_increased_achievement_progress_effect_props_spec.rb +66 -0
  1793. data/spec/models/rollback_referral_effect_props_spec.rb +36 -0
  1794. data/spec/models/rule_failure_reason_spec.rb +114 -0
  1795. data/spec/models/rule_spec.rb +72 -0
  1796. data/spec/models/ruleset_spec.rb +96 -0
  1797. data/spec/models/saml_connection_internal_spec.rb +42 -0
  1798. data/spec/models/saml_connection_metadata_spec.rb +54 -0
  1799. data/spec/models/saml_connection_spec.rb +96 -0
  1800. data/spec/models/saml_login_endpoint_spec.rb +48 -0
  1801. data/spec/models/scim_base_group_spec.rb +42 -0
  1802. data/spec/models/scim_base_user_name_spec.rb +36 -0
  1803. data/spec/models/scim_base_user_spec.rb +54 -0
  1804. data/spec/models/scim_group_member_spec.rb +42 -0
  1805. data/spec/models/scim_group_spec.rb +48 -0
  1806. data/spec/models/scim_groups_list_response_spec.rb +48 -0
  1807. data/spec/models/scim_new_user_spec.rb +54 -0
  1808. data/spec/models/scim_patch_operation_spec.rb +52 -0
  1809. data/spec/models/scim_patch_request_spec.rb +42 -0
  1810. data/spec/models/scim_resource_spec.rb +48 -0
  1811. data/spec/models/scim_resource_types_list_response_spec.rb +36 -0
  1812. data/spec/models/scim_schema_resource_spec.rb +54 -0
  1813. data/spec/models/scim_schemas_list_response_spec.rb +48 -0
  1814. data/spec/models/scim_service_provider_config_response_bulk_spec.rb +48 -0
  1815. data/spec/models/scim_service_provider_config_response_change_password_spec.rb +36 -0
  1816. data/spec/models/scim_service_provider_config_response_filter_spec.rb +42 -0
  1817. data/spec/models/scim_service_provider_config_response_patch_spec.rb +36 -0
  1818. data/spec/models/scim_service_provider_config_response_sort_spec.rb +36 -0
  1819. data/spec/models/scim_service_provider_config_response_spec.rb +72 -0
  1820. data/spec/models/scim_user_spec.rb +60 -0
  1821. data/spec/models/scim_users_list_response_spec.rb +48 -0
  1822. data/spec/models/secondary_deployment_spec.rb +82 -0
  1823. data/spec/models/session_coupons_spec.rb +42 -0
  1824. data/spec/models/session_spec.rb +48 -0
  1825. data/spec/models/set_discount_effect_props_spec.rb +54 -0
  1826. data/spec/models/set_discount_per_additional_cost_effect_props_spec.rb +60 -0
  1827. data/spec/models/set_discount_per_additional_cost_per_item_effect_props_spec.rb +72 -0
  1828. data/spec/models/set_discount_per_item_effect_props_spec.rb +102 -0
  1829. data/spec/models/set_loyalty_points_expiry_date_effect_props_spec.rb +54 -0
  1830. data/spec/models/show_bundle_metadata_effect_props_spec.rb +48 -0
  1831. data/spec/models/show_notification_effect_props_spec.rb +48 -0
  1832. data/spec/models/sku_unit_analytics_data_point_spec.rb +54 -0
  1833. data/spec/models/sku_unit_analytics_spec.rb +42 -0
  1834. data/spec/models/slot_def_spec.rb +66 -0
  1835. data/spec/models/sso_config_spec.rb +42 -0
  1836. data/spec/models/store_spec.rb +84 -0
  1837. data/spec/models/strikethrough_changed_item_spec.rb +78 -0
  1838. data/spec/models/strikethrough_custom_effect_per_item_props_spec.rb +48 -0
  1839. data/spec/models/strikethrough_debug_response_spec.rb +42 -0
  1840. data/spec/models/strikethrough_effect_spec.rb +102 -0
  1841. data/spec/models/strikethrough_labeling_notification_spec.rb +92 -0
  1842. data/spec/models/strikethrough_set_discount_per_item_effect_props_spec.rb +42 -0
  1843. data/spec/models/strikethrough_set_discount_per_item_member_effect_props_spec.rb +42 -0
  1844. data/spec/models/strikethrough_trigger_spec.rb +60 -0
  1845. data/spec/models/summarize_campaign_store_budget200_response_spec.rb +36 -0
  1846. data/spec/models/summary_campaign_store_budget_spec.rb +62 -0
  1847. data/spec/models/talang_attribute_spec.rb +92 -0
  1848. data/spec/models/talang_attribute_visibility_spec.rb +42 -0
  1849. data/spec/models/template_arg_def_spec.rb +76 -0
  1850. data/spec/models/template_def_spec.rb +96 -0
  1851. data/spec/models/template_limit_config_spec.rb +62 -0
  1852. data/spec/models/tier_downgrade_data_spec.rb +78 -0
  1853. data/spec/models/tier_downgrade_notification_policy_spec.rb +48 -0
  1854. data/spec/models/tier_downgrade_notification_spec.rb +52 -0
  1855. data/spec/models/tier_spec.rb +64 -0
  1856. data/spec/models/tier_upgrade_data_spec.rb +90 -0
  1857. data/spec/models/tier_upgrade_notification_policy_spec.rb +48 -0
  1858. data/spec/models/tier_upgrade_notification_spec.rb +52 -0
  1859. data/spec/models/tier_will_downgrade_data_spec.rb +78 -0
  1860. data/spec/models/tier_will_downgrade_notification_policy_spec.rb +54 -0
  1861. data/spec/models/tier_will_downgrade_notification_spec.rb +52 -0
  1862. data/spec/models/tier_will_downgrade_notification_trigger_spec.rb +46 -0
  1863. data/spec/models/time_point_spec.rb +66 -0
  1864. data/spec/models/track_event_v2_response_spec.rb +84 -0
  1865. data/spec/models/transfer_loyalty_card_spec.rb +42 -0
  1866. data/spec/models/trigger_webhook_effect_props_spec.rb +42 -0
  1867. data/spec/models/two_fa_config_spec.rb +42 -0
  1868. data/spec/models/update_account_spec.rb +64 -0
  1869. data/spec/models/update_achievement_spec.rb +104 -0
  1870. data/spec/models/update_application_api_key_spec.rb +36 -0
  1871. data/spec/models/update_application_cif_spec.rb +54 -0
  1872. data/spec/models/update_application_spec.rb +144 -0
  1873. data/spec/models/update_attribute_effect_props_spec.rb +42 -0
  1874. data/spec/models/update_audience_spec.rb +36 -0
  1875. data/spec/models/update_campaign_collection_spec.rb +36 -0
  1876. data/spec/models/update_campaign_evaluation_group_spec.rb +74 -0
  1877. data/spec/models/update_campaign_group_spec.rb +54 -0
  1878. data/spec/models/update_campaign_spec.rb +138 -0
  1879. data/spec/models/update_campaign_template_spec.rb +150 -0
  1880. data/spec/models/update_catalog_spec.rb +48 -0
  1881. data/spec/models/update_collection_spec.rb +42 -0
  1882. data/spec/models/update_coupon_batch_spec.rb +72 -0
  1883. data/spec/models/update_coupon_spec.rb +90 -0
  1884. data/spec/models/update_coupons_data_spec.rb +76 -0
  1885. data/spec/models/update_custom_effect_spec.rb +78 -0
  1886. data/spec/models/update_customer_profile_v2409_response_spec.rb +48 -0
  1887. data/spec/models/update_customer_session_v2409_response_spec.rb +48 -0
  1888. data/spec/models/update_loyalty_card_spec.rb +42 -0
  1889. data/spec/models/update_loyalty_program_spec.rb +142 -0
  1890. data/spec/models/update_loyalty_program_tier_spec.rb +48 -0
  1891. data/spec/models/update_picklist_spec.rb +46 -0
  1892. data/spec/models/update_price_type_spec.rb +48 -0
  1893. data/spec/models/update_referral_batch_spec.rb +60 -0
  1894. data/spec/models/update_referral_spec.rb +60 -0
  1895. data/spec/models/update_role_spec.rb +54 -0
  1896. data/spec/models/update_store_spec.rb +48 -0
  1897. data/spec/models/update_user_spec.rb +70 -0
  1898. data/spec/models/user_entity_spec.rb +36 -0
  1899. data/spec/models/user_spec.rb +136 -0
  1900. data/spec/models/value_map_spec.rb +54 -0
  1901. data/spec/models/webhook_authentication_base_spec.rb +52 -0
  1902. data/spec/models/webhook_authentication_data_basic_spec.rb +42 -0
  1903. data/spec/models/webhook_authentication_data_custom_spec.rb +36 -0
  1904. data/spec/models/webhook_authentication_spec.rb +88 -0
  1905. data/spec/models/webhook_authentication_webhook_ref_spec.rb +48 -0
  1906. data/spec/models/webhook_spec.rb +118 -0
  1907. data/spec/models/webhook_with_outgoing_integration_details_spec.rb +136 -0
  1908. data/spec/models/will_award_giveaway_effect_props_spec.rb +48 -0
  1909. data/spec/spec_helper.rb +111 -0
  1910. data/talon_one_sdk.gemspec +39 -0
  1911. metadata +2643 -0
@@ -0,0 +1,2536 @@
1
+ =begin
2
+ #Talon.One API
3
+
4
+ #Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}`
5
+
6
+ The version of the OpenAPI document:
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.18.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module TalonOne
16
+ class IntegrationApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Fetch best prior price
23
+ # Returns the best prior price based on historical pricing data for the specified SKUs within a defined timeframe.
24
+ # @param best_prior_price_request [BestPriorPriceRequest] body
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [Array<BestPriorPrice>]
27
+ def best_prior_price(best_prior_price_request, opts = {})
28
+ data, _status_code, _headers = best_prior_price_with_http_info(best_prior_price_request, opts)
29
+ data
30
+ end
31
+
32
+ # Fetch best prior price
33
+ # Returns the best prior price based on historical pricing data for the specified SKUs within a defined timeframe.
34
+ # @param best_prior_price_request [BestPriorPriceRequest] body
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(Array<BestPriorPrice>, Integer, Hash)>] Array<BestPriorPrice> data, response status code and response headers
37
+ def best_prior_price_with_http_info(best_prior_price_request, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.best_prior_price ...'
40
+ end
41
+ # verify the required parameter 'best_prior_price_request' is set
42
+ if @api_client.config.client_side_validation && best_prior_price_request.nil?
43
+ fail ArgumentError, "Missing the required parameter 'best_prior_price_request' when calling IntegrationApi.best_prior_price"
44
+ end
45
+ # resource path
46
+ local_var_path = '/v1/best_prior_price'
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+ # HTTP header 'Accept' (if needed)
54
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
55
+ # HTTP header 'Content-Type'
56
+ content_type = @api_client.select_header_content_type(['application/json'])
57
+ if !content_type.nil?
58
+ header_params['Content-Type'] = content_type
59
+ end
60
+
61
+ # form parameters
62
+ form_params = opts[:form_params] || {}
63
+
64
+ # http body (model)
65
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(best_prior_price_request)
66
+
67
+ # return_type
68
+ return_type = opts[:debug_return_type] || 'Array<BestPriorPrice>'
69
+
70
+ # auth_names
71
+ auth_names = opts[:debug_auth_names] || ['management_key', 'manager_auth', 'api_key_v1']
72
+
73
+ new_options = opts.merge(
74
+ :operation => :"IntegrationApi.best_prior_price",
75
+ :header_params => header_params,
76
+ :query_params => query_params,
77
+ :form_params => form_params,
78
+ :body => post_body,
79
+ :auth_names => auth_names,
80
+ :return_type => return_type
81
+ )
82
+
83
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
84
+ if @api_client.config.debugging
85
+ @api_client.config.logger.debug "API called: IntegrationApi#best_prior_price\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
86
+ end
87
+ return data, status_code, headers
88
+ end
89
+
90
+ # Create audience
91
+ # Create an audience. The audience can be created directly from scratch or can come from third party platforms. **Note:** Audiences can also be created from scratch via the Campaign Manager. See the [docs](https://docs.talon.one/docs/product/audiences/creating-audiences). To create an audience from an existing audience from a [technology partner](https://docs.talon.one/docs/dev/technology-partners/overview): 1. Set the `integration` property to `mparticle`, `segment` etc., depending on a third-party platform. 1. Set `integrationId` to the ID of this audience in a third-party platform. To create an audience from an existing audience in another platform: 1. Do not use the `integration` property. 1. Set `integrationId` to the ID of this audience in the 3rd-party platform. To create an audience from scratch: 1. Only set the `name` property. Once you create your first audience, audience-specific rule conditions are enabled in the Rule Builder.
92
+ # @param new_audience [NewAudience] body
93
+ # @param [Hash] opts the optional parameters
94
+ # @return [Audience]
95
+ def create_audience_v2(new_audience, opts = {})
96
+ data, _status_code, _headers = create_audience_v2_with_http_info(new_audience, opts)
97
+ data
98
+ end
99
+
100
+ # Create audience
101
+ # Create an audience. The audience can be created directly from scratch or can come from third party platforms. **Note:** Audiences can also be created from scratch via the Campaign Manager. See the [docs](https://docs.talon.one/docs/product/audiences/creating-audiences). To create an audience from an existing audience from a [technology partner](https://docs.talon.one/docs/dev/technology-partners/overview): 1. Set the &#x60;integration&#x60; property to &#x60;mparticle&#x60;, &#x60;segment&#x60; etc., depending on a third-party platform. 1. Set &#x60;integrationId&#x60; to the ID of this audience in a third-party platform. To create an audience from an existing audience in another platform: 1. Do not use the &#x60;integration&#x60; property. 1. Set &#x60;integrationId&#x60; to the ID of this audience in the 3rd-party platform. To create an audience from scratch: 1. Only set the &#x60;name&#x60; property. Once you create your first audience, audience-specific rule conditions are enabled in the Rule Builder.
102
+ # @param new_audience [NewAudience] body
103
+ # @param [Hash] opts the optional parameters
104
+ # @return [Array<(Audience, Integer, Hash)>] Audience data, response status code and response headers
105
+ def create_audience_v2_with_http_info(new_audience, opts = {})
106
+ if @api_client.config.debugging
107
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.create_audience_v2 ...'
108
+ end
109
+ # verify the required parameter 'new_audience' is set
110
+ if @api_client.config.client_side_validation && new_audience.nil?
111
+ fail ArgumentError, "Missing the required parameter 'new_audience' when calling IntegrationApi.create_audience_v2"
112
+ end
113
+ # resource path
114
+ local_var_path = '/v2/audiences'
115
+
116
+ # query parameters
117
+ query_params = opts[:query_params] || {}
118
+
119
+ # header parameters
120
+ header_params = opts[:header_params] || {}
121
+ # HTTP header 'Accept' (if needed)
122
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
123
+ # HTTP header 'Content-Type'
124
+ content_type = @api_client.select_header_content_type(['application/json'])
125
+ if !content_type.nil?
126
+ header_params['Content-Type'] = content_type
127
+ end
128
+
129
+ # form parameters
130
+ form_params = opts[:form_params] || {}
131
+
132
+ # http body (model)
133
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(new_audience)
134
+
135
+ # return_type
136
+ return_type = opts[:debug_return_type] || 'Audience'
137
+
138
+ # auth_names
139
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
140
+
141
+ new_options = opts.merge(
142
+ :operation => :"IntegrationApi.create_audience_v2",
143
+ :header_params => header_params,
144
+ :query_params => query_params,
145
+ :form_params => form_params,
146
+ :body => post_body,
147
+ :auth_names => auth_names,
148
+ :return_type => return_type
149
+ )
150
+
151
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
152
+ if @api_client.config.debugging
153
+ @api_client.config.logger.debug "API called: IntegrationApi#create_audience_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
154
+ end
155
+ return data, status_code, headers
156
+ end
157
+
158
+ # Create coupon reservation
159
+ # Create a coupon reservation for the specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code) effect. **Note:** - If the **Reservation mandatory** option was selected when creating the specified coupon, the endpoint creates a **hard** reservation, meaning only users who have this coupon code reserved can redeem it. Otherwise, the endpoint creates a **soft** reservation, meaning the coupon is associated with the specified customer profiles (they show up when using the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint), but any user can redeem it. This can be useful, for example, to display a _coupon wallet_ for customers when they visit your store. - If the **Coupon visibility** option was selected when creating the specified coupon, the coupon code is implicitly soft-reserved for all customers, and the code will be returned for all customer profiles in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. - This endpoint overrides the coupon reservation limit set when [the coupon is created](https://docs.talon.one/docs/product/campaigns/coupons/creating-coupons). To ensure that coupons cannot be reserved after the reservation limit is reached, use the [Create coupon code reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code) effect in the Rule Builder and the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint. To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint.
160
+ # @param coupon_value [String] The code of the coupon. **Important:** The coupon code requires [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) if it contains special characters. For example, you must encode &#x60;SUMMER25%OFF&#x60; as &#x60;SUMMER25%25OFF&#x60;.
161
+ # @param coupon_reservations [CouponReservations] body
162
+ # @param [Hash] opts the optional parameters
163
+ # @return [Coupon]
164
+ def create_coupon_reservation(coupon_value, coupon_reservations, opts = {})
165
+ data, _status_code, _headers = create_coupon_reservation_with_http_info(coupon_value, coupon_reservations, opts)
166
+ data
167
+ end
168
+
169
+ # Create coupon reservation
170
+ # Create a coupon reservation for the specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code) effect. **Note:** - If the **Reservation mandatory** option was selected when creating the specified coupon, the endpoint creates a **hard** reservation, meaning only users who have this coupon code reserved can redeem it. Otherwise, the endpoint creates a **soft** reservation, meaning the coupon is associated with the specified customer profiles (they show up when using the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint), but any user can redeem it. This can be useful, for example, to display a _coupon wallet_ for customers when they visit your store. - If the **Coupon visibility** option was selected when creating the specified coupon, the coupon code is implicitly soft-reserved for all customers, and the code will be returned for all customer profiles in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. - This endpoint overrides the coupon reservation limit set when [the coupon is created](https://docs.talon.one/docs/product/campaigns/coupons/creating-coupons). To ensure that coupons cannot be reserved after the reservation limit is reached, use the [Create coupon code reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code) effect in the Rule Builder and the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint. To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint.
171
+ # @param coupon_value [String] The code of the coupon. **Important:** The coupon code requires [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) if it contains special characters. For example, you must encode &#x60;SUMMER25%OFF&#x60; as &#x60;SUMMER25%25OFF&#x60;.
172
+ # @param coupon_reservations [CouponReservations] body
173
+ # @param [Hash] opts the optional parameters
174
+ # @return [Array<(Coupon, Integer, Hash)>] Coupon data, response status code and response headers
175
+ def create_coupon_reservation_with_http_info(coupon_value, coupon_reservations, opts = {})
176
+ if @api_client.config.debugging
177
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.create_coupon_reservation ...'
178
+ end
179
+ # verify the required parameter 'coupon_value' is set
180
+ if @api_client.config.client_side_validation && coupon_value.nil?
181
+ fail ArgumentError, "Missing the required parameter 'coupon_value' when calling IntegrationApi.create_coupon_reservation"
182
+ end
183
+ # verify the required parameter 'coupon_reservations' is set
184
+ if @api_client.config.client_side_validation && coupon_reservations.nil?
185
+ fail ArgumentError, "Missing the required parameter 'coupon_reservations' when calling IntegrationApi.create_coupon_reservation"
186
+ end
187
+ # resource path
188
+ local_var_path = '/v1/coupon_reservations/{couponValue}'.sub('{' + 'couponValue' + '}', CGI.escape(coupon_value.to_s))
189
+
190
+ # query parameters
191
+ query_params = opts[:query_params] || {}
192
+
193
+ # header parameters
194
+ header_params = opts[:header_params] || {}
195
+ # HTTP header 'Accept' (if needed)
196
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
197
+ # HTTP header 'Content-Type'
198
+ content_type = @api_client.select_header_content_type(['application/json'])
199
+ if !content_type.nil?
200
+ header_params['Content-Type'] = content_type
201
+ end
202
+
203
+ # form parameters
204
+ form_params = opts[:form_params] || {}
205
+
206
+ # http body (model)
207
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(coupon_reservations)
208
+
209
+ # return_type
210
+ return_type = opts[:debug_return_type] || 'Coupon'
211
+
212
+ # auth_names
213
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
214
+
215
+ new_options = opts.merge(
216
+ :operation => :"IntegrationApi.create_coupon_reservation",
217
+ :header_params => header_params,
218
+ :query_params => query_params,
219
+ :form_params => form_params,
220
+ :body => post_body,
221
+ :auth_names => auth_names,
222
+ :return_type => return_type
223
+ )
224
+
225
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
226
+ if @api_client.config.debugging
227
+ @api_client.config.logger.debug "API called: IntegrationApi#create_coupon_reservation\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
228
+ end
229
+ return data, status_code, headers
230
+ end
231
+
232
+ # Create referral code for an advocate
233
+ # Creates a referral code for an advocate. The code will be valid for the referral campaign for which is created, indicated in the `campaignId` parameter, and will be associated with the profile specified in the `advocateProfileIntegrationId` parameter as the advocate's profile. **Note:** Any [referral limits](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets#referral-limits) set are ignored when you use this endpoint.
234
+ # @param new_referral [NewReferral] body
235
+ # @param [Hash] opts the optional parameters
236
+ # @return [Referral]
237
+ def create_referral(new_referral, opts = {})
238
+ data, _status_code, _headers = create_referral_with_http_info(new_referral, opts)
239
+ data
240
+ end
241
+
242
+ # Create referral code for an advocate
243
+ # Creates a referral code for an advocate. The code will be valid for the referral campaign for which is created, indicated in the &#x60;campaignId&#x60; parameter, and will be associated with the profile specified in the &#x60;advocateProfileIntegrationId&#x60; parameter as the advocate&#39;s profile. **Note:** Any [referral limits](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets#referral-limits) set are ignored when you use this endpoint.
244
+ # @param new_referral [NewReferral] body
245
+ # @param [Hash] opts the optional parameters
246
+ # @return [Array<(Referral, Integer, Hash)>] Referral data, response status code and response headers
247
+ def create_referral_with_http_info(new_referral, opts = {})
248
+ if @api_client.config.debugging
249
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.create_referral ...'
250
+ end
251
+ # verify the required parameter 'new_referral' is set
252
+ if @api_client.config.client_side_validation && new_referral.nil?
253
+ fail ArgumentError, "Missing the required parameter 'new_referral' when calling IntegrationApi.create_referral"
254
+ end
255
+ # resource path
256
+ local_var_path = '/v1/referrals'
257
+
258
+ # query parameters
259
+ query_params = opts[:query_params] || {}
260
+
261
+ # header parameters
262
+ header_params = opts[:header_params] || {}
263
+ # HTTP header 'Accept' (if needed)
264
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
265
+ # HTTP header 'Content-Type'
266
+ content_type = @api_client.select_header_content_type(['application/json'])
267
+ if !content_type.nil?
268
+ header_params['Content-Type'] = content_type
269
+ end
270
+
271
+ # form parameters
272
+ form_params = opts[:form_params] || {}
273
+
274
+ # http body (model)
275
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(new_referral)
276
+
277
+ # return_type
278
+ return_type = opts[:debug_return_type] || 'Referral'
279
+
280
+ # auth_names
281
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
282
+
283
+ new_options = opts.merge(
284
+ :operation => :"IntegrationApi.create_referral",
285
+ :header_params => header_params,
286
+ :query_params => query_params,
287
+ :form_params => form_params,
288
+ :body => post_body,
289
+ :auth_names => auth_names,
290
+ :return_type => return_type
291
+ )
292
+
293
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
294
+ if @api_client.config.debugging
295
+ @api_client.config.logger.debug "API called: IntegrationApi#create_referral\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
296
+ end
297
+ return data, status_code, headers
298
+ end
299
+
300
+ # Create referral codes for multiple advocates
301
+ # Creates unique referral codes for multiple advocates. The code will be valid for the referral campaign for which it is created, indicated in the `campaignId` parameter, and one referral code will be associated with one advocate using the profile specified in the `advocateProfileIntegrationId` parameter as the advocate's profile. **Note:** Any [referral limits](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets#referral-limits) set are ignored when you use this endpoint.
302
+ # @param new_referrals_for_multiple_advocates [NewReferralsForMultipleAdvocates] body
303
+ # @param [Hash] opts the optional parameters
304
+ # @option opts [String] :silent Possible values: &#x60;yes&#x60; or &#x60;no&#x60;. - &#x60;yes&#x60;: Increases the performance of the API call by returning a 204 response. - &#x60;no&#x60;: Returns a 200 response that contains the updated customer profiles. (default to 'yes')
305
+ # @return [CreateReferralsForMultipleAdvocates201Response]
306
+ def create_referrals_for_multiple_advocates(new_referrals_for_multiple_advocates, opts = {})
307
+ data, _status_code, _headers = create_referrals_for_multiple_advocates_with_http_info(new_referrals_for_multiple_advocates, opts)
308
+ data
309
+ end
310
+
311
+ # Create referral codes for multiple advocates
312
+ # Creates unique referral codes for multiple advocates. The code will be valid for the referral campaign for which it is created, indicated in the &#x60;campaignId&#x60; parameter, and one referral code will be associated with one advocate using the profile specified in the &#x60;advocateProfileIntegrationId&#x60; parameter as the advocate&#39;s profile. **Note:** Any [referral limits](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets#referral-limits) set are ignored when you use this endpoint.
313
+ # @param new_referrals_for_multiple_advocates [NewReferralsForMultipleAdvocates] body
314
+ # @param [Hash] opts the optional parameters
315
+ # @option opts [String] :silent Possible values: &#x60;yes&#x60; or &#x60;no&#x60;. - &#x60;yes&#x60;: Increases the performance of the API call by returning a 204 response. - &#x60;no&#x60;: Returns a 200 response that contains the updated customer profiles. (default to 'yes')
316
+ # @return [Array<(CreateReferralsForMultipleAdvocates201Response, Integer, Hash)>] CreateReferralsForMultipleAdvocates201Response data, response status code and response headers
317
+ def create_referrals_for_multiple_advocates_with_http_info(new_referrals_for_multiple_advocates, opts = {})
318
+ if @api_client.config.debugging
319
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.create_referrals_for_multiple_advocates ...'
320
+ end
321
+ # verify the required parameter 'new_referrals_for_multiple_advocates' is set
322
+ if @api_client.config.client_side_validation && new_referrals_for_multiple_advocates.nil?
323
+ fail ArgumentError, "Missing the required parameter 'new_referrals_for_multiple_advocates' when calling IntegrationApi.create_referrals_for_multiple_advocates"
324
+ end
325
+ # resource path
326
+ local_var_path = '/v1/referrals_for_multiple_advocates'
327
+
328
+ # query parameters
329
+ query_params = opts[:query_params] || {}
330
+ query_params[:'silent'] = opts[:'silent'] if !opts[:'silent'].nil?
331
+
332
+ # header parameters
333
+ header_params = opts[:header_params] || {}
334
+ # HTTP header 'Accept' (if needed)
335
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
336
+ # HTTP header 'Content-Type'
337
+ content_type = @api_client.select_header_content_type(['application/json'])
338
+ if !content_type.nil?
339
+ header_params['Content-Type'] = content_type
340
+ end
341
+
342
+ # form parameters
343
+ form_params = opts[:form_params] || {}
344
+
345
+ # http body (model)
346
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(new_referrals_for_multiple_advocates)
347
+
348
+ # return_type
349
+ return_type = opts[:debug_return_type] || 'CreateReferralsForMultipleAdvocates201Response'
350
+
351
+ # auth_names
352
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
353
+
354
+ new_options = opts.merge(
355
+ :operation => :"IntegrationApi.create_referrals_for_multiple_advocates",
356
+ :header_params => header_params,
357
+ :query_params => query_params,
358
+ :form_params => form_params,
359
+ :body => post_body,
360
+ :auth_names => auth_names,
361
+ :return_type => return_type
362
+ )
363
+
364
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
365
+ if @api_client.config.debugging
366
+ @api_client.config.logger.debug "API called: IntegrationApi#create_referrals_for_multiple_advocates\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
367
+ end
368
+ return data, status_code, headers
369
+ end
370
+
371
+ # Delete audience memberships
372
+ # Remove all members from this audience.
373
+ # @param audience_id [Integer] The ID of the audience.
374
+ # @param [Hash] opts the optional parameters
375
+ # @return [nil]
376
+ def delete_audience_memberships_v2(audience_id, opts = {})
377
+ delete_audience_memberships_v2_with_http_info(audience_id, opts)
378
+ nil
379
+ end
380
+
381
+ # Delete audience memberships
382
+ # Remove all members from this audience.
383
+ # @param audience_id [Integer] The ID of the audience.
384
+ # @param [Hash] opts the optional parameters
385
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
386
+ def delete_audience_memberships_v2_with_http_info(audience_id, opts = {})
387
+ if @api_client.config.debugging
388
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.delete_audience_memberships_v2 ...'
389
+ end
390
+ # verify the required parameter 'audience_id' is set
391
+ if @api_client.config.client_side_validation && audience_id.nil?
392
+ fail ArgumentError, "Missing the required parameter 'audience_id' when calling IntegrationApi.delete_audience_memberships_v2"
393
+ end
394
+ # resource path
395
+ local_var_path = '/v2/audiences/{audienceId}/memberships'.sub('{' + 'audienceId' + '}', CGI.escape(audience_id.to_s))
396
+
397
+ # query parameters
398
+ query_params = opts[:query_params] || {}
399
+
400
+ # header parameters
401
+ header_params = opts[:header_params] || {}
402
+ # HTTP header 'Accept' (if needed)
403
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
404
+
405
+ # form parameters
406
+ form_params = opts[:form_params] || {}
407
+
408
+ # http body (model)
409
+ post_body = opts[:debug_body]
410
+
411
+ # return_type
412
+ return_type = opts[:debug_return_type]
413
+
414
+ # auth_names
415
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
416
+
417
+ new_options = opts.merge(
418
+ :operation => :"IntegrationApi.delete_audience_memberships_v2",
419
+ :header_params => header_params,
420
+ :query_params => query_params,
421
+ :form_params => form_params,
422
+ :body => post_body,
423
+ :auth_names => auth_names,
424
+ :return_type => return_type
425
+ )
426
+
427
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
428
+ if @api_client.config.debugging
429
+ @api_client.config.logger.debug "API called: IntegrationApi#delete_audience_memberships_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
430
+ end
431
+ return data, status_code, headers
432
+ end
433
+
434
+ # Delete audience
435
+ # Delete an audience created by a third-party integration. **Warning:** This endpoint also removes any associations recorded between a customer profile and this audience. **Note:** Audiences can also be deleted via the Campaign Manager. See the [docs](https://docs.talon.one/docs/product/audiences/managing-audiences#deleting-an-audience).
436
+ # @param audience_id [Integer] The ID of the audience.
437
+ # @param [Hash] opts the optional parameters
438
+ # @return [nil]
439
+ def delete_audience_v2(audience_id, opts = {})
440
+ delete_audience_v2_with_http_info(audience_id, opts)
441
+ nil
442
+ end
443
+
444
+ # Delete audience
445
+ # Delete an audience created by a third-party integration. **Warning:** This endpoint also removes any associations recorded between a customer profile and this audience. **Note:** Audiences can also be deleted via the Campaign Manager. See the [docs](https://docs.talon.one/docs/product/audiences/managing-audiences#deleting-an-audience).
446
+ # @param audience_id [Integer] The ID of the audience.
447
+ # @param [Hash] opts the optional parameters
448
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
449
+ def delete_audience_v2_with_http_info(audience_id, opts = {})
450
+ if @api_client.config.debugging
451
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.delete_audience_v2 ...'
452
+ end
453
+ # verify the required parameter 'audience_id' is set
454
+ if @api_client.config.client_side_validation && audience_id.nil?
455
+ fail ArgumentError, "Missing the required parameter 'audience_id' when calling IntegrationApi.delete_audience_v2"
456
+ end
457
+ # resource path
458
+ local_var_path = '/v2/audiences/{audienceId}'.sub('{' + 'audienceId' + '}', CGI.escape(audience_id.to_s))
459
+
460
+ # query parameters
461
+ query_params = opts[:query_params] || {}
462
+
463
+ # header parameters
464
+ header_params = opts[:header_params] || {}
465
+ # HTTP header 'Accept' (if needed)
466
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
467
+
468
+ # form parameters
469
+ form_params = opts[:form_params] || {}
470
+
471
+ # http body (model)
472
+ post_body = opts[:debug_body]
473
+
474
+ # return_type
475
+ return_type = opts[:debug_return_type]
476
+
477
+ # auth_names
478
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
479
+
480
+ new_options = opts.merge(
481
+ :operation => :"IntegrationApi.delete_audience_v2",
482
+ :header_params => header_params,
483
+ :query_params => query_params,
484
+ :form_params => form_params,
485
+ :body => post_body,
486
+ :auth_names => auth_names,
487
+ :return_type => return_type
488
+ )
489
+
490
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
491
+ if @api_client.config.debugging
492
+ @api_client.config.logger.debug "API called: IntegrationApi#delete_audience_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
493
+ end
494
+ return data, status_code, headers
495
+ end
496
+
497
+ # Delete coupon reservations
498
+ # Remove all the coupon reservations from the provided customer profile integration IDs and the provided coupon code.
499
+ # @param coupon_value [String] The code of the coupon. **Important:** The coupon code requires [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) if it contains special characters. For example, you must encode &#x60;SUMMER25%OFF&#x60; as &#x60;SUMMER25%25OFF&#x60;.
500
+ # @param coupon_reservations [CouponReservations] body
501
+ # @param [Hash] opts the optional parameters
502
+ # @return [nil]
503
+ def delete_coupon_reservation(coupon_value, coupon_reservations, opts = {})
504
+ delete_coupon_reservation_with_http_info(coupon_value, coupon_reservations, opts)
505
+ nil
506
+ end
507
+
508
+ # Delete coupon reservations
509
+ # Remove all the coupon reservations from the provided customer profile integration IDs and the provided coupon code.
510
+ # @param coupon_value [String] The code of the coupon. **Important:** The coupon code requires [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) if it contains special characters. For example, you must encode &#x60;SUMMER25%OFF&#x60; as &#x60;SUMMER25%25OFF&#x60;.
511
+ # @param coupon_reservations [CouponReservations] body
512
+ # @param [Hash] opts the optional parameters
513
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
514
+ def delete_coupon_reservation_with_http_info(coupon_value, coupon_reservations, opts = {})
515
+ if @api_client.config.debugging
516
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.delete_coupon_reservation ...'
517
+ end
518
+ # verify the required parameter 'coupon_value' is set
519
+ if @api_client.config.client_side_validation && coupon_value.nil?
520
+ fail ArgumentError, "Missing the required parameter 'coupon_value' when calling IntegrationApi.delete_coupon_reservation"
521
+ end
522
+ # verify the required parameter 'coupon_reservations' is set
523
+ if @api_client.config.client_side_validation && coupon_reservations.nil?
524
+ fail ArgumentError, "Missing the required parameter 'coupon_reservations' when calling IntegrationApi.delete_coupon_reservation"
525
+ end
526
+ # resource path
527
+ local_var_path = '/v1/coupon_reservations/{couponValue}'.sub('{' + 'couponValue' + '}', CGI.escape(coupon_value.to_s))
528
+
529
+ # query parameters
530
+ query_params = opts[:query_params] || {}
531
+
532
+ # header parameters
533
+ header_params = opts[:header_params] || {}
534
+ # HTTP header 'Accept' (if needed)
535
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
536
+ # HTTP header 'Content-Type'
537
+ content_type = @api_client.select_header_content_type(['application/json'])
538
+ if !content_type.nil?
539
+ header_params['Content-Type'] = content_type
540
+ end
541
+
542
+ # form parameters
543
+ form_params = opts[:form_params] || {}
544
+
545
+ # http body (model)
546
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(coupon_reservations)
547
+
548
+ # return_type
549
+ return_type = opts[:debug_return_type]
550
+
551
+ # auth_names
552
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
553
+
554
+ new_options = opts.merge(
555
+ :operation => :"IntegrationApi.delete_coupon_reservation",
556
+ :header_params => header_params,
557
+ :query_params => query_params,
558
+ :form_params => form_params,
559
+ :body => post_body,
560
+ :auth_names => auth_names,
561
+ :return_type => return_type
562
+ )
563
+
564
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
565
+ if @api_client.config.debugging
566
+ @api_client.config.logger.debug "API called: IntegrationApi#delete_coupon_reservation\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
567
+ end
568
+ return data, status_code, headers
569
+ end
570
+
571
+ # Delete customer's personal data
572
+ # Delete all attributes on the customer profile and on entities that reference this customer profile. **Important:** - Customer data is deleted from all Applications in the [environment](https://docs.talon.one/docs/product/applications/overview#application-environments) that the API key belongs to. For example, if you use this endpoint with an API key that belongs to a sandbox Application, customer data will be deleted from all sandbox Applications. This is because customer data is shared between Applications from the same environment. - To preserve performance, we recommend avoiding deleting customer data during peak-traffic hours.
573
+ # @param integration_id [String] The integration ID of the customer profile. You can get the &#x60;integrationId&#x60; of a profile using: - A customer session integration ID with the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. - The Management API with the [List application&#39;s customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint.
574
+ # @param [Hash] opts the optional parameters
575
+ # @return [nil]
576
+ def delete_customer_data(integration_id, opts = {})
577
+ delete_customer_data_with_http_info(integration_id, opts)
578
+ nil
579
+ end
580
+
581
+ # Delete customer&#39;s personal data
582
+ # Delete all attributes on the customer profile and on entities that reference this customer profile. **Important:** - Customer data is deleted from all Applications in the [environment](https://docs.talon.one/docs/product/applications/overview#application-environments) that the API key belongs to. For example, if you use this endpoint with an API key that belongs to a sandbox Application, customer data will be deleted from all sandbox Applications. This is because customer data is shared between Applications from the same environment. - To preserve performance, we recommend avoiding deleting customer data during peak-traffic hours.
583
+ # @param integration_id [String] The integration ID of the customer profile. You can get the &#x60;integrationId&#x60; of a profile using: - A customer session integration ID with the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. - The Management API with the [List application&#39;s customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint.
584
+ # @param [Hash] opts the optional parameters
585
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
586
+ def delete_customer_data_with_http_info(integration_id, opts = {})
587
+ if @api_client.config.debugging
588
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.delete_customer_data ...'
589
+ end
590
+ # verify the required parameter 'integration_id' is set
591
+ if @api_client.config.client_side_validation && integration_id.nil?
592
+ fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationApi.delete_customer_data"
593
+ end
594
+ # resource path
595
+ local_var_path = '/v1/customer_data/{integrationId}'.sub('{' + 'integrationId' + '}', CGI.escape(integration_id.to_s))
596
+
597
+ # query parameters
598
+ query_params = opts[:query_params] || {}
599
+
600
+ # header parameters
601
+ header_params = opts[:header_params] || {}
602
+ # HTTP header 'Accept' (if needed)
603
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
604
+
605
+ # form parameters
606
+ form_params = opts[:form_params] || {}
607
+
608
+ # http body (model)
609
+ post_body = opts[:debug_body]
610
+
611
+ # return_type
612
+ return_type = opts[:debug_return_type]
613
+
614
+ # auth_names
615
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
616
+
617
+ new_options = opts.merge(
618
+ :operation => :"IntegrationApi.delete_customer_data",
619
+ :header_params => header_params,
620
+ :query_params => query_params,
621
+ :form_params => form_params,
622
+ :body => post_body,
623
+ :auth_names => auth_names,
624
+ :return_type => return_type
625
+ )
626
+
627
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
628
+ if @api_client.config.debugging
629
+ @api_client.config.logger.debug "API called: IntegrationApi#delete_customer_data\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
630
+ end
631
+ return data, status_code, headers
632
+ end
633
+
634
+ # Generate loyalty card
635
+ # Generate a loyalty card in a specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview). To link the card to one or more customer profiles, use the `customerProfileIds` parameter in the request body. **Note:** - The number of customer profiles linked to the loyalty card cannot exceed the loyalty program's `usersPerCardLimit`. To find the program's limit, use the [Get loyalty program](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyProgram) endpoint. - If the loyalty program has a defined code format, it will be used for the loyalty card identifier.
636
+ # @param loyalty_program_id [Integer] Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
637
+ # @param generate_loyalty_card [GenerateLoyaltyCard] body
638
+ # @param [Hash] opts the optional parameters
639
+ # @return [LoyaltyCard]
640
+ def generate_loyalty_card(loyalty_program_id, generate_loyalty_card, opts = {})
641
+ data, _status_code, _headers = generate_loyalty_card_with_http_info(loyalty_program_id, generate_loyalty_card, opts)
642
+ data
643
+ end
644
+
645
+ # Generate loyalty card
646
+ # Generate a loyalty card in a specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview). To link the card to one or more customer profiles, use the &#x60;customerProfileIds&#x60; parameter in the request body. **Note:** - The number of customer profiles linked to the loyalty card cannot exceed the loyalty program&#39;s &#x60;usersPerCardLimit&#x60;. To find the program&#39;s limit, use the [Get loyalty program](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyProgram) endpoint. - If the loyalty program has a defined code format, it will be used for the loyalty card identifier.
647
+ # @param loyalty_program_id [Integer] Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
648
+ # @param generate_loyalty_card [GenerateLoyaltyCard] body
649
+ # @param [Hash] opts the optional parameters
650
+ # @return [Array<(LoyaltyCard, Integer, Hash)>] LoyaltyCard data, response status code and response headers
651
+ def generate_loyalty_card_with_http_info(loyalty_program_id, generate_loyalty_card, opts = {})
652
+ if @api_client.config.debugging
653
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.generate_loyalty_card ...'
654
+ end
655
+ # verify the required parameter 'loyalty_program_id' is set
656
+ if @api_client.config.client_side_validation && loyalty_program_id.nil?
657
+ fail ArgumentError, "Missing the required parameter 'loyalty_program_id' when calling IntegrationApi.generate_loyalty_card"
658
+ end
659
+ # verify the required parameter 'generate_loyalty_card' is set
660
+ if @api_client.config.client_side_validation && generate_loyalty_card.nil?
661
+ fail ArgumentError, "Missing the required parameter 'generate_loyalty_card' when calling IntegrationApi.generate_loyalty_card"
662
+ end
663
+ # resource path
664
+ local_var_path = '/v1/loyalty_programs/{loyaltyProgramId}/cards'.sub('{' + 'loyaltyProgramId' + '}', CGI.escape(loyalty_program_id.to_s))
665
+
666
+ # query parameters
667
+ query_params = opts[:query_params] || {}
668
+
669
+ # header parameters
670
+ header_params = opts[:header_params] || {}
671
+ # HTTP header 'Accept' (if needed)
672
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
673
+ # HTTP header 'Content-Type'
674
+ content_type = @api_client.select_header_content_type(['application/json'])
675
+ if !content_type.nil?
676
+ header_params['Content-Type'] = content_type
677
+ end
678
+
679
+ # form parameters
680
+ form_params = opts[:form_params] || {}
681
+
682
+ # http body (model)
683
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(generate_loyalty_card)
684
+
685
+ # return_type
686
+ return_type = opts[:debug_return_type] || 'LoyaltyCard'
687
+
688
+ # auth_names
689
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
690
+
691
+ new_options = opts.merge(
692
+ :operation => :"IntegrationApi.generate_loyalty_card",
693
+ :header_params => header_params,
694
+ :query_params => query_params,
695
+ :form_params => form_params,
696
+ :body => post_body,
697
+ :auth_names => auth_names,
698
+ :return_type => return_type
699
+ )
700
+
701
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
702
+ if @api_client.config.debugging
703
+ @api_client.config.logger.debug "API called: IntegrationApi#generate_loyalty_card\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
704
+ end
705
+ return data, status_code, headers
706
+ end
707
+
708
+ # List customer's achievement history
709
+ # Retrieve all progress history of a given customer in the given achievement.
710
+ # @param integration_id [String] The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier.
711
+ # @param achievement_id [Integer] The achievement identifier.
712
+ # @param [Hash] opts the optional parameters
713
+ # @option opts [Array<String>] :progress_status Filter by customer progress status in the achievement.
714
+ # @option opts [Time] :start_date Timestamp that filters the results to only contain achievements created on or after the start date.
715
+ # @option opts [Time] :end_date Timestamp that filters the results to only contain achievements created before or on the end date.
716
+ # @option opts [Integer] :page_size The number of items in the response. (default to 1000)
717
+ # @option opts [Integer] :skip The number of items to skip when paging through large result sets.
718
+ # @return [GetCustomerAchievementHistory200Response]
719
+ def get_customer_achievement_history(integration_id, achievement_id, opts = {})
720
+ data, _status_code, _headers = get_customer_achievement_history_with_http_info(integration_id, achievement_id, opts)
721
+ data
722
+ end
723
+
724
+ # List customer&#39;s achievement history
725
+ # Retrieve all progress history of a given customer in the given achievement.
726
+ # @param integration_id [String] The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier.
727
+ # @param achievement_id [Integer] The achievement identifier.
728
+ # @param [Hash] opts the optional parameters
729
+ # @option opts [Array<String>] :progress_status Filter by customer progress status in the achievement.
730
+ # @option opts [Time] :start_date Timestamp that filters the results to only contain achievements created on or after the start date.
731
+ # @option opts [Time] :end_date Timestamp that filters the results to only contain achievements created before or on the end date.
732
+ # @option opts [Integer] :page_size The number of items in the response. (default to 1000)
733
+ # @option opts [Integer] :skip The number of items to skip when paging through large result sets.
734
+ # @return [Array<(GetCustomerAchievementHistory200Response, Integer, Hash)>] GetCustomerAchievementHistory200Response data, response status code and response headers
735
+ def get_customer_achievement_history_with_http_info(integration_id, achievement_id, opts = {})
736
+ if @api_client.config.debugging
737
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.get_customer_achievement_history ...'
738
+ end
739
+ # verify the required parameter 'integration_id' is set
740
+ if @api_client.config.client_side_validation && integration_id.nil?
741
+ fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationApi.get_customer_achievement_history"
742
+ end
743
+ # verify the required parameter 'achievement_id' is set
744
+ if @api_client.config.client_side_validation && achievement_id.nil?
745
+ fail ArgumentError, "Missing the required parameter 'achievement_id' when calling IntegrationApi.get_customer_achievement_history"
746
+ end
747
+ allowable_values = ["inprogress", "completed", "expired"]
748
+ if @api_client.config.client_side_validation && opts[:'progress_status'] && !opts[:'progress_status'].all? { |item| allowable_values.include?(item) }
749
+ fail ArgumentError, "invalid value for \"progress_status\", must include one of #{allowable_values}"
750
+ end
751
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 1000
752
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling IntegrationApi.get_customer_achievement_history, must be smaller than or equal to 1000.'
753
+ end
754
+
755
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
756
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling IntegrationApi.get_customer_achievement_history, must be greater than or equal to 1.'
757
+ end
758
+
759
+ # resource path
760
+ local_var_path = '/v1/customer_profiles/{integrationId}/achievements/{achievementId}'.sub('{' + 'integrationId' + '}', CGI.escape(integration_id.to_s)).sub('{' + 'achievementId' + '}', CGI.escape(achievement_id.to_s))
761
+
762
+ # query parameters
763
+ query_params = opts[:query_params] || {}
764
+ query_params[:'progressStatus'] = @api_client.build_collection_param(opts[:'progress_status'], :csv) if !opts[:'progress_status'].nil?
765
+ query_params[:'startDate'] = opts[:'start_date'] if !opts[:'start_date'].nil?
766
+ query_params[:'endDate'] = opts[:'end_date'] if !opts[:'end_date'].nil?
767
+ query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
768
+ query_params[:'skip'] = opts[:'skip'] if !opts[:'skip'].nil?
769
+
770
+ # header parameters
771
+ header_params = opts[:header_params] || {}
772
+ # HTTP header 'Accept' (if needed)
773
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
774
+
775
+ # form parameters
776
+ form_params = opts[:form_params] || {}
777
+
778
+ # http body (model)
779
+ post_body = opts[:debug_body]
780
+
781
+ # return_type
782
+ return_type = opts[:debug_return_type] || 'GetCustomerAchievementHistory200Response'
783
+
784
+ # auth_names
785
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
786
+
787
+ new_options = opts.merge(
788
+ :operation => :"IntegrationApi.get_customer_achievement_history",
789
+ :header_params => header_params,
790
+ :query_params => query_params,
791
+ :form_params => form_params,
792
+ :body => post_body,
793
+ :auth_names => auth_names,
794
+ :return_type => return_type
795
+ )
796
+
797
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
798
+ if @api_client.config.debugging
799
+ @api_client.config.logger.debug "API called: IntegrationApi#get_customer_achievement_history\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
800
+ end
801
+ return data, status_code, headers
802
+ end
803
+
804
+ # List customer's available achievements
805
+ # Retrieve all the achievements available to a given customer and their progress in them.
806
+ # @param integration_id [String] The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier.
807
+ # @param [Hash] opts the optional parameters
808
+ # @option opts [Array<String>] :campaign_ids Filter by one or more Campaign IDs, separated by a comma. **Note:** If no campaigns are specified, data for all the campaigns in the Application is returned.
809
+ # @option opts [Array<String>] :achievement_ids Filter by one or more Achievement IDs, separated by a comma. **Note:** If no achievements are specified, data for all the achievements in the Application is returned.
810
+ # @option opts [Array<String>] :achievement_status Filter by status of the achievement. **Note:** If the achievement status is not specified, only data for all active achievements in the Application is returned.
811
+ # @option opts [Array<String>] :current_progress_status Filter by customer progress status in the achievement.
812
+ # @option opts [Integer] :page_size The number of items in the response. (default to 1000)
813
+ # @option opts [Integer] :skip The number of items to skip when paging through large result sets.
814
+ # @return [GetCustomerAchievements200Response]
815
+ def get_customer_achievements(integration_id, opts = {})
816
+ data, _status_code, _headers = get_customer_achievements_with_http_info(integration_id, opts)
817
+ data
818
+ end
819
+
820
+ # List customer&#39;s available achievements
821
+ # Retrieve all the achievements available to a given customer and their progress in them.
822
+ # @param integration_id [String] The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier.
823
+ # @param [Hash] opts the optional parameters
824
+ # @option opts [Array<String>] :campaign_ids Filter by one or more Campaign IDs, separated by a comma. **Note:** If no campaigns are specified, data for all the campaigns in the Application is returned.
825
+ # @option opts [Array<String>] :achievement_ids Filter by one or more Achievement IDs, separated by a comma. **Note:** If no achievements are specified, data for all the achievements in the Application is returned.
826
+ # @option opts [Array<String>] :achievement_status Filter by status of the achievement. **Note:** If the achievement status is not specified, only data for all active achievements in the Application is returned.
827
+ # @option opts [Array<String>] :current_progress_status Filter by customer progress status in the achievement.
828
+ # @option opts [Integer] :page_size The number of items in the response. (default to 1000)
829
+ # @option opts [Integer] :skip The number of items to skip when paging through large result sets.
830
+ # @return [Array<(GetCustomerAchievements200Response, Integer, Hash)>] GetCustomerAchievements200Response data, response status code and response headers
831
+ def get_customer_achievements_with_http_info(integration_id, opts = {})
832
+ if @api_client.config.debugging
833
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.get_customer_achievements ...'
834
+ end
835
+ # verify the required parameter 'integration_id' is set
836
+ if @api_client.config.client_side_validation && integration_id.nil?
837
+ fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationApi.get_customer_achievements"
838
+ end
839
+ allowable_values = ["active", "scheduled"]
840
+ if @api_client.config.client_side_validation && opts[:'achievement_status'] && !opts[:'achievement_status'].all? { |item| allowable_values.include?(item) }
841
+ fail ArgumentError, "invalid value for \"achievement_status\", must include one of #{allowable_values}"
842
+ end
843
+ allowable_values = ["inprogress", "completed", "not_started"]
844
+ if @api_client.config.client_side_validation && opts[:'current_progress_status'] && !opts[:'current_progress_status'].all? { |item| allowable_values.include?(item) }
845
+ fail ArgumentError, "invalid value for \"current_progress_status\", must include one of #{allowable_values}"
846
+ end
847
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 1000
848
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling IntegrationApi.get_customer_achievements, must be smaller than or equal to 1000.'
849
+ end
850
+
851
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
852
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling IntegrationApi.get_customer_achievements, must be greater than or equal to 1.'
853
+ end
854
+
855
+ # resource path
856
+ local_var_path = '/v1/customer_profiles/{integrationId}/achievements'.sub('{' + 'integrationId' + '}', CGI.escape(integration_id.to_s))
857
+
858
+ # query parameters
859
+ query_params = opts[:query_params] || {}
860
+ query_params[:'campaignIds'] = @api_client.build_collection_param(opts[:'campaign_ids'], :csv) if !opts[:'campaign_ids'].nil?
861
+ query_params[:'achievementIds'] = @api_client.build_collection_param(opts[:'achievement_ids'], :csv) if !opts[:'achievement_ids'].nil?
862
+ query_params[:'achievementStatus'] = @api_client.build_collection_param(opts[:'achievement_status'], :csv) if !opts[:'achievement_status'].nil?
863
+ query_params[:'currentProgressStatus'] = @api_client.build_collection_param(opts[:'current_progress_status'], :csv) if !opts[:'current_progress_status'].nil?
864
+ query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
865
+ query_params[:'skip'] = opts[:'skip'] if !opts[:'skip'].nil?
866
+
867
+ # header parameters
868
+ header_params = opts[:header_params] || {}
869
+ # HTTP header 'Accept' (if needed)
870
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
871
+
872
+ # form parameters
873
+ form_params = opts[:form_params] || {}
874
+
875
+ # http body (model)
876
+ post_body = opts[:debug_body]
877
+
878
+ # return_type
879
+ return_type = opts[:debug_return_type] || 'GetCustomerAchievements200Response'
880
+
881
+ # auth_names
882
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
883
+
884
+ new_options = opts.merge(
885
+ :operation => :"IntegrationApi.get_customer_achievements",
886
+ :header_params => header_params,
887
+ :query_params => query_params,
888
+ :form_params => form_params,
889
+ :body => post_body,
890
+ :auth_names => auth_names,
891
+ :return_type => return_type
892
+ )
893
+
894
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
895
+ if @api_client.config.debugging
896
+ @api_client.config.logger.debug "API called: IntegrationApi#get_customer_achievements\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
897
+ end
898
+ return data, status_code, headers
899
+ end
900
+
901
+ # List customer data
902
+ # Return the customer inventory regarding entities referencing this customer profile's `integrationId`. Typical entities returned are: customer profile information, referral codes, loyalty points, loyalty cards and reserved coupons. Reserved coupons also include redeemed coupons.
903
+ # @param integration_id [String] The integration ID of the customer profile. You can get the &#x60;integrationId&#x60; of a profile using: - A customer session integration ID with the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. - The Management API with the [List application&#39;s customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint.
904
+ # @param [Hash] opts the optional parameters
905
+ # @option opts [Boolean] :profile Set to &#x60;true&#x60; to include customer profile information in the response.
906
+ # @option opts [Boolean] :referrals Set to &#x60;true&#x60; to include referral information in the response.
907
+ # @option opts [Boolean] :coupons Set to &#x60;true&#x60; to include coupon information in the response.
908
+ # @option opts [Boolean] :loyalty Set to &#x60;true&#x60; to include loyalty information in the response.
909
+ # @option opts [Boolean] :giveaways Set to &#x60;true&#x60; to include giveaways information in the response.
910
+ # @option opts [Boolean] :achievements Set to &#x60;true&#x60; to include achievement information in the response.
911
+ # @return [CustomerInventory]
912
+ def get_customer_inventory(integration_id, opts = {})
913
+ data, _status_code, _headers = get_customer_inventory_with_http_info(integration_id, opts)
914
+ data
915
+ end
916
+
917
+ # List customer data
918
+ # Return the customer inventory regarding entities referencing this customer profile&#39;s &#x60;integrationId&#x60;. Typical entities returned are: customer profile information, referral codes, loyalty points, loyalty cards and reserved coupons. Reserved coupons also include redeemed coupons.
919
+ # @param integration_id [String] The integration ID of the customer profile. You can get the &#x60;integrationId&#x60; of a profile using: - A customer session integration ID with the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. - The Management API with the [List application&#39;s customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint.
920
+ # @param [Hash] opts the optional parameters
921
+ # @option opts [Boolean] :profile Set to &#x60;true&#x60; to include customer profile information in the response.
922
+ # @option opts [Boolean] :referrals Set to &#x60;true&#x60; to include referral information in the response.
923
+ # @option opts [Boolean] :coupons Set to &#x60;true&#x60; to include coupon information in the response.
924
+ # @option opts [Boolean] :loyalty Set to &#x60;true&#x60; to include loyalty information in the response.
925
+ # @option opts [Boolean] :giveaways Set to &#x60;true&#x60; to include giveaways information in the response.
926
+ # @option opts [Boolean] :achievements Set to &#x60;true&#x60; to include achievement information in the response.
927
+ # @return [Array<(CustomerInventory, Integer, Hash)>] CustomerInventory data, response status code and response headers
928
+ def get_customer_inventory_with_http_info(integration_id, opts = {})
929
+ if @api_client.config.debugging
930
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.get_customer_inventory ...'
931
+ end
932
+ # verify the required parameter 'integration_id' is set
933
+ if @api_client.config.client_side_validation && integration_id.nil?
934
+ fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationApi.get_customer_inventory"
935
+ end
936
+ # resource path
937
+ local_var_path = '/v1/customer_profiles/{integrationId}/inventory'.sub('{' + 'integrationId' + '}', CGI.escape(integration_id.to_s))
938
+
939
+ # query parameters
940
+ query_params = opts[:query_params] || {}
941
+ query_params[:'profile'] = opts[:'profile'] if !opts[:'profile'].nil?
942
+ query_params[:'referrals'] = opts[:'referrals'] if !opts[:'referrals'].nil?
943
+ query_params[:'coupons'] = opts[:'coupons'] if !opts[:'coupons'].nil?
944
+ query_params[:'loyalty'] = opts[:'loyalty'] if !opts[:'loyalty'].nil?
945
+ query_params[:'giveaways'] = opts[:'giveaways'] if !opts[:'giveaways'].nil?
946
+ query_params[:'achievements'] = opts[:'achievements'] if !opts[:'achievements'].nil?
947
+
948
+ # header parameters
949
+ header_params = opts[:header_params] || {}
950
+ # HTTP header 'Accept' (if needed)
951
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
952
+
953
+ # form parameters
954
+ form_params = opts[:form_params] || {}
955
+
956
+ # http body (model)
957
+ post_body = opts[:debug_body]
958
+
959
+ # return_type
960
+ return_type = opts[:debug_return_type] || 'CustomerInventory'
961
+
962
+ # auth_names
963
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
964
+
965
+ new_options = opts.merge(
966
+ :operation => :"IntegrationApi.get_customer_inventory",
967
+ :header_params => header_params,
968
+ :query_params => query_params,
969
+ :form_params => form_params,
970
+ :body => post_body,
971
+ :auth_names => auth_names,
972
+ :return_type => return_type
973
+ )
974
+
975
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
976
+ if @api_client.config.debugging
977
+ @api_client.config.logger.debug "API called: IntegrationApi#get_customer_inventory\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
978
+ end
979
+ return data, status_code, headers
980
+ end
981
+
982
+ # Get customer session
983
+ # Get the details of the given customer session. You can get the same data via other endpoints that also apply changes, which can help you save requests and increase performance. See: - [Update customer session](#tag/Customer-sessions/operation/updateCustomerSessionV2) - [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2)
984
+ # @param customer_session_id [String] The &#x60;integration ID&#x60; of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager&#39;s **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint.
985
+ # @param [Hash] opts the optional parameters
986
+ # @return [IntegrationCustomerSessionResponse]
987
+ def get_customer_session(customer_session_id, opts = {})
988
+ data, _status_code, _headers = get_customer_session_with_http_info(customer_session_id, opts)
989
+ data
990
+ end
991
+
992
+ # Get customer session
993
+ # Get the details of the given customer session. You can get the same data via other endpoints that also apply changes, which can help you save requests and increase performance. See: - [Update customer session](#tag/Customer-sessions/operation/updateCustomerSessionV2) - [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2)
994
+ # @param customer_session_id [String] The &#x60;integration ID&#x60; of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager&#39;s **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint.
995
+ # @param [Hash] opts the optional parameters
996
+ # @return [Array<(IntegrationCustomerSessionResponse, Integer, Hash)>] IntegrationCustomerSessionResponse data, response status code and response headers
997
+ def get_customer_session_with_http_info(customer_session_id, opts = {})
998
+ if @api_client.config.debugging
999
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.get_customer_session ...'
1000
+ end
1001
+ # verify the required parameter 'customer_session_id' is set
1002
+ if @api_client.config.client_side_validation && customer_session_id.nil?
1003
+ fail ArgumentError, "Missing the required parameter 'customer_session_id' when calling IntegrationApi.get_customer_session"
1004
+ end
1005
+ # resource path
1006
+ local_var_path = '/v2/customer_sessions/{customerSessionId}'.sub('{' + 'customerSessionId' + '}', CGI.escape(customer_session_id.to_s))
1007
+
1008
+ # query parameters
1009
+ query_params = opts[:query_params] || {}
1010
+
1011
+ # header parameters
1012
+ header_params = opts[:header_params] || {}
1013
+ # HTTP header 'Accept' (if needed)
1014
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1015
+
1016
+ # form parameters
1017
+ form_params = opts[:form_params] || {}
1018
+
1019
+ # http body (model)
1020
+ post_body = opts[:debug_body]
1021
+
1022
+ # return_type
1023
+ return_type = opts[:debug_return_type] || 'IntegrationCustomerSessionResponse'
1024
+
1025
+ # auth_names
1026
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
1027
+
1028
+ new_options = opts.merge(
1029
+ :operation => :"IntegrationApi.get_customer_session",
1030
+ :header_params => header_params,
1031
+ :query_params => query_params,
1032
+ :form_params => form_params,
1033
+ :body => post_body,
1034
+ :auth_names => auth_names,
1035
+ :return_type => return_type
1036
+ )
1037
+
1038
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1039
+ if @api_client.config.debugging
1040
+ @api_client.config.logger.debug "API called: IntegrationApi#get_customer_session\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1041
+ end
1042
+ return data, status_code, headers
1043
+ end
1044
+
1045
+ # Get customer's loyalty balances
1046
+ # Retrieve loyalty ledger balances for the given Integration ID in the specified loyalty program. You can filter balances by date and subledger ID, and include tier-related information in the response. **Note**: If no filtering options are applied, you retrieve all loyalty balances on the current date for the given integration ID. Loyalty balances are calculated when Talon.One receives your request using the points stored in our database, so retrieving a large number of balances at once can impact performance. For more information, see: - [Managing card-based loyalty program data](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards) - [Managing profile-based loyalty program data](https://docs.talon.one/docs/product/loyalty-programs/profile-based/managing-pb-lp-data)
1047
+ # @param loyalty_program_id [Integer] Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
1048
+ # @param integration_id [String] The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier.
1049
+ # @param [Hash] opts the optional parameters
1050
+ # @option opts [Time] :end_date Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, &#x60;T23:59:59&#x60; to specify the end of the day. The time zone setting considered is &#x60;UTC&#x60;. If you do not include a time component, a default time value of &#x60;T00:00:00&#x60; (midnight) in &#x60;UTC&#x60; is considered.
1051
+ # @option opts [String] :subledger_id The ID of the subledger by which we filter the data.
1052
+ # @option opts [Boolean] :include_tiers Indicates whether tier information is included in the response. When set to &#x60;true&#x60;, the response includes information about the current tier and the number of points required to move to next tier. (default to false)
1053
+ # @option opts [Boolean] :include_projected_tier Indicates whether the customer&#39;s projected tier information is included in the response. When set to &#x60;true&#x60;, the response includes information about the customer&#39;s active points and the name of the projected tier. **Note** We recommend filtering by &#x60;subledgerId&#x60; for better performance. (default to false)
1054
+ # @return [LoyaltyBalancesWithTiers]
1055
+ def get_loyalty_balances(loyalty_program_id, integration_id, opts = {})
1056
+ data, _status_code, _headers = get_loyalty_balances_with_http_info(loyalty_program_id, integration_id, opts)
1057
+ data
1058
+ end
1059
+
1060
+ # Get customer&#39;s loyalty balances
1061
+ # Retrieve loyalty ledger balances for the given Integration ID in the specified loyalty program. You can filter balances by date and subledger ID, and include tier-related information in the response. **Note**: If no filtering options are applied, you retrieve all loyalty balances on the current date for the given integration ID. Loyalty balances are calculated when Talon.One receives your request using the points stored in our database, so retrieving a large number of balances at once can impact performance. For more information, see: - [Managing card-based loyalty program data](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards) - [Managing profile-based loyalty program data](https://docs.talon.one/docs/product/loyalty-programs/profile-based/managing-pb-lp-data)
1062
+ # @param loyalty_program_id [Integer] Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
1063
+ # @param integration_id [String] The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier.
1064
+ # @param [Hash] opts the optional parameters
1065
+ # @option opts [Time] :end_date Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, &#x60;T23:59:59&#x60; to specify the end of the day. The time zone setting considered is &#x60;UTC&#x60;. If you do not include a time component, a default time value of &#x60;T00:00:00&#x60; (midnight) in &#x60;UTC&#x60; is considered.
1066
+ # @option opts [String] :subledger_id The ID of the subledger by which we filter the data.
1067
+ # @option opts [Boolean] :include_tiers Indicates whether tier information is included in the response. When set to &#x60;true&#x60;, the response includes information about the current tier and the number of points required to move to next tier. (default to false)
1068
+ # @option opts [Boolean] :include_projected_tier Indicates whether the customer&#39;s projected tier information is included in the response. When set to &#x60;true&#x60;, the response includes information about the customer&#39;s active points and the name of the projected tier. **Note** We recommend filtering by &#x60;subledgerId&#x60; for better performance. (default to false)
1069
+ # @return [Array<(LoyaltyBalancesWithTiers, Integer, Hash)>] LoyaltyBalancesWithTiers data, response status code and response headers
1070
+ def get_loyalty_balances_with_http_info(loyalty_program_id, integration_id, opts = {})
1071
+ if @api_client.config.debugging
1072
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.get_loyalty_balances ...'
1073
+ end
1074
+ # verify the required parameter 'loyalty_program_id' is set
1075
+ if @api_client.config.client_side_validation && loyalty_program_id.nil?
1076
+ fail ArgumentError, "Missing the required parameter 'loyalty_program_id' when calling IntegrationApi.get_loyalty_balances"
1077
+ end
1078
+ # verify the required parameter 'integration_id' is set
1079
+ if @api_client.config.client_side_validation && integration_id.nil?
1080
+ fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationApi.get_loyalty_balances"
1081
+ end
1082
+ # resource path
1083
+ local_var_path = '/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/balances'.sub('{' + 'loyaltyProgramId' + '}', CGI.escape(loyalty_program_id.to_s)).sub('{' + 'integrationId' + '}', CGI.escape(integration_id.to_s))
1084
+
1085
+ # query parameters
1086
+ query_params = opts[:query_params] || {}
1087
+ query_params[:'endDate'] = opts[:'end_date'] if !opts[:'end_date'].nil?
1088
+ query_params[:'subledgerId'] = opts[:'subledger_id'] if !opts[:'subledger_id'].nil?
1089
+ query_params[:'includeTiers'] = opts[:'include_tiers'] if !opts[:'include_tiers'].nil?
1090
+ query_params[:'includeProjectedTier'] = opts[:'include_projected_tier'] if !opts[:'include_projected_tier'].nil?
1091
+
1092
+ # header parameters
1093
+ header_params = opts[:header_params] || {}
1094
+ # HTTP header 'Accept' (if needed)
1095
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1096
+
1097
+ # form parameters
1098
+ form_params = opts[:form_params] || {}
1099
+
1100
+ # http body (model)
1101
+ post_body = opts[:debug_body]
1102
+
1103
+ # return_type
1104
+ return_type = opts[:debug_return_type] || 'LoyaltyBalancesWithTiers'
1105
+
1106
+ # auth_names
1107
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
1108
+
1109
+ new_options = opts.merge(
1110
+ :operation => :"IntegrationApi.get_loyalty_balances",
1111
+ :header_params => header_params,
1112
+ :query_params => query_params,
1113
+ :form_params => form_params,
1114
+ :body => post_body,
1115
+ :auth_names => auth_names,
1116
+ :return_type => return_type
1117
+ )
1118
+
1119
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1120
+ if @api_client.config.debugging
1121
+ @api_client.config.logger.debug "API called: IntegrationApi#get_loyalty_balances\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1122
+ end
1123
+ return data, status_code, headers
1124
+ end
1125
+
1126
+ # Get card's point balances
1127
+ # Retrieve loyalty balances for the given loyalty card in the specified loyalty program with filtering options applied. If no filtering options are applied, all loyalty balances for the given loyalty card are returned.
1128
+ # @param loyalty_program_id [Integer] Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
1129
+ # @param loyalty_card_id [String] Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint.
1130
+ # @param [Hash] opts the optional parameters
1131
+ # @option opts [Time] :end_date Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, &#x60;T23:59:59&#x60; to specify the end of the day. The time zone setting considered is &#x60;UTC&#x60;. If you do not include a time component, a default time value of &#x60;T00:00:00&#x60; (midnight) in &#x60;UTC&#x60; is considered.
1132
+ # @option opts [Array<String>] :subledger_id Filter results by one or more subledger IDs. Must be exact match.
1133
+ # @return [LoyaltyCardBalances]
1134
+ def get_loyalty_card_balances(loyalty_program_id, loyalty_card_id, opts = {})
1135
+ data, _status_code, _headers = get_loyalty_card_balances_with_http_info(loyalty_program_id, loyalty_card_id, opts)
1136
+ data
1137
+ end
1138
+
1139
+ # Get card&#39;s point balances
1140
+ # Retrieve loyalty balances for the given loyalty card in the specified loyalty program with filtering options applied. If no filtering options are applied, all loyalty balances for the given loyalty card are returned.
1141
+ # @param loyalty_program_id [Integer] Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
1142
+ # @param loyalty_card_id [String] Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint.
1143
+ # @param [Hash] opts the optional parameters
1144
+ # @option opts [Time] :end_date Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, &#x60;T23:59:59&#x60; to specify the end of the day. The time zone setting considered is &#x60;UTC&#x60;. If you do not include a time component, a default time value of &#x60;T00:00:00&#x60; (midnight) in &#x60;UTC&#x60; is considered.
1145
+ # @option opts [Array<String>] :subledger_id Filter results by one or more subledger IDs. Must be exact match.
1146
+ # @return [Array<(LoyaltyCardBalances, Integer, Hash)>] LoyaltyCardBalances data, response status code and response headers
1147
+ def get_loyalty_card_balances_with_http_info(loyalty_program_id, loyalty_card_id, opts = {})
1148
+ if @api_client.config.debugging
1149
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.get_loyalty_card_balances ...'
1150
+ end
1151
+ # verify the required parameter 'loyalty_program_id' is set
1152
+ if @api_client.config.client_side_validation && loyalty_program_id.nil?
1153
+ fail ArgumentError, "Missing the required parameter 'loyalty_program_id' when calling IntegrationApi.get_loyalty_card_balances"
1154
+ end
1155
+ # verify the required parameter 'loyalty_card_id' is set
1156
+ if @api_client.config.client_side_validation && loyalty_card_id.nil?
1157
+ fail ArgumentError, "Missing the required parameter 'loyalty_card_id' when calling IntegrationApi.get_loyalty_card_balances"
1158
+ end
1159
+ if @api_client.config.client_side_validation && loyalty_card_id.to_s.length > 108
1160
+ fail ArgumentError, 'invalid value for "loyalty_card_id" when calling IntegrationApi.get_loyalty_card_balances, the character length must be smaller than or equal to 108.'
1161
+ end
1162
+
1163
+ if @api_client.config.client_side_validation && loyalty_card_id.to_s.length < 4
1164
+ fail ArgumentError, 'invalid value for "loyalty_card_id" when calling IntegrationApi.get_loyalty_card_balances, the character length must be greater than or equal to 4.'
1165
+ end
1166
+
1167
+ # resource path
1168
+ local_var_path = '/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/balances'.sub('{' + 'loyaltyProgramId' + '}', CGI.escape(loyalty_program_id.to_s)).sub('{' + 'loyaltyCardId' + '}', CGI.escape(loyalty_card_id.to_s))
1169
+
1170
+ # query parameters
1171
+ query_params = opts[:query_params] || {}
1172
+ query_params[:'endDate'] = opts[:'end_date'] if !opts[:'end_date'].nil?
1173
+ query_params[:'subledgerId'] = @api_client.build_collection_param(opts[:'subledger_id'], :multi) if !opts[:'subledger_id'].nil?
1174
+
1175
+ # header parameters
1176
+ header_params = opts[:header_params] || {}
1177
+ # HTTP header 'Accept' (if needed)
1178
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1179
+
1180
+ # form parameters
1181
+ form_params = opts[:form_params] || {}
1182
+
1183
+ # http body (model)
1184
+ post_body = opts[:debug_body]
1185
+
1186
+ # return_type
1187
+ return_type = opts[:debug_return_type] || 'LoyaltyCardBalances'
1188
+
1189
+ # auth_names
1190
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
1191
+
1192
+ new_options = opts.merge(
1193
+ :operation => :"IntegrationApi.get_loyalty_card_balances",
1194
+ :header_params => header_params,
1195
+ :query_params => query_params,
1196
+ :form_params => form_params,
1197
+ :body => post_body,
1198
+ :auth_names => auth_names,
1199
+ :return_type => return_type
1200
+ )
1201
+
1202
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1203
+ if @api_client.config.debugging
1204
+ @api_client.config.logger.debug "API called: IntegrationApi#get_loyalty_card_balances\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1205
+ end
1206
+ return data, status_code, headers
1207
+ end
1208
+
1209
+ # List card's unused loyalty points
1210
+ # Get paginated results of loyalty points for a given loyalty card identifier in a card-based loyalty program. This endpoint returns only the balances of unused points on a loyalty card. You can filter points by status: - `active`: Points ready to be redeemed. - `pending`: Points with a start date in the future. - `expired`: Points with an expiration date in the past.
1211
+ # @param loyalty_program_id [Integer] Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
1212
+ # @param loyalty_card_id [String] Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint.
1213
+ # @param [Hash] opts the optional parameters
1214
+ # @option opts [String] :status Filter points based on their status. (default to 'active')
1215
+ # @option opts [Array<String>] :subledger_id Filter results by one or more subledger IDs. Must be exact match.
1216
+ # @option opts [Array<String>] :customer_session_ids Filter the results by a list of customer session IDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?customerSessionIDs&#x3D;id1&amp;customerSessionIDs&#x3D;id2&#x60;. The response contains only data associated with the specified sessions.
1217
+ # @option opts [Array<String>] :transaction_uuids Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?transactionUUIDs&#x3D;uuid1&amp;transactionUUIDs&#x3D;uuid2&#x60;. The response contains only data associated with the specified transactions.
1218
+ # @option opts [Integer] :page_size The number of items in the response. (default to 50)
1219
+ # @option opts [Integer] :skip The number of items to skip when paging through large result sets.
1220
+ # @option opts [String] :sort The field by which results should be sorted. You can enter one of the following values: - &#x60;startDate&#x60;: Sorts the results by the start date of the points. - &#x60;expiryDate&#x60;: Sorts the results by the expiry date of the points. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with &#x60;-&#x60;. **Note:** You can only sort by one field at a time.
1221
+ # @return [GetLoyaltyCardPoints200Response]
1222
+ def get_loyalty_card_points(loyalty_program_id, loyalty_card_id, opts = {})
1223
+ data, _status_code, _headers = get_loyalty_card_points_with_http_info(loyalty_program_id, loyalty_card_id, opts)
1224
+ data
1225
+ end
1226
+
1227
+ # List card&#39;s unused loyalty points
1228
+ # Get paginated results of loyalty points for a given loyalty card identifier in a card-based loyalty program. This endpoint returns only the balances of unused points on a loyalty card. You can filter points by status: - &#x60;active&#x60;: Points ready to be redeemed. - &#x60;pending&#x60;: Points with a start date in the future. - &#x60;expired&#x60;: Points with an expiration date in the past.
1229
+ # @param loyalty_program_id [Integer] Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
1230
+ # @param loyalty_card_id [String] Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint.
1231
+ # @param [Hash] opts the optional parameters
1232
+ # @option opts [String] :status Filter points based on their status. (default to 'active')
1233
+ # @option opts [Array<String>] :subledger_id Filter results by one or more subledger IDs. Must be exact match.
1234
+ # @option opts [Array<String>] :customer_session_ids Filter the results by a list of customer session IDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?customerSessionIDs&#x3D;id1&amp;customerSessionIDs&#x3D;id2&#x60;. The response contains only data associated with the specified sessions.
1235
+ # @option opts [Array<String>] :transaction_uuids Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?transactionUUIDs&#x3D;uuid1&amp;transactionUUIDs&#x3D;uuid2&#x60;. The response contains only data associated with the specified transactions.
1236
+ # @option opts [Integer] :page_size The number of items in the response. (default to 50)
1237
+ # @option opts [Integer] :skip The number of items to skip when paging through large result sets.
1238
+ # @option opts [String] :sort The field by which results should be sorted. You can enter one of the following values: - &#x60;startDate&#x60;: Sorts the results by the start date of the points. - &#x60;expiryDate&#x60;: Sorts the results by the expiry date of the points. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with &#x60;-&#x60;. **Note:** You can only sort by one field at a time.
1239
+ # @return [Array<(GetLoyaltyCardPoints200Response, Integer, Hash)>] GetLoyaltyCardPoints200Response data, response status code and response headers
1240
+ def get_loyalty_card_points_with_http_info(loyalty_program_id, loyalty_card_id, opts = {})
1241
+ if @api_client.config.debugging
1242
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.get_loyalty_card_points ...'
1243
+ end
1244
+ # verify the required parameter 'loyalty_program_id' is set
1245
+ if @api_client.config.client_side_validation && loyalty_program_id.nil?
1246
+ fail ArgumentError, "Missing the required parameter 'loyalty_program_id' when calling IntegrationApi.get_loyalty_card_points"
1247
+ end
1248
+ # verify the required parameter 'loyalty_card_id' is set
1249
+ if @api_client.config.client_side_validation && loyalty_card_id.nil?
1250
+ fail ArgumentError, "Missing the required parameter 'loyalty_card_id' when calling IntegrationApi.get_loyalty_card_points"
1251
+ end
1252
+ if @api_client.config.client_side_validation && loyalty_card_id.to_s.length > 108
1253
+ fail ArgumentError, 'invalid value for "loyalty_card_id" when calling IntegrationApi.get_loyalty_card_points, the character length must be smaller than or equal to 108.'
1254
+ end
1255
+
1256
+ if @api_client.config.client_side_validation && loyalty_card_id.to_s.length < 4
1257
+ fail ArgumentError, 'invalid value for "loyalty_card_id" when calling IntegrationApi.get_loyalty_card_points, the character length must be greater than or equal to 4.'
1258
+ end
1259
+
1260
+ allowable_values = ["active", "pending", "expired"]
1261
+ if @api_client.config.client_side_validation && opts[:'status'] && !allowable_values.include?(opts[:'status'])
1262
+ fail ArgumentError, "invalid value for \"status\", must be one of #{allowable_values}"
1263
+ end
1264
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 1000
1265
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling IntegrationApi.get_loyalty_card_points, must be smaller than or equal to 1000.'
1266
+ end
1267
+
1268
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
1269
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling IntegrationApi.get_loyalty_card_points, must be greater than or equal to 1.'
1270
+ end
1271
+
1272
+ allowable_values = ["startDate", "expiryDate"]
1273
+ if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
1274
+ fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
1275
+ end
1276
+ # resource path
1277
+ local_var_path = '/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/points'.sub('{' + 'loyaltyProgramId' + '}', CGI.escape(loyalty_program_id.to_s)).sub('{' + 'loyaltyCardId' + '}', CGI.escape(loyalty_card_id.to_s))
1278
+
1279
+ # query parameters
1280
+ query_params = opts[:query_params] || {}
1281
+ query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
1282
+ query_params[:'subledgerId'] = @api_client.build_collection_param(opts[:'subledger_id'], :multi) if !opts[:'subledger_id'].nil?
1283
+ query_params[:'customerSessionIDs'] = @api_client.build_collection_param(opts[:'customer_session_ids'], :multi) if !opts[:'customer_session_ids'].nil?
1284
+ query_params[:'transactionUUIDs'] = @api_client.build_collection_param(opts[:'transaction_uuids'], :multi) if !opts[:'transaction_uuids'].nil?
1285
+ query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1286
+ query_params[:'skip'] = opts[:'skip'] if !opts[:'skip'].nil?
1287
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
1288
+
1289
+ # header parameters
1290
+ header_params = opts[:header_params] || {}
1291
+ # HTTP header 'Accept' (if needed)
1292
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1293
+
1294
+ # form parameters
1295
+ form_params = opts[:form_params] || {}
1296
+
1297
+ # http body (model)
1298
+ post_body = opts[:debug_body]
1299
+
1300
+ # return_type
1301
+ return_type = opts[:debug_return_type] || 'GetLoyaltyCardPoints200Response'
1302
+
1303
+ # auth_names
1304
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
1305
+
1306
+ new_options = opts.merge(
1307
+ :operation => :"IntegrationApi.get_loyalty_card_points",
1308
+ :header_params => header_params,
1309
+ :query_params => query_params,
1310
+ :form_params => form_params,
1311
+ :body => post_body,
1312
+ :auth_names => auth_names,
1313
+ :return_type => return_type
1314
+ )
1315
+
1316
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1317
+ if @api_client.config.debugging
1318
+ @api_client.config.logger.debug "API called: IntegrationApi#get_loyalty_card_points\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1319
+ end
1320
+ return data, status_code, headers
1321
+ end
1322
+
1323
+ # List card's transactions
1324
+ # Retrieve loyalty transaction logs for the given loyalty card in the specified loyalty program with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned.
1325
+ # @param loyalty_program_id [Integer] Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
1326
+ # @param loyalty_card_id [String] Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint.
1327
+ # @param [Hash] opts the optional parameters
1328
+ # @option opts [Array<String>] :subledger_id Filter results by one or more subledger IDs. Must be exact match.
1329
+ # @option opts [String] :loyalty_transaction_type Filter results by loyalty transaction type: - &#x60;manual&#x60;: Loyalty transaction that was done manually. - &#x60;session&#x60;: Loyalty transaction that resulted from a customer session. - &#x60;import&#x60;: Loyalty transaction that was imported from a CSV file.
1330
+ # @option opts [Time] :start_date Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, &#x60;T23:59:59&#x60; to specify the end of the day. The time zone setting considered is &#x60;UTC&#x60;. If you do not include a time component, a default time value of &#x60;T00:00:00&#x60; (midnight) in &#x60;UTC&#x60; is considered.
1331
+ # @option opts [Time] :end_date Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, &#x60;T23:59:59&#x60; to specify the end of the day. The time zone setting considered is &#x60;UTC&#x60;. If you do not include a time component, a default time value of &#x60;T00:00:00&#x60; (midnight) in &#x60;UTC&#x60; is considered.
1332
+ # @option opts [Array<String>] :customer_session_ids Filter the results by a list of customer session IDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?customerSessionIDs&#x3D;id1&amp;customerSessionIDs&#x3D;id2&#x60;. The response contains only data associated with the specified sessions.
1333
+ # @option opts [Array<String>] :transaction_uuids Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?transactionUUIDs&#x3D;uuid1&amp;transactionUUIDs&#x3D;uuid2&#x60;. The response contains only data associated with the specified transactions.
1334
+ # @option opts [Integer] :page_size The number of items in the response. (default to 50)
1335
+ # @option opts [Integer] :skip The number of items to skip when paging through large result sets.
1336
+ # @return [GetLoyaltyCardTransactions200Response]
1337
+ def get_loyalty_card_transactions(loyalty_program_id, loyalty_card_id, opts = {})
1338
+ data, _status_code, _headers = get_loyalty_card_transactions_with_http_info(loyalty_program_id, loyalty_card_id, opts)
1339
+ data
1340
+ end
1341
+
1342
+ # List card&#39;s transactions
1343
+ # Retrieve loyalty transaction logs for the given loyalty card in the specified loyalty program with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned.
1344
+ # @param loyalty_program_id [Integer] Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
1345
+ # @param loyalty_card_id [String] Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint.
1346
+ # @param [Hash] opts the optional parameters
1347
+ # @option opts [Array<String>] :subledger_id Filter results by one or more subledger IDs. Must be exact match.
1348
+ # @option opts [String] :loyalty_transaction_type Filter results by loyalty transaction type: - &#x60;manual&#x60;: Loyalty transaction that was done manually. - &#x60;session&#x60;: Loyalty transaction that resulted from a customer session. - &#x60;import&#x60;: Loyalty transaction that was imported from a CSV file.
1349
+ # @option opts [Time] :start_date Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, &#x60;T23:59:59&#x60; to specify the end of the day. The time zone setting considered is &#x60;UTC&#x60;. If you do not include a time component, a default time value of &#x60;T00:00:00&#x60; (midnight) in &#x60;UTC&#x60; is considered.
1350
+ # @option opts [Time] :end_date Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, &#x60;T23:59:59&#x60; to specify the end of the day. The time zone setting considered is &#x60;UTC&#x60;. If you do not include a time component, a default time value of &#x60;T00:00:00&#x60; (midnight) in &#x60;UTC&#x60; is considered.
1351
+ # @option opts [Array<String>] :customer_session_ids Filter the results by a list of customer session IDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?customerSessionIDs&#x3D;id1&amp;customerSessionIDs&#x3D;id2&#x60;. The response contains only data associated with the specified sessions.
1352
+ # @option opts [Array<String>] :transaction_uuids Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?transactionUUIDs&#x3D;uuid1&amp;transactionUUIDs&#x3D;uuid2&#x60;. The response contains only data associated with the specified transactions.
1353
+ # @option opts [Integer] :page_size The number of items in the response. (default to 50)
1354
+ # @option opts [Integer] :skip The number of items to skip when paging through large result sets.
1355
+ # @return [Array<(GetLoyaltyCardTransactions200Response, Integer, Hash)>] GetLoyaltyCardTransactions200Response data, response status code and response headers
1356
+ def get_loyalty_card_transactions_with_http_info(loyalty_program_id, loyalty_card_id, opts = {})
1357
+ if @api_client.config.debugging
1358
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.get_loyalty_card_transactions ...'
1359
+ end
1360
+ # verify the required parameter 'loyalty_program_id' is set
1361
+ if @api_client.config.client_side_validation && loyalty_program_id.nil?
1362
+ fail ArgumentError, "Missing the required parameter 'loyalty_program_id' when calling IntegrationApi.get_loyalty_card_transactions"
1363
+ end
1364
+ # verify the required parameter 'loyalty_card_id' is set
1365
+ if @api_client.config.client_side_validation && loyalty_card_id.nil?
1366
+ fail ArgumentError, "Missing the required parameter 'loyalty_card_id' when calling IntegrationApi.get_loyalty_card_transactions"
1367
+ end
1368
+ if @api_client.config.client_side_validation && loyalty_card_id.to_s.length > 108
1369
+ fail ArgumentError, 'invalid value for "loyalty_card_id" when calling IntegrationApi.get_loyalty_card_transactions, the character length must be smaller than or equal to 108.'
1370
+ end
1371
+
1372
+ if @api_client.config.client_side_validation && loyalty_card_id.to_s.length < 4
1373
+ fail ArgumentError, 'invalid value for "loyalty_card_id" when calling IntegrationApi.get_loyalty_card_transactions, the character length must be greater than or equal to 4.'
1374
+ end
1375
+
1376
+ allowable_values = ["manual", "session", "import"]
1377
+ if @api_client.config.client_side_validation && opts[:'loyalty_transaction_type'] && !allowable_values.include?(opts[:'loyalty_transaction_type'])
1378
+ fail ArgumentError, "invalid value for \"loyalty_transaction_type\", must be one of #{allowable_values}"
1379
+ end
1380
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 1000
1381
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling IntegrationApi.get_loyalty_card_transactions, must be smaller than or equal to 1000.'
1382
+ end
1383
+
1384
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
1385
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling IntegrationApi.get_loyalty_card_transactions, must be greater than or equal to 1.'
1386
+ end
1387
+
1388
+ # resource path
1389
+ local_var_path = '/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/transactions'.sub('{' + 'loyaltyProgramId' + '}', CGI.escape(loyalty_program_id.to_s)).sub('{' + 'loyaltyCardId' + '}', CGI.escape(loyalty_card_id.to_s))
1390
+
1391
+ # query parameters
1392
+ query_params = opts[:query_params] || {}
1393
+ query_params[:'subledgerId'] = @api_client.build_collection_param(opts[:'subledger_id'], :multi) if !opts[:'subledger_id'].nil?
1394
+ query_params[:'loyaltyTransactionType'] = opts[:'loyalty_transaction_type'] if !opts[:'loyalty_transaction_type'].nil?
1395
+ query_params[:'startDate'] = opts[:'start_date'] if !opts[:'start_date'].nil?
1396
+ query_params[:'endDate'] = opts[:'end_date'] if !opts[:'end_date'].nil?
1397
+ query_params[:'customerSessionIDs'] = @api_client.build_collection_param(opts[:'customer_session_ids'], :multi) if !opts[:'customer_session_ids'].nil?
1398
+ query_params[:'transactionUUIDs'] = @api_client.build_collection_param(opts[:'transaction_uuids'], :multi) if !opts[:'transaction_uuids'].nil?
1399
+ query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1400
+ query_params[:'skip'] = opts[:'skip'] if !opts[:'skip'].nil?
1401
+
1402
+ # header parameters
1403
+ header_params = opts[:header_params] || {}
1404
+ # HTTP header 'Accept' (if needed)
1405
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1406
+
1407
+ # form parameters
1408
+ form_params = opts[:form_params] || {}
1409
+
1410
+ # http body (model)
1411
+ post_body = opts[:debug_body]
1412
+
1413
+ # return_type
1414
+ return_type = opts[:debug_return_type] || 'GetLoyaltyCardTransactions200Response'
1415
+
1416
+ # auth_names
1417
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
1418
+
1419
+ new_options = opts.merge(
1420
+ :operation => :"IntegrationApi.get_loyalty_card_transactions",
1421
+ :header_params => header_params,
1422
+ :query_params => query_params,
1423
+ :form_params => form_params,
1424
+ :body => post_body,
1425
+ :auth_names => auth_names,
1426
+ :return_type => return_type
1427
+ )
1428
+
1429
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1430
+ if @api_client.config.debugging
1431
+ @api_client.config.logger.debug "API called: IntegrationApi#get_loyalty_card_transactions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1432
+ end
1433
+ return data, status_code, headers
1434
+ end
1435
+
1436
+ # List customer's unused loyalty points
1437
+ # Get paginated results of loyalty points for a given Integration ID in the specified profile-based loyalty program. This endpoint returns only the balances of unused points linked to a customer profile. You can filter points by status: - `active`: Points ready to be redeemed. - `pending`: Points with a start date in the future. - `expired`: Points with an expiration date in the past.
1438
+ # @param loyalty_program_id [Integer] Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
1439
+ # @param integration_id [String] The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier.
1440
+ # @param [Hash] opts the optional parameters
1441
+ # @option opts [String] :status Filter points based on their status. (default to 'active')
1442
+ # @option opts [String] :subledger_id The ID of the subledger by which we filter the data.
1443
+ # @option opts [Array<String>] :customer_session_ids Filter the results by a list of customer session IDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?customerSessionIDs&#x3D;id1&amp;customerSessionIDs&#x3D;id2&#x60;. The response contains only data associated with the specified sessions.
1444
+ # @option opts [Array<String>] :transaction_uuids Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?transactionUUIDs&#x3D;uuid1&amp;transactionUUIDs&#x3D;uuid2&#x60;. The response contains only data associated with the specified transactions.
1445
+ # @option opts [Integer] :page_size The number of items in the response. (default to 50)
1446
+ # @option opts [Integer] :skip The number of items to skip when paging through large result sets.
1447
+ # @option opts [String] :sort The field by which results should be sorted. You can enter one of the following values: - &#x60;startDate&#x60;: Sorts the results by the start date of the points. - &#x60;expiryDate&#x60;: Sorts the results by the expiry date of the points. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with &#x60;-&#x60;. **Note:** You can only sort by one field at a time.
1448
+ # @return [GetLoyaltyProgramProfilePoints200Response]
1449
+ def get_loyalty_program_profile_points(loyalty_program_id, integration_id, opts = {})
1450
+ data, _status_code, _headers = get_loyalty_program_profile_points_with_http_info(loyalty_program_id, integration_id, opts)
1451
+ data
1452
+ end
1453
+
1454
+ # List customer&#39;s unused loyalty points
1455
+ # Get paginated results of loyalty points for a given Integration ID in the specified profile-based loyalty program. This endpoint returns only the balances of unused points linked to a customer profile. You can filter points by status: - &#x60;active&#x60;: Points ready to be redeemed. - &#x60;pending&#x60;: Points with a start date in the future. - &#x60;expired&#x60;: Points with an expiration date in the past.
1456
+ # @param loyalty_program_id [Integer] Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
1457
+ # @param integration_id [String] The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier.
1458
+ # @param [Hash] opts the optional parameters
1459
+ # @option opts [String] :status Filter points based on their status. (default to 'active')
1460
+ # @option opts [String] :subledger_id The ID of the subledger by which we filter the data.
1461
+ # @option opts [Array<String>] :customer_session_ids Filter the results by a list of customer session IDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?customerSessionIDs&#x3D;id1&amp;customerSessionIDs&#x3D;id2&#x60;. The response contains only data associated with the specified sessions.
1462
+ # @option opts [Array<String>] :transaction_uuids Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?transactionUUIDs&#x3D;uuid1&amp;transactionUUIDs&#x3D;uuid2&#x60;. The response contains only data associated with the specified transactions.
1463
+ # @option opts [Integer] :page_size The number of items in the response. (default to 50)
1464
+ # @option opts [Integer] :skip The number of items to skip when paging through large result sets.
1465
+ # @option opts [String] :sort The field by which results should be sorted. You can enter one of the following values: - &#x60;startDate&#x60;: Sorts the results by the start date of the points. - &#x60;expiryDate&#x60;: Sorts the results by the expiry date of the points. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with &#x60;-&#x60;. **Note:** You can only sort by one field at a time.
1466
+ # @return [Array<(GetLoyaltyProgramProfilePoints200Response, Integer, Hash)>] GetLoyaltyProgramProfilePoints200Response data, response status code and response headers
1467
+ def get_loyalty_program_profile_points_with_http_info(loyalty_program_id, integration_id, opts = {})
1468
+ if @api_client.config.debugging
1469
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.get_loyalty_program_profile_points ...'
1470
+ end
1471
+ # verify the required parameter 'loyalty_program_id' is set
1472
+ if @api_client.config.client_side_validation && loyalty_program_id.nil?
1473
+ fail ArgumentError, "Missing the required parameter 'loyalty_program_id' when calling IntegrationApi.get_loyalty_program_profile_points"
1474
+ end
1475
+ # verify the required parameter 'integration_id' is set
1476
+ if @api_client.config.client_side_validation && integration_id.nil?
1477
+ fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationApi.get_loyalty_program_profile_points"
1478
+ end
1479
+ allowable_values = ["active", "pending", "expired"]
1480
+ if @api_client.config.client_side_validation && opts[:'status'] && !allowable_values.include?(opts[:'status'])
1481
+ fail ArgumentError, "invalid value for \"status\", must be one of #{allowable_values}"
1482
+ end
1483
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 1000
1484
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling IntegrationApi.get_loyalty_program_profile_points, must be smaller than or equal to 1000.'
1485
+ end
1486
+
1487
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
1488
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling IntegrationApi.get_loyalty_program_profile_points, must be greater than or equal to 1.'
1489
+ end
1490
+
1491
+ allowable_values = ["startDate", "expiryDate"]
1492
+ if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
1493
+ fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
1494
+ end
1495
+ # resource path
1496
+ local_var_path = '/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/points'.sub('{' + 'loyaltyProgramId' + '}', CGI.escape(loyalty_program_id.to_s)).sub('{' + 'integrationId' + '}', CGI.escape(integration_id.to_s))
1497
+
1498
+ # query parameters
1499
+ query_params = opts[:query_params] || {}
1500
+ query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
1501
+ query_params[:'subledgerId'] = opts[:'subledger_id'] if !opts[:'subledger_id'].nil?
1502
+ query_params[:'customerSessionIDs'] = @api_client.build_collection_param(opts[:'customer_session_ids'], :multi) if !opts[:'customer_session_ids'].nil?
1503
+ query_params[:'transactionUUIDs'] = @api_client.build_collection_param(opts[:'transaction_uuids'], :multi) if !opts[:'transaction_uuids'].nil?
1504
+ query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1505
+ query_params[:'skip'] = opts[:'skip'] if !opts[:'skip'].nil?
1506
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
1507
+
1508
+ # header parameters
1509
+ header_params = opts[:header_params] || {}
1510
+ # HTTP header 'Accept' (if needed)
1511
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1512
+
1513
+ # form parameters
1514
+ form_params = opts[:form_params] || {}
1515
+
1516
+ # http body (model)
1517
+ post_body = opts[:debug_body]
1518
+
1519
+ # return_type
1520
+ return_type = opts[:debug_return_type] || 'GetLoyaltyProgramProfilePoints200Response'
1521
+
1522
+ # auth_names
1523
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
1524
+
1525
+ new_options = opts.merge(
1526
+ :operation => :"IntegrationApi.get_loyalty_program_profile_points",
1527
+ :header_params => header_params,
1528
+ :query_params => query_params,
1529
+ :form_params => form_params,
1530
+ :body => post_body,
1531
+ :auth_names => auth_names,
1532
+ :return_type => return_type
1533
+ )
1534
+
1535
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1536
+ if @api_client.config.debugging
1537
+ @api_client.config.logger.debug "API called: IntegrationApi#get_loyalty_program_profile_points\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1538
+ end
1539
+ return data, status_code, headers
1540
+ end
1541
+
1542
+ # List customer's loyalty transactions
1543
+ # Retrieve paginated results of loyalty transaction logs for the given Integration ID in the specified loyalty program. You can filter transactions by date. If no filters are applied, the last 50 loyalty transactions for the given integration ID are returned. **Note:** To retrieve all loyalty program transaction logs in a given loyalty program, use the [List loyalty program transactions](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyProgramTransactions) endpoint.
1544
+ # @param loyalty_program_id [Integer] Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
1545
+ # @param integration_id [String] The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier.
1546
+ # @param [Hash] opts the optional parameters
1547
+ # @option opts [Array<String>] :customer_session_ids Filter the results by a list of customer session IDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?customerSessionIDs&#x3D;id1&amp;customerSessionIDs&#x3D;id2&#x60;. The response contains only data associated with the specified sessions.
1548
+ # @option opts [Array<String>] :transaction_uuids Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?transactionUUIDs&#x3D;uuid1&amp;transactionUUIDs&#x3D;uuid2&#x60;. The response contains only data associated with the specified transactions.
1549
+ # @option opts [String] :subledger_id The ID of the subledger by which we filter the data.
1550
+ # @option opts [String] :loyalty_transaction_type Filter results by loyalty transaction type: - &#x60;manual&#x60;: Loyalty transaction that was done manually. - &#x60;session&#x60;: Loyalty transaction that resulted from a customer session. - &#x60;import&#x60;: Loyalty transaction that was imported from a CSV file.
1551
+ # @option opts [Time] :start_date Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, &#x60;T23:59:59&#x60; to specify the end of the day. The time zone setting considered is &#x60;UTC&#x60;. If you do not include a time component, a default time value of &#x60;T00:00:00&#x60; (midnight) in &#x60;UTC&#x60; is considered.
1552
+ # @option opts [Time] :end_date Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, &#x60;T23:59:59&#x60; to specify the end of the day. The time zone setting considered is &#x60;UTC&#x60;. If you do not include a time component, a default time value of &#x60;T00:00:00&#x60; (midnight) in &#x60;UTC&#x60; is considered.
1553
+ # @option opts [Integer] :page_size The number of items in the response. (default to 50)
1554
+ # @option opts [Integer] :skip The number of items to skip when paging through large result sets.
1555
+ # @return [GetLoyaltyProgramProfileTransactions200Response]
1556
+ def get_loyalty_program_profile_transactions(loyalty_program_id, integration_id, opts = {})
1557
+ data, _status_code, _headers = get_loyalty_program_profile_transactions_with_http_info(loyalty_program_id, integration_id, opts)
1558
+ data
1559
+ end
1560
+
1561
+ # List customer&#39;s loyalty transactions
1562
+ # Retrieve paginated results of loyalty transaction logs for the given Integration ID in the specified loyalty program. You can filter transactions by date. If no filters are applied, the last 50 loyalty transactions for the given integration ID are returned. **Note:** To retrieve all loyalty program transaction logs in a given loyalty program, use the [List loyalty program transactions](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyProgramTransactions) endpoint.
1563
+ # @param loyalty_program_id [Integer] Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
1564
+ # @param integration_id [String] The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier.
1565
+ # @param [Hash] opts the optional parameters
1566
+ # @option opts [Array<String>] :customer_session_ids Filter the results by a list of customer session IDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?customerSessionIDs&#x3D;id1&amp;customerSessionIDs&#x3D;id2&#x60;. The response contains only data associated with the specified sessions.
1567
+ # @option opts [Array<String>] :transaction_uuids Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?transactionUUIDs&#x3D;uuid1&amp;transactionUUIDs&#x3D;uuid2&#x60;. The response contains only data associated with the specified transactions.
1568
+ # @option opts [String] :subledger_id The ID of the subledger by which we filter the data.
1569
+ # @option opts [String] :loyalty_transaction_type Filter results by loyalty transaction type: - &#x60;manual&#x60;: Loyalty transaction that was done manually. - &#x60;session&#x60;: Loyalty transaction that resulted from a customer session. - &#x60;import&#x60;: Loyalty transaction that was imported from a CSV file.
1570
+ # @option opts [Time] :start_date Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, &#x60;T23:59:59&#x60; to specify the end of the day. The time zone setting considered is &#x60;UTC&#x60;. If you do not include a time component, a default time value of &#x60;T00:00:00&#x60; (midnight) in &#x60;UTC&#x60; is considered.
1571
+ # @option opts [Time] :end_date Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, &#x60;T23:59:59&#x60; to specify the end of the day. The time zone setting considered is &#x60;UTC&#x60;. If you do not include a time component, a default time value of &#x60;T00:00:00&#x60; (midnight) in &#x60;UTC&#x60; is considered.
1572
+ # @option opts [Integer] :page_size The number of items in the response. (default to 50)
1573
+ # @option opts [Integer] :skip The number of items to skip when paging through large result sets.
1574
+ # @return [Array<(GetLoyaltyProgramProfileTransactions200Response, Integer, Hash)>] GetLoyaltyProgramProfileTransactions200Response data, response status code and response headers
1575
+ def get_loyalty_program_profile_transactions_with_http_info(loyalty_program_id, integration_id, opts = {})
1576
+ if @api_client.config.debugging
1577
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.get_loyalty_program_profile_transactions ...'
1578
+ end
1579
+ # verify the required parameter 'loyalty_program_id' is set
1580
+ if @api_client.config.client_side_validation && loyalty_program_id.nil?
1581
+ fail ArgumentError, "Missing the required parameter 'loyalty_program_id' when calling IntegrationApi.get_loyalty_program_profile_transactions"
1582
+ end
1583
+ # verify the required parameter 'integration_id' is set
1584
+ if @api_client.config.client_side_validation && integration_id.nil?
1585
+ fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationApi.get_loyalty_program_profile_transactions"
1586
+ end
1587
+ allowable_values = ["manual", "session", "import"]
1588
+ if @api_client.config.client_side_validation && opts[:'loyalty_transaction_type'] && !allowable_values.include?(opts[:'loyalty_transaction_type'])
1589
+ fail ArgumentError, "invalid value for \"loyalty_transaction_type\", must be one of #{allowable_values}"
1590
+ end
1591
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 1000
1592
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling IntegrationApi.get_loyalty_program_profile_transactions, must be smaller than or equal to 1000.'
1593
+ end
1594
+
1595
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
1596
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling IntegrationApi.get_loyalty_program_profile_transactions, must be greater than or equal to 1.'
1597
+ end
1598
+
1599
+ # resource path
1600
+ local_var_path = '/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/transactions'.sub('{' + 'loyaltyProgramId' + '}', CGI.escape(loyalty_program_id.to_s)).sub('{' + 'integrationId' + '}', CGI.escape(integration_id.to_s))
1601
+
1602
+ # query parameters
1603
+ query_params = opts[:query_params] || {}
1604
+ query_params[:'customerSessionIDs'] = @api_client.build_collection_param(opts[:'customer_session_ids'], :multi) if !opts[:'customer_session_ids'].nil?
1605
+ query_params[:'transactionUUIDs'] = @api_client.build_collection_param(opts[:'transaction_uuids'], :multi) if !opts[:'transaction_uuids'].nil?
1606
+ query_params[:'subledgerId'] = opts[:'subledger_id'] if !opts[:'subledger_id'].nil?
1607
+ query_params[:'loyaltyTransactionType'] = opts[:'loyalty_transaction_type'] if !opts[:'loyalty_transaction_type'].nil?
1608
+ query_params[:'startDate'] = opts[:'start_date'] if !opts[:'start_date'].nil?
1609
+ query_params[:'endDate'] = opts[:'end_date'] if !opts[:'end_date'].nil?
1610
+ query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1611
+ query_params[:'skip'] = opts[:'skip'] if !opts[:'skip'].nil?
1612
+
1613
+ # header parameters
1614
+ header_params = opts[:header_params] || {}
1615
+ # HTTP header 'Accept' (if needed)
1616
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1617
+
1618
+ # form parameters
1619
+ form_params = opts[:form_params] || {}
1620
+
1621
+ # http body (model)
1622
+ post_body = opts[:debug_body]
1623
+
1624
+ # return_type
1625
+ return_type = opts[:debug_return_type] || 'GetLoyaltyProgramProfileTransactions200Response'
1626
+
1627
+ # auth_names
1628
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
1629
+
1630
+ new_options = opts.merge(
1631
+ :operation => :"IntegrationApi.get_loyalty_program_profile_transactions",
1632
+ :header_params => header_params,
1633
+ :query_params => query_params,
1634
+ :form_params => form_params,
1635
+ :body => post_body,
1636
+ :auth_names => auth_names,
1637
+ :return_type => return_type
1638
+ )
1639
+
1640
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1641
+ if @api_client.config.debugging
1642
+ @api_client.config.logger.debug "API called: IntegrationApi#get_loyalty_program_profile_transactions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1643
+ end
1644
+ return data, status_code, headers
1645
+ end
1646
+
1647
+ # List customers that have this coupon reserved
1648
+ # Return all customers that have this coupon marked as reserved. This includes hard and soft reservations.
1649
+ # @param coupon_value [String] The code of the coupon. **Important:** The coupon code requires [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) if it contains special characters. For example, you must encode &#x60;SUMMER25%OFF&#x60; as &#x60;SUMMER25%25OFF&#x60;.
1650
+ # @param [Hash] opts the optional parameters
1651
+ # @return [GetReservedCustomers200Response]
1652
+ def get_reserved_customers(coupon_value, opts = {})
1653
+ data, _status_code, _headers = get_reserved_customers_with_http_info(coupon_value, opts)
1654
+ data
1655
+ end
1656
+
1657
+ # List customers that have this coupon reserved
1658
+ # Return all customers that have this coupon marked as reserved. This includes hard and soft reservations.
1659
+ # @param coupon_value [String] The code of the coupon. **Important:** The coupon code requires [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) if it contains special characters. For example, you must encode &#x60;SUMMER25%OFF&#x60; as &#x60;SUMMER25%25OFF&#x60;.
1660
+ # @param [Hash] opts the optional parameters
1661
+ # @return [Array<(GetReservedCustomers200Response, Integer, Hash)>] GetReservedCustomers200Response data, response status code and response headers
1662
+ def get_reserved_customers_with_http_info(coupon_value, opts = {})
1663
+ if @api_client.config.debugging
1664
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.get_reserved_customers ...'
1665
+ end
1666
+ # verify the required parameter 'coupon_value' is set
1667
+ if @api_client.config.client_side_validation && coupon_value.nil?
1668
+ fail ArgumentError, "Missing the required parameter 'coupon_value' when calling IntegrationApi.get_reserved_customers"
1669
+ end
1670
+ # resource path
1671
+ local_var_path = '/v1/coupon_reservations/customerprofiles/{couponValue}'.sub('{' + 'couponValue' + '}', CGI.escape(coupon_value.to_s))
1672
+
1673
+ # query parameters
1674
+ query_params = opts[:query_params] || {}
1675
+
1676
+ # header parameters
1677
+ header_params = opts[:header_params] || {}
1678
+ # HTTP header 'Accept' (if needed)
1679
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1680
+
1681
+ # form parameters
1682
+ form_params = opts[:form_params] || {}
1683
+
1684
+ # http body (model)
1685
+ post_body = opts[:debug_body]
1686
+
1687
+ # return_type
1688
+ return_type = opts[:debug_return_type] || 'GetReservedCustomers200Response'
1689
+
1690
+ # auth_names
1691
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
1692
+
1693
+ new_options = opts.merge(
1694
+ :operation => :"IntegrationApi.get_reserved_customers",
1695
+ :header_params => header_params,
1696
+ :query_params => query_params,
1697
+ :form_params => form_params,
1698
+ :body => post_body,
1699
+ :auth_names => auth_names,
1700
+ :return_type => return_type
1701
+ )
1702
+
1703
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1704
+ if @api_client.config.debugging
1705
+ @api_client.config.logger.debug "API called: IntegrationApi#get_reserved_customers\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1706
+ end
1707
+ return data, status_code, headers
1708
+ end
1709
+
1710
+ # Link customer profile to card
1711
+ # [Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) allow customers to collect and spend loyalty points within a [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types). They are useful to gamify loyalty programs and can be used with or without customer profiles linked to them. Link a customer profile to a given loyalty card for the card to be set as **Registered**. This affects how it can be used. See the [docs](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card). **Note:** You can link as many customer profiles to a given loyalty card as the [**card user limit**](https://docs.talon.one/docs/product/loyalty-programs/card-based/creating-cb-programs) allows.
1712
+ # @param loyalty_program_id [Integer] Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
1713
+ # @param loyalty_card_id [String] Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint.
1714
+ # @param loyalty_card_registration [LoyaltyCardRegistration] body
1715
+ # @param [Hash] opts the optional parameters
1716
+ # @return [LoyaltyCard]
1717
+ def link_loyalty_card_to_profile(loyalty_program_id, loyalty_card_id, loyalty_card_registration, opts = {})
1718
+ data, _status_code, _headers = link_loyalty_card_to_profile_with_http_info(loyalty_program_id, loyalty_card_id, loyalty_card_registration, opts)
1719
+ data
1720
+ end
1721
+
1722
+ # Link customer profile to card
1723
+ # [Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) allow customers to collect and spend loyalty points within a [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types). They are useful to gamify loyalty programs and can be used with or without customer profiles linked to them. Link a customer profile to a given loyalty card for the card to be set as **Registered**. This affects how it can be used. See the [docs](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card). **Note:** You can link as many customer profiles to a given loyalty card as the [**card user limit**](https://docs.talon.one/docs/product/loyalty-programs/card-based/creating-cb-programs) allows.
1724
+ # @param loyalty_program_id [Integer] Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
1725
+ # @param loyalty_card_id [String] Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint.
1726
+ # @param loyalty_card_registration [LoyaltyCardRegistration] body
1727
+ # @param [Hash] opts the optional parameters
1728
+ # @return [Array<(LoyaltyCard, Integer, Hash)>] LoyaltyCard data, response status code and response headers
1729
+ def link_loyalty_card_to_profile_with_http_info(loyalty_program_id, loyalty_card_id, loyalty_card_registration, opts = {})
1730
+ if @api_client.config.debugging
1731
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.link_loyalty_card_to_profile ...'
1732
+ end
1733
+ # verify the required parameter 'loyalty_program_id' is set
1734
+ if @api_client.config.client_side_validation && loyalty_program_id.nil?
1735
+ fail ArgumentError, "Missing the required parameter 'loyalty_program_id' when calling IntegrationApi.link_loyalty_card_to_profile"
1736
+ end
1737
+ # verify the required parameter 'loyalty_card_id' is set
1738
+ if @api_client.config.client_side_validation && loyalty_card_id.nil?
1739
+ fail ArgumentError, "Missing the required parameter 'loyalty_card_id' when calling IntegrationApi.link_loyalty_card_to_profile"
1740
+ end
1741
+ if @api_client.config.client_side_validation && loyalty_card_id.to_s.length > 108
1742
+ fail ArgumentError, 'invalid value for "loyalty_card_id" when calling IntegrationApi.link_loyalty_card_to_profile, the character length must be smaller than or equal to 108.'
1743
+ end
1744
+
1745
+ if @api_client.config.client_side_validation && loyalty_card_id.to_s.length < 4
1746
+ fail ArgumentError, 'invalid value for "loyalty_card_id" when calling IntegrationApi.link_loyalty_card_to_profile, the character length must be greater than or equal to 4.'
1747
+ end
1748
+
1749
+ # verify the required parameter 'loyalty_card_registration' is set
1750
+ if @api_client.config.client_side_validation && loyalty_card_registration.nil?
1751
+ fail ArgumentError, "Missing the required parameter 'loyalty_card_registration' when calling IntegrationApi.link_loyalty_card_to_profile"
1752
+ end
1753
+ # resource path
1754
+ local_var_path = '/v2/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/link_profile'.sub('{' + 'loyaltyProgramId' + '}', CGI.escape(loyalty_program_id.to_s)).sub('{' + 'loyaltyCardId' + '}', CGI.escape(loyalty_card_id.to_s))
1755
+
1756
+ # query parameters
1757
+ query_params = opts[:query_params] || {}
1758
+
1759
+ # header parameters
1760
+ header_params = opts[:header_params] || {}
1761
+ # HTTP header 'Accept' (if needed)
1762
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1763
+ # HTTP header 'Content-Type'
1764
+ content_type = @api_client.select_header_content_type(['application/json'])
1765
+ if !content_type.nil?
1766
+ header_params['Content-Type'] = content_type
1767
+ end
1768
+
1769
+ # form parameters
1770
+ form_params = opts[:form_params] || {}
1771
+
1772
+ # http body (model)
1773
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(loyalty_card_registration)
1774
+
1775
+ # return_type
1776
+ return_type = opts[:debug_return_type] || 'LoyaltyCard'
1777
+
1778
+ # auth_names
1779
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
1780
+
1781
+ new_options = opts.merge(
1782
+ :operation => :"IntegrationApi.link_loyalty_card_to_profile",
1783
+ :header_params => header_params,
1784
+ :query_params => query_params,
1785
+ :form_params => form_params,
1786
+ :body => post_body,
1787
+ :auth_names => auth_names,
1788
+ :return_type => return_type
1789
+ )
1790
+
1791
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1792
+ if @api_client.config.debugging
1793
+ @api_client.config.logger.debug "API called: IntegrationApi#link_loyalty_card_to_profile\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1794
+ end
1795
+ return data, status_code, headers
1796
+ end
1797
+
1798
+ # Reopen customer session
1799
+ # Reopen a closed [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). For example, if a session has been completed but still needs to be edited, you can reopen it with this endpoint. A reopen session is treated like a standard open session. When reopening a session: - The `talon_session_reopened` event is triggered. You can see it in the **Events** view in the Campaign Manager. - The session state is updated to `open`. - Any modified budgets and triggered effects are rolled back when the session closes. - Depending on the [return policy](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-programs#return-policy) in your loyalty programs, points are rolled back in the following ways: - Pending points are rolled back automatically. - If **Active points deduction** setting is enabled, any points that were earned and activated when the session closed are rolled back. - If **Negative balance** is enabled, the rollback can create a negative points balance. <details> <summary><strong>Effects and budgets unimpacted by a session reopening</strong></summary> <div> <p>The following effects and budgets remain in the state they were in when the session closed:</p> <ul> <li>Add free item effect</li> <li>Award giveaway</li> <li>Coupon and referral creation</li> <li>Coupon reservation</li> <li>Custom effect</li> <li>Update attribute value</li> <li>Update cart item attribute value</li> </ul> </div> </details> <p>To see an example of a rollback, see the <a href=\"https://docs.talon.one/docs/dev/tutorials/rolling-back-effects\">Cancelling a session with campaign budgets</a>tutorial.</p> **Note:** If your order workflow requires you to create a new session instead of reopening a session, use the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint to cancel a closed session and create a new one.
1800
+ # @param customer_session_id [String] The &#x60;integration ID&#x60; of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager&#39;s **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint.
1801
+ # @param [Hash] opts the optional parameters
1802
+ # @return [ReopenSessionResponse]
1803
+ def reopen_customer_session(customer_session_id, opts = {})
1804
+ data, _status_code, _headers = reopen_customer_session_with_http_info(customer_session_id, opts)
1805
+ data
1806
+ end
1807
+
1808
+ # Reopen customer session
1809
+ # Reopen a closed [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). For example, if a session has been completed but still needs to be edited, you can reopen it with this endpoint. A reopen session is treated like a standard open session. When reopening a session: - The &#x60;talon_session_reopened&#x60; event is triggered. You can see it in the **Events** view in the Campaign Manager. - The session state is updated to &#x60;open&#x60;. - Any modified budgets and triggered effects are rolled back when the session closes. - Depending on the [return policy](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-programs#return-policy) in your loyalty programs, points are rolled back in the following ways: - Pending points are rolled back automatically. - If **Active points deduction** setting is enabled, any points that were earned and activated when the session closed are rolled back. - If **Negative balance** is enabled, the rollback can create a negative points balance. &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Effects and budgets unimpacted by a session reopening&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &lt;p&gt;The following effects and budgets remain in the state they were in when the session closed:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Add free item effect&lt;/li&gt; &lt;li&gt;Award giveaway&lt;/li&gt; &lt;li&gt;Coupon and referral creation&lt;/li&gt; &lt;li&gt;Coupon reservation&lt;/li&gt; &lt;li&gt;Custom effect&lt;/li&gt; &lt;li&gt;Update attribute value&lt;/li&gt; &lt;li&gt;Update cart item attribute value&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;/details&gt; &lt;p&gt;To see an example of a rollback, see the &lt;a href&#x3D;\&quot;https://docs.talon.one/docs/dev/tutorials/rolling-back-effects\&quot;&gt;Cancelling a session with campaign budgets&lt;/a&gt;tutorial.&lt;/p&gt; **Note:** If your order workflow requires you to create a new session instead of reopening a session, use the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint to cancel a closed session and create a new one.
1810
+ # @param customer_session_id [String] The &#x60;integration ID&#x60; of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager&#39;s **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint.
1811
+ # @param [Hash] opts the optional parameters
1812
+ # @return [Array<(ReopenSessionResponse, Integer, Hash)>] ReopenSessionResponse data, response status code and response headers
1813
+ def reopen_customer_session_with_http_info(customer_session_id, opts = {})
1814
+ if @api_client.config.debugging
1815
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.reopen_customer_session ...'
1816
+ end
1817
+ # verify the required parameter 'customer_session_id' is set
1818
+ if @api_client.config.client_side_validation && customer_session_id.nil?
1819
+ fail ArgumentError, "Missing the required parameter 'customer_session_id' when calling IntegrationApi.reopen_customer_session"
1820
+ end
1821
+ # resource path
1822
+ local_var_path = '/v2/customer_sessions/{customerSessionId}/reopen'.sub('{' + 'customerSessionId' + '}', CGI.escape(customer_session_id.to_s))
1823
+
1824
+ # query parameters
1825
+ query_params = opts[:query_params] || {}
1826
+
1827
+ # header parameters
1828
+ header_params = opts[:header_params] || {}
1829
+ # HTTP header 'Accept' (if needed)
1830
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1831
+
1832
+ # form parameters
1833
+ form_params = opts[:form_params] || {}
1834
+
1835
+ # http body (model)
1836
+ post_body = opts[:debug_body]
1837
+
1838
+ # return_type
1839
+ return_type = opts[:debug_return_type] || 'ReopenSessionResponse'
1840
+
1841
+ # auth_names
1842
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
1843
+
1844
+ new_options = opts.merge(
1845
+ :operation => :"IntegrationApi.reopen_customer_session",
1846
+ :header_params => header_params,
1847
+ :query_params => query_params,
1848
+ :form_params => form_params,
1849
+ :body => post_body,
1850
+ :auth_names => auth_names,
1851
+ :return_type => return_type
1852
+ )
1853
+
1854
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
1855
+ if @api_client.config.debugging
1856
+ @api_client.config.logger.debug "API called: IntegrationApi#reopen_customer_session\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1857
+ end
1858
+ return data, status_code, headers
1859
+ end
1860
+
1861
+ # Return cart items
1862
+ # Create a new return request for the specified cart items. This endpoint automatically changes the session state from `closed` to `partially_returned`. **Note:** This will roll back any effects associated with these cart items. For more information, see [our documentation on session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) and [this tutorial](https://docs.talon.one/docs/dev/tutorials/partially-returning-a-session).
1863
+ # @param customer_session_id [String] The &#x60;integration ID&#x60; of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager&#39;s **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint.
1864
+ # @param return_integration_request [ReturnIntegrationRequest] body
1865
+ # @param [Hash] opts the optional parameters
1866
+ # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;.
1867
+ # @return [IntegrationStateV2]
1868
+ def return_cart_items(customer_session_id, return_integration_request, opts = {})
1869
+ data, _status_code, _headers = return_cart_items_with_http_info(customer_session_id, return_integration_request, opts)
1870
+ data
1871
+ end
1872
+
1873
+ # Return cart items
1874
+ # Create a new return request for the specified cart items. This endpoint automatically changes the session state from &#x60;closed&#x60; to &#x60;partially_returned&#x60;. **Note:** This will roll back any effects associated with these cart items. For more information, see [our documentation on session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) and [this tutorial](https://docs.talon.one/docs/dev/tutorials/partially-returning-a-session).
1875
+ # @param customer_session_id [String] The &#x60;integration ID&#x60; of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager&#39;s **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint.
1876
+ # @param return_integration_request [ReturnIntegrationRequest] body
1877
+ # @param [Hash] opts the optional parameters
1878
+ # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;.
1879
+ # @return [Array<(IntegrationStateV2, Integer, Hash)>] IntegrationStateV2 data, response status code and response headers
1880
+ def return_cart_items_with_http_info(customer_session_id, return_integration_request, opts = {})
1881
+ if @api_client.config.debugging
1882
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.return_cart_items ...'
1883
+ end
1884
+ # verify the required parameter 'customer_session_id' is set
1885
+ if @api_client.config.client_side_validation && customer_session_id.nil?
1886
+ fail ArgumentError, "Missing the required parameter 'customer_session_id' when calling IntegrationApi.return_cart_items"
1887
+ end
1888
+ # verify the required parameter 'return_integration_request' is set
1889
+ if @api_client.config.client_side_validation && return_integration_request.nil?
1890
+ fail ArgumentError, "Missing the required parameter 'return_integration_request' when calling IntegrationApi.return_cart_items"
1891
+ end
1892
+ # resource path
1893
+ local_var_path = '/v2/customer_sessions/{customerSessionId}/returns'.sub('{' + 'customerSessionId' + '}', CGI.escape(customer_session_id.to_s))
1894
+
1895
+ # query parameters
1896
+ query_params = opts[:query_params] || {}
1897
+ query_params[:'dry'] = opts[:'dry'] if !opts[:'dry'].nil?
1898
+
1899
+ # header parameters
1900
+ header_params = opts[:header_params] || {}
1901
+ # HTTP header 'Accept' (if needed)
1902
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1903
+ # HTTP header 'Content-Type'
1904
+ content_type = @api_client.select_header_content_type(['application/json'])
1905
+ if !content_type.nil?
1906
+ header_params['Content-Type'] = content_type
1907
+ end
1908
+
1909
+ # form parameters
1910
+ form_params = opts[:form_params] || {}
1911
+
1912
+ # http body (model)
1913
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(return_integration_request)
1914
+
1915
+ # return_type
1916
+ return_type = opts[:debug_return_type] || 'IntegrationStateV2'
1917
+
1918
+ # auth_names
1919
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
1920
+
1921
+ new_options = opts.merge(
1922
+ :operation => :"IntegrationApi.return_cart_items",
1923
+ :header_params => header_params,
1924
+ :query_params => query_params,
1925
+ :form_params => form_params,
1926
+ :body => post_body,
1927
+ :auth_names => auth_names,
1928
+ :return_type => return_type
1929
+ )
1930
+
1931
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1932
+ if @api_client.config.debugging
1933
+ @api_client.config.logger.debug "API called: IntegrationApi#return_cart_items\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1934
+ end
1935
+ return data, status_code, headers
1936
+ end
1937
+
1938
+ # Sync cart item catalog
1939
+ # Perform the following actions for a given cart item catalog: - Add an item to the catalog. - Add multiple items to the catalog. - Update the attributes of an item in the catalog. - Update the attributes of multiple items in the catalog. - Remove an item from the catalog. - Remove multiple items from the catalog. You can either add, update, or delete up to 1000 cart items in a single request. Each item synced to a catalog must have a unique `SKU`. **Important**: You can perform only one type of action in a single sync request. Syncing items with duplicate `SKU` values in a single request returns an error message with a `400` status code. For more information, read [managing cart item catalogs](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). ### Filtering cart items Use [cart item attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) to filter items and select the ones you want to edit or delete when editing or deleting more than one item at a time. The `filters` array contains an object with the following properties: - `attr`: A [cart item attribute](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) connected to the catalog. It is applied to all items in the catalog. - `op`: The filtering operator indicating the relationship between the value of each cart item in the catalog and the value of the `value` property for the attribute selected in `attr`. The value of `op` can be one of the following: - `EQ`: Equal to `value` - `LT`: Less than `value` - `LE`: Less than or equal to `value` - `GT`: Greater than `value` - `GE`: Greater than or equal to `value` - `IN`: One of the comma-separated values that `value` is set to. **Note:** `GE`, `LE`, `GT`, `LT` are for numeric values only. - `value`: The value of the attribute selected in `attr`. ### Payload examples Synchronization actions are sent as `PUT` requests. See the structure for each action: <details> <summary><strong>Adding an item to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Adding multiple items to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241027\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" }, { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Updating the attributes of an item in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"age\": 11, \"origin\": \"germany\" }, \"createIfNotExists\": false, \"sku\": \"SKU1241028\", \"product\": { \"name\": \"sneakers\" } }, \"type\": \"PATCH\" } ] } ``` </div> </details> <details> <summary><strong>Updating the attributes of multiple items in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"red\" }, \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"PATCH_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing an item from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"sku\": \"SKU1241028\" }, \"type\": \"REMOVE\" } ] } ``` </div> </details> <details> <summary><strong>Removing multiple items from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing shoes of sizes above 45 from the catalog</strong></summary> <div> <p> Let's imagine that we have a shoe store and we have decided to stop selling shoes larger than size 45. We can remove from the catalog all the shoes of sizes above 45 with a single action:</p> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"size\", \"op\": \"GT\", \"value\": \"45\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details>
1940
+ # @param catalog_id [Integer] The ID of the catalog. You can find the ID in the Campaign Manager in **Account** &gt; **Tools** &gt; **Cart item catalogs**.
1941
+ # @param catalog_sync_request [CatalogSyncRequest] body
1942
+ # @param [Hash] opts the optional parameters
1943
+ # @return [Catalog]
1944
+ def sync_catalog(catalog_id, catalog_sync_request, opts = {})
1945
+ data, _status_code, _headers = sync_catalog_with_http_info(catalog_id, catalog_sync_request, opts)
1946
+ data
1947
+ end
1948
+
1949
+ # Sync cart item catalog
1950
+ # Perform the following actions for a given cart item catalog: - Add an item to the catalog. - Add multiple items to the catalog. - Update the attributes of an item in the catalog. - Update the attributes of multiple items in the catalog. - Remove an item from the catalog. - Remove multiple items from the catalog. You can either add, update, or delete up to 1000 cart items in a single request. Each item synced to a catalog must have a unique &#x60;SKU&#x60;. **Important**: You can perform only one type of action in a single sync request. Syncing items with duplicate &#x60;SKU&#x60; values in a single request returns an error message with a &#x60;400&#x60; status code. For more information, read [managing cart item catalogs](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). ### Filtering cart items Use [cart item attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) to filter items and select the ones you want to edit or delete when editing or deleting more than one item at a time. The &#x60;filters&#x60; array contains an object with the following properties: - &#x60;attr&#x60;: A [cart item attribute](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) connected to the catalog. It is applied to all items in the catalog. - &#x60;op&#x60;: The filtering operator indicating the relationship between the value of each cart item in the catalog and the value of the &#x60;value&#x60; property for the attribute selected in &#x60;attr&#x60;. The value of &#x60;op&#x60; can be one of the following: - &#x60;EQ&#x60;: Equal to &#x60;value&#x60; - &#x60;LT&#x60;: Less than &#x60;value&#x60; - &#x60;LE&#x60;: Less than or equal to &#x60;value&#x60; - &#x60;GT&#x60;: Greater than &#x60;value&#x60; - &#x60;GE&#x60;: Greater than or equal to &#x60;value&#x60; - &#x60;IN&#x60;: One of the comma-separated values that &#x60;value&#x60; is set to. **Note:** &#x60;GE&#x60;, &#x60;LE&#x60;, &#x60;GT&#x60;, &#x60;LT&#x60; are for numeric values only. - &#x60;value&#x60;: The value of the attribute selected in &#x60;attr&#x60;. ### Payload examples Synchronization actions are sent as &#x60;PUT&#x60; requests. See the structure for each action: &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Adding an item to the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;attributes\&quot;: { \&quot;color\&quot;: \&quot;Navy blue\&quot;, \&quot;type\&quot;: \&quot;shoes\&quot; }, \&quot;replaceIfExists\&quot;: true, \&quot;sku\&quot;: \&quot;SKU1241028\&quot;, \&quot;price\&quot;: 100, \&quot;product\&quot;: { \&quot;name\&quot;: \&quot;sneakers\&quot; } }, \&quot;type\&quot;: \&quot;ADD\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt; &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Adding multiple items to the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;attributes\&quot;: { \&quot;color\&quot;: \&quot;Navy blue\&quot;, \&quot;type\&quot;: \&quot;shoes\&quot; }, \&quot;replaceIfExists\&quot;: true, \&quot;sku\&quot;: \&quot;SKU1241027\&quot;, \&quot;price\&quot;: 100, \&quot;product\&quot;: { \&quot;name\&quot;: \&quot;sneakers\&quot; } }, \&quot;type\&quot;: \&quot;ADD\&quot; }, { \&quot;payload\&quot;: { \&quot;attributes\&quot;: { \&quot;color\&quot;: \&quot;Navy blue\&quot;, \&quot;type\&quot;: \&quot;shoes\&quot; }, \&quot;replaceIfExists\&quot;: true, \&quot;sku\&quot;: \&quot;SKU1241028\&quot;, \&quot;price\&quot;: 100, \&quot;product\&quot;: { \&quot;name\&quot;: \&quot;sneakers\&quot; } }, \&quot;type\&quot;: \&quot;ADD\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt; &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Updating the attributes of an item in the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;attributes\&quot;: { \&quot;age\&quot;: 11, \&quot;origin\&quot;: \&quot;germany\&quot; }, \&quot;createIfNotExists\&quot;: false, \&quot;sku\&quot;: \&quot;SKU1241028\&quot;, \&quot;product\&quot;: { \&quot;name\&quot;: \&quot;sneakers\&quot; } }, \&quot;type\&quot;: \&quot;PATCH\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt; &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Updating the attributes of multiple items in the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;attributes\&quot;: { \&quot;color\&quot;: \&quot;red\&quot; }, \&quot;filters\&quot;: [ { \&quot;attr\&quot;: \&quot;color\&quot;, \&quot;op\&quot;: \&quot;EQ\&quot;, \&quot;value\&quot;: \&quot;blue\&quot; } ] }, \&quot;type\&quot;: \&quot;PATCH_MANY\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt; &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Removing an item from the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;sku\&quot;: \&quot;SKU1241028\&quot; }, \&quot;type\&quot;: \&quot;REMOVE\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt; &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Removing multiple items from the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;filters\&quot;: [ { \&quot;attr\&quot;: \&quot;color\&quot;, \&quot;op\&quot;: \&quot;EQ\&quot;, \&quot;value\&quot;: \&quot;blue\&quot; } ] }, \&quot;type\&quot;: \&quot;REMOVE_MANY\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt; &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Removing shoes of sizes above 45 from the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &lt;p&gt; Let&#39;s imagine that we have a shoe store and we have decided to stop selling shoes larger than size 45. We can remove from the catalog all the shoes of sizes above 45 with a single action:&lt;/p&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;filters\&quot;: [ { \&quot;attr\&quot;: \&quot;size\&quot;, \&quot;op\&quot;: \&quot;GT\&quot;, \&quot;value\&quot;: \&quot;45\&quot; } ] }, \&quot;type\&quot;: \&quot;REMOVE_MANY\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt;
1951
+ # @param catalog_id [Integer] The ID of the catalog. You can find the ID in the Campaign Manager in **Account** &gt; **Tools** &gt; **Cart item catalogs**.
1952
+ # @param catalog_sync_request [CatalogSyncRequest] body
1953
+ # @param [Hash] opts the optional parameters
1954
+ # @return [Array<(Catalog, Integer, Hash)>] Catalog data, response status code and response headers
1955
+ def sync_catalog_with_http_info(catalog_id, catalog_sync_request, opts = {})
1956
+ if @api_client.config.debugging
1957
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.sync_catalog ...'
1958
+ end
1959
+ # verify the required parameter 'catalog_id' is set
1960
+ if @api_client.config.client_side_validation && catalog_id.nil?
1961
+ fail ArgumentError, "Missing the required parameter 'catalog_id' when calling IntegrationApi.sync_catalog"
1962
+ end
1963
+ # verify the required parameter 'catalog_sync_request' is set
1964
+ if @api_client.config.client_side_validation && catalog_sync_request.nil?
1965
+ fail ArgumentError, "Missing the required parameter 'catalog_sync_request' when calling IntegrationApi.sync_catalog"
1966
+ end
1967
+ # resource path
1968
+ local_var_path = '/v1/catalogs/{catalogId}/sync'.sub('{' + 'catalogId' + '}', CGI.escape(catalog_id.to_s))
1969
+
1970
+ # query parameters
1971
+ query_params = opts[:query_params] || {}
1972
+
1973
+ # header parameters
1974
+ header_params = opts[:header_params] || {}
1975
+ # HTTP header 'Accept' (if needed)
1976
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1977
+ # HTTP header 'Content-Type'
1978
+ content_type = @api_client.select_header_content_type(['application/json'])
1979
+ if !content_type.nil?
1980
+ header_params['Content-Type'] = content_type
1981
+ end
1982
+
1983
+ # form parameters
1984
+ form_params = opts[:form_params] || {}
1985
+
1986
+ # http body (model)
1987
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(catalog_sync_request)
1988
+
1989
+ # return_type
1990
+ return_type = opts[:debug_return_type] || 'Catalog'
1991
+
1992
+ # auth_names
1993
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
1994
+
1995
+ new_options = opts.merge(
1996
+ :operation => :"IntegrationApi.sync_catalog",
1997
+ :header_params => header_params,
1998
+ :query_params => query_params,
1999
+ :form_params => form_params,
2000
+ :body => post_body,
2001
+ :auth_names => auth_names,
2002
+ :return_type => return_type
2003
+ )
2004
+
2005
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
2006
+ if @api_client.config.debugging
2007
+ @api_client.config.logger.debug "API called: IntegrationApi#sync_catalog\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2008
+ end
2009
+ return data, status_code, headers
2010
+ end
2011
+
2012
+ # Track event
2013
+ # Triggers a custom event. To use this endpoint: 1. Define a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) in the Campaign Manager. 1. Update or create a rule to check for this event. 1. Trigger the event with this endpoint. After you have successfully sent an event to Talon.One, you can list the received events in the **Events** view in the Campaign Manager. Talon.One also offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/entities/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). <div class=\"redoc-section\"> <p class=\"title\">Important</p> 1. `profileId` is required even though the schema does not specify it. 1. If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. 1. We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). 1. [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered in rule evaluation. </div>
2014
+ # @param integration_event_v2_request [IntegrationEventV2Request] body
2015
+ # @param [Hash] opts the optional parameters
2016
+ # @option opts [String] :silent Possible values: &#x60;yes&#x60; or &#x60;no&#x60;. - &#x60;yes&#x60;: Increases the performance of the API call by returning a 204 response. - &#x60;no&#x60;: Returns a 200 response that contains the updated customer profiles. (default to 'yes')
2017
+ # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;.
2018
+ # @option opts [Boolean] :force_complete_evaluation Forces evaluation for all matching campaigns regardless of the [campaign evaluation mode](https://docs.talon.one/docs/product/applications/managing-campaign-evaluation#setting-campaign-evaluation-mode). Requires &#x60;dry&#x3D;true&#x60;. (default to false)
2019
+ # @return [TrackEventV2Response]
2020
+ def track_event_v2(integration_event_v2_request, opts = {})
2021
+ data, _status_code, _headers = track_event_v2_with_http_info(integration_event_v2_request, opts)
2022
+ data
2023
+ end
2024
+
2025
+ # Track event
2026
+ # Triggers a custom event. To use this endpoint: 1. Define a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) in the Campaign Manager. 1. Update or create a rule to check for this event. 1. Trigger the event with this endpoint. After you have successfully sent an event to Talon.One, you can list the received events in the **Events** view in the Campaign Manager. Talon.One also offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/entities/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). &lt;div class&#x3D;\&quot;redoc-section\&quot;&gt; &lt;p class&#x3D;\&quot;title\&quot;&gt;Important&lt;/p&gt; 1. &#x60;profileId&#x60; is required even though the schema does not specify it. 1. If the customer profile ID is new, a new profile is automatically created but the &#x60;customer_profile_created&#x60; [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. 1. We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). 1. [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered in rule evaluation. &lt;/div&gt;
2027
+ # @param integration_event_v2_request [IntegrationEventV2Request] body
2028
+ # @param [Hash] opts the optional parameters
2029
+ # @option opts [String] :silent Possible values: &#x60;yes&#x60; or &#x60;no&#x60;. - &#x60;yes&#x60;: Increases the performance of the API call by returning a 204 response. - &#x60;no&#x60;: Returns a 200 response that contains the updated customer profiles. (default to 'yes')
2030
+ # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;.
2031
+ # @option opts [Boolean] :force_complete_evaluation Forces evaluation for all matching campaigns regardless of the [campaign evaluation mode](https://docs.talon.one/docs/product/applications/managing-campaign-evaluation#setting-campaign-evaluation-mode). Requires &#x60;dry&#x3D;true&#x60;. (default to false)
2032
+ # @return [Array<(TrackEventV2Response, Integer, Hash)>] TrackEventV2Response data, response status code and response headers
2033
+ def track_event_v2_with_http_info(integration_event_v2_request, opts = {})
2034
+ if @api_client.config.debugging
2035
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.track_event_v2 ...'
2036
+ end
2037
+ # verify the required parameter 'integration_event_v2_request' is set
2038
+ if @api_client.config.client_side_validation && integration_event_v2_request.nil?
2039
+ fail ArgumentError, "Missing the required parameter 'integration_event_v2_request' when calling IntegrationApi.track_event_v2"
2040
+ end
2041
+ # resource path
2042
+ local_var_path = '/v2/events'
2043
+
2044
+ # query parameters
2045
+ query_params = opts[:query_params] || {}
2046
+ query_params[:'silent'] = opts[:'silent'] if !opts[:'silent'].nil?
2047
+ query_params[:'dry'] = opts[:'dry'] if !opts[:'dry'].nil?
2048
+ query_params[:'forceCompleteEvaluation'] = opts[:'force_complete_evaluation'] if !opts[:'force_complete_evaluation'].nil?
2049
+
2050
+ # header parameters
2051
+ header_params = opts[:header_params] || {}
2052
+ # HTTP header 'Accept' (if needed)
2053
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2054
+ # HTTP header 'Content-Type'
2055
+ content_type = @api_client.select_header_content_type(['application/json'])
2056
+ if !content_type.nil?
2057
+ header_params['Content-Type'] = content_type
2058
+ end
2059
+
2060
+ # form parameters
2061
+ form_params = opts[:form_params] || {}
2062
+
2063
+ # http body (model)
2064
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(integration_event_v2_request)
2065
+
2066
+ # return_type
2067
+ return_type = opts[:debug_return_type] || 'TrackEventV2Response'
2068
+
2069
+ # auth_names
2070
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
2071
+
2072
+ new_options = opts.merge(
2073
+ :operation => :"IntegrationApi.track_event_v2",
2074
+ :header_params => header_params,
2075
+ :query_params => query_params,
2076
+ :form_params => form_params,
2077
+ :body => post_body,
2078
+ :auth_names => auth_names,
2079
+ :return_type => return_type
2080
+ )
2081
+
2082
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2083
+ if @api_client.config.debugging
2084
+ @api_client.config.logger.debug "API called: IntegrationApi#track_event_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2085
+ end
2086
+ return data, status_code, headers
2087
+ end
2088
+
2089
+ # Update profile attributes for all customers in audience
2090
+ # Update the specified profile attributes to the provided values for all customers in the specified audience.
2091
+ # @param audience_id [Integer] The ID of the audience.
2092
+ # @param body [Object] body
2093
+ # @param [Hash] opts the optional parameters
2094
+ # @return [nil]
2095
+ def update_audience_customers_attributes(audience_id, body, opts = {})
2096
+ update_audience_customers_attributes_with_http_info(audience_id, body, opts)
2097
+ nil
2098
+ end
2099
+
2100
+ # Update profile attributes for all customers in audience
2101
+ # Update the specified profile attributes to the provided values for all customers in the specified audience.
2102
+ # @param audience_id [Integer] The ID of the audience.
2103
+ # @param body [Object] body
2104
+ # @param [Hash] opts the optional parameters
2105
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
2106
+ def update_audience_customers_attributes_with_http_info(audience_id, body, opts = {})
2107
+ if @api_client.config.debugging
2108
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.update_audience_customers_attributes ...'
2109
+ end
2110
+ # verify the required parameter 'audience_id' is set
2111
+ if @api_client.config.client_side_validation && audience_id.nil?
2112
+ fail ArgumentError, "Missing the required parameter 'audience_id' when calling IntegrationApi.update_audience_customers_attributes"
2113
+ end
2114
+ # verify the required parameter 'body' is set
2115
+ if @api_client.config.client_side_validation && body.nil?
2116
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_audience_customers_attributes"
2117
+ end
2118
+ # resource path
2119
+ local_var_path = '/v2/audience_customers/{audienceId}/attributes'.sub('{' + 'audienceId' + '}', CGI.escape(audience_id.to_s))
2120
+
2121
+ # query parameters
2122
+ query_params = opts[:query_params] || {}
2123
+
2124
+ # header parameters
2125
+ header_params = opts[:header_params] || {}
2126
+ # HTTP header 'Accept' (if needed)
2127
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2128
+ # HTTP header 'Content-Type'
2129
+ content_type = @api_client.select_header_content_type(['application/json'])
2130
+ if !content_type.nil?
2131
+ header_params['Content-Type'] = content_type
2132
+ end
2133
+
2134
+ # form parameters
2135
+ form_params = opts[:form_params] || {}
2136
+
2137
+ # http body (model)
2138
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
2139
+
2140
+ # return_type
2141
+ return_type = opts[:debug_return_type]
2142
+
2143
+ # auth_names
2144
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
2145
+
2146
+ new_options = opts.merge(
2147
+ :operation => :"IntegrationApi.update_audience_customers_attributes",
2148
+ :header_params => header_params,
2149
+ :query_params => query_params,
2150
+ :form_params => form_params,
2151
+ :body => post_body,
2152
+ :auth_names => auth_names,
2153
+ :return_type => return_type
2154
+ )
2155
+
2156
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
2157
+ if @api_client.config.debugging
2158
+ @api_client.config.logger.debug "API called: IntegrationApi#update_audience_customers_attributes\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2159
+ end
2160
+ return data, status_code, headers
2161
+ end
2162
+
2163
+ # Update audience name
2164
+ # Update the name of the given audience created by a third-party integration. Sending a request to this endpoint does **not** trigger the Rule Engine. To update the audience's members, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint.
2165
+ # @param audience_id [Integer] The ID of the audience.
2166
+ # @param update_audience [UpdateAudience] body
2167
+ # @param [Hash] opts the optional parameters
2168
+ # @return [Audience]
2169
+ def update_audience_v2(audience_id, update_audience, opts = {})
2170
+ data, _status_code, _headers = update_audience_v2_with_http_info(audience_id, update_audience, opts)
2171
+ data
2172
+ end
2173
+
2174
+ # Update audience name
2175
+ # Update the name of the given audience created by a third-party integration. Sending a request to this endpoint does **not** trigger the Rule Engine. To update the audience&#39;s members, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint.
2176
+ # @param audience_id [Integer] The ID of the audience.
2177
+ # @param update_audience [UpdateAudience] body
2178
+ # @param [Hash] opts the optional parameters
2179
+ # @return [Array<(Audience, Integer, Hash)>] Audience data, response status code and response headers
2180
+ def update_audience_v2_with_http_info(audience_id, update_audience, opts = {})
2181
+ if @api_client.config.debugging
2182
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.update_audience_v2 ...'
2183
+ end
2184
+ # verify the required parameter 'audience_id' is set
2185
+ if @api_client.config.client_side_validation && audience_id.nil?
2186
+ fail ArgumentError, "Missing the required parameter 'audience_id' when calling IntegrationApi.update_audience_v2"
2187
+ end
2188
+ # verify the required parameter 'update_audience' is set
2189
+ if @api_client.config.client_side_validation && update_audience.nil?
2190
+ fail ArgumentError, "Missing the required parameter 'update_audience' when calling IntegrationApi.update_audience_v2"
2191
+ end
2192
+ # resource path
2193
+ local_var_path = '/v2/audiences/{audienceId}'.sub('{' + 'audienceId' + '}', CGI.escape(audience_id.to_s))
2194
+
2195
+ # query parameters
2196
+ query_params = opts[:query_params] || {}
2197
+
2198
+ # header parameters
2199
+ header_params = opts[:header_params] || {}
2200
+ # HTTP header 'Accept' (if needed)
2201
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2202
+ # HTTP header 'Content-Type'
2203
+ content_type = @api_client.select_header_content_type(['application/json'])
2204
+ if !content_type.nil?
2205
+ header_params['Content-Type'] = content_type
2206
+ end
2207
+
2208
+ # form parameters
2209
+ form_params = opts[:form_params] || {}
2210
+
2211
+ # http body (model)
2212
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(update_audience)
2213
+
2214
+ # return_type
2215
+ return_type = opts[:debug_return_type] || 'Audience'
2216
+
2217
+ # auth_names
2218
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
2219
+
2220
+ new_options = opts.merge(
2221
+ :operation => :"IntegrationApi.update_audience_v2",
2222
+ :header_params => header_params,
2223
+ :query_params => query_params,
2224
+ :form_params => form_params,
2225
+ :body => post_body,
2226
+ :auth_names => auth_names,
2227
+ :return_type => return_type
2228
+ )
2229
+
2230
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
2231
+ if @api_client.config.debugging
2232
+ @api_client.config.logger.debug "API called: IntegrationApi#update_audience_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2233
+ end
2234
+ return data, status_code, headers
2235
+ end
2236
+
2237
+ # Update multiple customer profiles' audiences
2238
+ # Add customer profiles to or remove them from an audience. The endpoint supports 1000 audience actions (`add` or `remove`) per request. **Note:** You can also do this using the [Update audience](https://docs.talon.one/docs/product/rules/effects/using-effects#updating-an-audience) effect.
2239
+ # @param customer_profile_audience_request [CustomerProfileAudienceRequest] body
2240
+ # @param [Hash] opts the optional parameters
2241
+ # @return [nil]
2242
+ def update_customer_profile_audiences(customer_profile_audience_request, opts = {})
2243
+ update_customer_profile_audiences_with_http_info(customer_profile_audience_request, opts)
2244
+ nil
2245
+ end
2246
+
2247
+ # Update multiple customer profiles&#39; audiences
2248
+ # Add customer profiles to or remove them from an audience. The endpoint supports 1000 audience actions (&#x60;add&#x60; or &#x60;remove&#x60;) per request. **Note:** You can also do this using the [Update audience](https://docs.talon.one/docs/product/rules/effects/using-effects#updating-an-audience) effect.
2249
+ # @param customer_profile_audience_request [CustomerProfileAudienceRequest] body
2250
+ # @param [Hash] opts the optional parameters
2251
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
2252
+ def update_customer_profile_audiences_with_http_info(customer_profile_audience_request, opts = {})
2253
+ if @api_client.config.debugging
2254
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_profile_audiences ...'
2255
+ end
2256
+ # verify the required parameter 'customer_profile_audience_request' is set
2257
+ if @api_client.config.client_side_validation && customer_profile_audience_request.nil?
2258
+ fail ArgumentError, "Missing the required parameter 'customer_profile_audience_request' when calling IntegrationApi.update_customer_profile_audiences"
2259
+ end
2260
+ # resource path
2261
+ local_var_path = '/v2/customer_audiences'
2262
+
2263
+ # query parameters
2264
+ query_params = opts[:query_params] || {}
2265
+
2266
+ # header parameters
2267
+ header_params = opts[:header_params] || {}
2268
+ # HTTP header 'Accept' (if needed)
2269
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2270
+ # HTTP header 'Content-Type'
2271
+ content_type = @api_client.select_header_content_type(['application/json'])
2272
+ if !content_type.nil?
2273
+ header_params['Content-Type'] = content_type
2274
+ end
2275
+
2276
+ # form parameters
2277
+ form_params = opts[:form_params] || {}
2278
+
2279
+ # http body (model)
2280
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(customer_profile_audience_request)
2281
+
2282
+ # return_type
2283
+ return_type = opts[:debug_return_type]
2284
+
2285
+ # auth_names
2286
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
2287
+
2288
+ new_options = opts.merge(
2289
+ :operation => :"IntegrationApi.update_customer_profile_audiences",
2290
+ :header_params => header_params,
2291
+ :query_params => query_params,
2292
+ :form_params => form_params,
2293
+ :body => post_body,
2294
+ :auth_names => auth_names,
2295
+ :return_type => return_type
2296
+ )
2297
+
2298
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2299
+ if @api_client.config.debugging
2300
+ @api_client.config.logger.debug "API called: IntegrationApi#update_customer_profile_audiences\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2301
+ end
2302
+ return data, status_code, headers
2303
+ end
2304
+
2305
+ # Update customer profile
2306
+ # Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. **Note:** [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered in rule evaluation when `runRuleEngine` is `true`. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div>
2307
+ # @param integration_id [String] The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier.
2308
+ # @param customer_profile_integration_request_v2 [CustomerProfileIntegrationRequestV2] body
2309
+ # @param [Hash] opts the optional parameters
2310
+ # @option opts [Boolean] :run_rule_engine Indicates whether to run the Rule Engine. If &#x60;true&#x60;, the response includes: - The effects generated by the triggered campaigns are returned in the &#x60;effects&#x60; property. - The created coupons and referral objects. If &#x60;false&#x60;: - The rules are not executed and the &#x60;effects&#x60; property is always empty. - The response time improves. - You cannot use &#x60;responseContent&#x60; in the body. (default to false)
2311
+ # @option opts [Boolean] :dry (Only works when &#x60;runRuleEngine&#x3D;true&#x60;) Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;. When set to &#x60;true&#x60;, you can use the &#x60;evaluableCampaignIds&#x60; body property to select specific campaigns to run.
2312
+ # @return [CustomerProfileIntegrationResponseV2]
2313
+ def update_customer_profile_v2(integration_id, customer_profile_integration_request_v2, opts = {})
2314
+ data, _status_code, _headers = update_customer_profile_v2_with_http_info(integration_id, customer_profile_integration_request_v2, opts)
2315
+ data
2316
+ end
2317
+
2318
+ # Update customer profile
2319
+ # Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. **Note:** [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered in rule evaluation when &#x60;runRuleEngine&#x60; is &#x60;true&#x60;. &lt;div class&#x3D;\&quot;redoc-section\&quot;&gt; &lt;p class&#x3D;\&quot;title\&quot;&gt;Performance tips&lt;/p&gt; - Updating a customer profile returns a response with the requested integration state. - You can use the &#x60;responseContent&#x60; property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). &lt;/div&gt;
2320
+ # @param integration_id [String] The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier.
2321
+ # @param customer_profile_integration_request_v2 [CustomerProfileIntegrationRequestV2] body
2322
+ # @param [Hash] opts the optional parameters
2323
+ # @option opts [Boolean] :run_rule_engine Indicates whether to run the Rule Engine. If &#x60;true&#x60;, the response includes: - The effects generated by the triggered campaigns are returned in the &#x60;effects&#x60; property. - The created coupons and referral objects. If &#x60;false&#x60;: - The rules are not executed and the &#x60;effects&#x60; property is always empty. - The response time improves. - You cannot use &#x60;responseContent&#x60; in the body. (default to false)
2324
+ # @option opts [Boolean] :dry (Only works when &#x60;runRuleEngine&#x3D;true&#x60;) Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;. When set to &#x60;true&#x60;, you can use the &#x60;evaluableCampaignIds&#x60; body property to select specific campaigns to run.
2325
+ # @return [Array<(CustomerProfileIntegrationResponseV2, Integer, Hash)>] CustomerProfileIntegrationResponseV2 data, response status code and response headers
2326
+ def update_customer_profile_v2_with_http_info(integration_id, customer_profile_integration_request_v2, opts = {})
2327
+ if @api_client.config.debugging
2328
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_profile_v2 ...'
2329
+ end
2330
+ # verify the required parameter 'integration_id' is set
2331
+ if @api_client.config.client_side_validation && integration_id.nil?
2332
+ fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationApi.update_customer_profile_v2"
2333
+ end
2334
+ # verify the required parameter 'customer_profile_integration_request_v2' is set
2335
+ if @api_client.config.client_side_validation && customer_profile_integration_request_v2.nil?
2336
+ fail ArgumentError, "Missing the required parameter 'customer_profile_integration_request_v2' when calling IntegrationApi.update_customer_profile_v2"
2337
+ end
2338
+ # resource path
2339
+ local_var_path = '/v2/customer_profiles/{integrationId}'.sub('{' + 'integrationId' + '}', CGI.escape(integration_id.to_s))
2340
+
2341
+ # query parameters
2342
+ query_params = opts[:query_params] || {}
2343
+ query_params[:'runRuleEngine'] = opts[:'run_rule_engine'] if !opts[:'run_rule_engine'].nil?
2344
+ query_params[:'dry'] = opts[:'dry'] if !opts[:'dry'].nil?
2345
+
2346
+ # header parameters
2347
+ header_params = opts[:header_params] || {}
2348
+ # HTTP header 'Accept' (if needed)
2349
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2350
+ # HTTP header 'Content-Type'
2351
+ content_type = @api_client.select_header_content_type(['application/json'])
2352
+ if !content_type.nil?
2353
+ header_params['Content-Type'] = content_type
2354
+ end
2355
+
2356
+ # form parameters
2357
+ form_params = opts[:form_params] || {}
2358
+
2359
+ # http body (model)
2360
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(customer_profile_integration_request_v2)
2361
+
2362
+ # return_type
2363
+ return_type = opts[:debug_return_type] || 'CustomerProfileIntegrationResponseV2'
2364
+
2365
+ # auth_names
2366
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
2367
+
2368
+ new_options = opts.merge(
2369
+ :operation => :"IntegrationApi.update_customer_profile_v2",
2370
+ :header_params => header_params,
2371
+ :query_params => query_params,
2372
+ :form_params => form_params,
2373
+ :body => post_body,
2374
+ :auth_names => auth_names,
2375
+ :return_type => return_type
2376
+ )
2377
+
2378
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
2379
+ if @api_client.config.debugging
2380
+ @api_client.config.logger.debug "API called: IntegrationApi#update_customer_profile_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2381
+ end
2382
+ return data, status_code, headers
2383
+ end
2384
+
2385
+ # Update multiple customer profiles
2386
+ # Update (or create) up to 1000 [customer profiles](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles) in 1 request. The `integrationId` must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. A customer profile [can be linked to one or more sessions](https://docs.talon.one/integration-api#tag/Customer-sessions). **Note:** This endpoint does not trigger the Rule Engine. To trigger the Rule Engine for customer profile updates, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint.
2387
+ # @param multiple_customer_profile_integration_request [MultipleCustomerProfileIntegrationRequest] body
2388
+ # @param [Hash] opts the optional parameters
2389
+ # @option opts [String] :silent Possible values: &#x60;yes&#x60; or &#x60;no&#x60;. - &#x60;yes&#x60;: Increases the performance of the API call by returning a 204 response. - &#x60;no&#x60;: Returns a 200 response that contains the updated customer profiles. (default to 'yes')
2390
+ # @return [MultipleCustomerProfileIntegrationResponseV2]
2391
+ def update_customer_profiles_v2(multiple_customer_profile_integration_request, opts = {})
2392
+ data, _status_code, _headers = update_customer_profiles_v2_with_http_info(multiple_customer_profile_integration_request, opts)
2393
+ data
2394
+ end
2395
+
2396
+ # Update multiple customer profiles
2397
+ # Update (or create) up to 1000 [customer profiles](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles) in 1 request. The &#x60;integrationId&#x60; must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. A customer profile [can be linked to one or more sessions](https://docs.talon.one/integration-api#tag/Customer-sessions). **Note:** This endpoint does not trigger the Rule Engine. To trigger the Rule Engine for customer profile updates, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint.
2398
+ # @param multiple_customer_profile_integration_request [MultipleCustomerProfileIntegrationRequest] body
2399
+ # @param [Hash] opts the optional parameters
2400
+ # @option opts [String] :silent Possible values: &#x60;yes&#x60; or &#x60;no&#x60;. - &#x60;yes&#x60;: Increases the performance of the API call by returning a 204 response. - &#x60;no&#x60;: Returns a 200 response that contains the updated customer profiles. (default to 'yes')
2401
+ # @return [Array<(MultipleCustomerProfileIntegrationResponseV2, Integer, Hash)>] MultipleCustomerProfileIntegrationResponseV2 data, response status code and response headers
2402
+ def update_customer_profiles_v2_with_http_info(multiple_customer_profile_integration_request, opts = {})
2403
+ if @api_client.config.debugging
2404
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_profiles_v2 ...'
2405
+ end
2406
+ # verify the required parameter 'multiple_customer_profile_integration_request' is set
2407
+ if @api_client.config.client_side_validation && multiple_customer_profile_integration_request.nil?
2408
+ fail ArgumentError, "Missing the required parameter 'multiple_customer_profile_integration_request' when calling IntegrationApi.update_customer_profiles_v2"
2409
+ end
2410
+ # resource path
2411
+ local_var_path = '/v2/customer_profiles'
2412
+
2413
+ # query parameters
2414
+ query_params = opts[:query_params] || {}
2415
+ query_params[:'silent'] = opts[:'silent'] if !opts[:'silent'].nil?
2416
+
2417
+ # header parameters
2418
+ header_params = opts[:header_params] || {}
2419
+ # HTTP header 'Accept' (if needed)
2420
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2421
+ # HTTP header 'Content-Type'
2422
+ content_type = @api_client.select_header_content_type(['application/json'])
2423
+ if !content_type.nil?
2424
+ header_params['Content-Type'] = content_type
2425
+ end
2426
+
2427
+ # form parameters
2428
+ form_params = opts[:form_params] || {}
2429
+
2430
+ # http body (model)
2431
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(multiple_customer_profile_integration_request)
2432
+
2433
+ # return_type
2434
+ return_type = opts[:debug_return_type] || 'MultipleCustomerProfileIntegrationResponseV2'
2435
+
2436
+ # auth_names
2437
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
2438
+
2439
+ new_options = opts.merge(
2440
+ :operation => :"IntegrationApi.update_customer_profiles_v2",
2441
+ :header_params => header_params,
2442
+ :query_params => query_params,
2443
+ :form_params => form_params,
2444
+ :body => post_body,
2445
+ :auth_names => auth_names,
2446
+ :return_type => return_type
2447
+ )
2448
+
2449
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
2450
+ if @api_client.config.debugging
2451
+ @api_client.config.logger.debug "API called: IntegrationApi#update_customer_profiles_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2452
+ end
2453
+ return data, status_code, headers
2454
+ end
2455
+
2456
+ # Update customer session
2457
+ # Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** - The currency for the session and the cart items in it is the currency set for the Application linked to this session. - [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered for rule evaluation. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one).
2458
+ # @param customer_session_id [String] The &#x60;integration ID&#x60; of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager&#39;s **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint.
2459
+ # @param integration_request [IntegrationRequest] body
2460
+ # @param [Hash] opts the optional parameters
2461
+ # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;. When set to &#x60;true&#x60;: - The endpoint considers **only** the payload that you pass when **closing** the session. When you do not use the &#x60;dry&#x60; parameter, the endpoint behaves as a typical PUT endpoint. Each update builds upon the previous ones. - You can use the &#x60;evaluableCampaignIds&#x60; body property to select specific campaigns to run. [See the docs](https://docs.talon.one/docs/dev/integration-api/dry-requests).
2462
+ # @option opts [Time] :now A timestamp value of a future date that acts as a current date when included in the query. Use this parameter, for example, to test campaigns that would be evaluated for this customer session in the future (say, [scheduled campaigns](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-schedule)). **Note:** - It must be an RFC3339 timestamp string. - It can **only** be a date in the future. - It can **only** be used if the &#x60;dry&#x60; parameter in the query is set to &#x60;true&#x60;.
2463
+ # @return [IntegrationStateV2]
2464
+ def update_customer_session_v2(customer_session_id, integration_request, opts = {})
2465
+ data, _status_code, _headers = update_customer_session_v2_with_http_info(customer_session_id, integration_request, opts)
2466
+ data
2467
+ end
2468
+
2469
+ # Update customer session
2470
+ # Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer&#39;s cart with Talon.One. **Note:** - The currency for the session and the cart items in it is the currency set for the Application linked to this session. - [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered for rule evaluation. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions) and their states and refer to the &#x60;state&#x60; parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the &#x60;profileId&#x60; parameter in the request body to a customer profile&#39;s &#x60;integrationId&#x60;. - While you can create an anonymous session with &#x60;profileId&#x3D;\&quot;\&quot;&#x60;, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). &lt;div class&#x3D;\&quot;redoc-section\&quot;&gt; &lt;p class&#x3D;\&quot;title\&quot;&gt;Performance tips&lt;/p&gt; - Updating a customer session returns a response with the new integration state. Use the &#x60;responseContent&#x60; property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). &lt;/div&gt; For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one).
2471
+ # @param customer_session_id [String] The &#x60;integration ID&#x60; of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager&#39;s **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint.
2472
+ # @param integration_request [IntegrationRequest] body
2473
+ # @param [Hash] opts the optional parameters
2474
+ # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;. When set to &#x60;true&#x60;: - The endpoint considers **only** the payload that you pass when **closing** the session. When you do not use the &#x60;dry&#x60; parameter, the endpoint behaves as a typical PUT endpoint. Each update builds upon the previous ones. - You can use the &#x60;evaluableCampaignIds&#x60; body property to select specific campaigns to run. [See the docs](https://docs.talon.one/docs/dev/integration-api/dry-requests).
2475
+ # @option opts [Time] :now A timestamp value of a future date that acts as a current date when included in the query. Use this parameter, for example, to test campaigns that would be evaluated for this customer session in the future (say, [scheduled campaigns](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-schedule)). **Note:** - It must be an RFC3339 timestamp string. - It can **only** be a date in the future. - It can **only** be used if the &#x60;dry&#x60; parameter in the query is set to &#x60;true&#x60;.
2476
+ # @return [Array<(IntegrationStateV2, Integer, Hash)>] IntegrationStateV2 data, response status code and response headers
2477
+ def update_customer_session_v2_with_http_info(customer_session_id, integration_request, opts = {})
2478
+ if @api_client.config.debugging
2479
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_session_v2 ...'
2480
+ end
2481
+ # verify the required parameter 'customer_session_id' is set
2482
+ if @api_client.config.client_side_validation && customer_session_id.nil?
2483
+ fail ArgumentError, "Missing the required parameter 'customer_session_id' when calling IntegrationApi.update_customer_session_v2"
2484
+ end
2485
+ # verify the required parameter 'integration_request' is set
2486
+ if @api_client.config.client_side_validation && integration_request.nil?
2487
+ fail ArgumentError, "Missing the required parameter 'integration_request' when calling IntegrationApi.update_customer_session_v2"
2488
+ end
2489
+ # resource path
2490
+ local_var_path = '/v2/customer_sessions/{customerSessionId}'.sub('{' + 'customerSessionId' + '}', CGI.escape(customer_session_id.to_s))
2491
+
2492
+ # query parameters
2493
+ query_params = opts[:query_params] || {}
2494
+ query_params[:'dry'] = opts[:'dry'] if !opts[:'dry'].nil?
2495
+ query_params[:'now'] = opts[:'now'] if !opts[:'now'].nil?
2496
+
2497
+ # header parameters
2498
+ header_params = opts[:header_params] || {}
2499
+ # HTTP header 'Accept' (if needed)
2500
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2501
+ # HTTP header 'Content-Type'
2502
+ content_type = @api_client.select_header_content_type(['application/json'])
2503
+ if !content_type.nil?
2504
+ header_params['Content-Type'] = content_type
2505
+ end
2506
+
2507
+ # form parameters
2508
+ form_params = opts[:form_params] || {}
2509
+
2510
+ # http body (model)
2511
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(integration_request)
2512
+
2513
+ # return_type
2514
+ return_type = opts[:debug_return_type] || 'IntegrationStateV2'
2515
+
2516
+ # auth_names
2517
+ auth_names = opts[:debug_auth_names] || ['api_key_v1']
2518
+
2519
+ new_options = opts.merge(
2520
+ :operation => :"IntegrationApi.update_customer_session_v2",
2521
+ :header_params => header_params,
2522
+ :query_params => query_params,
2523
+ :form_params => form_params,
2524
+ :body => post_body,
2525
+ :auth_names => auth_names,
2526
+ :return_type => return_type
2527
+ )
2528
+
2529
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
2530
+ if @api_client.config.debugging
2531
+ @api_client.config.logger.debug "API called: IntegrationApi#update_customer_session_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2532
+ end
2533
+ return data, status_code, headers
2534
+ end
2535
+ end
2536
+ end