From 1d3ce16f65d5553e52ed980e6c39be0c087b71ac Mon Sep 17 00:00:00 2001
From: Talon-One SDK Generator
Date: Fri, 16 Jan 2026 13:16:55 +0000
Subject: [PATCH] update to 14.1.1
---
README.md | 37 +-
api/openapi.yaml | 2419 ++++++++++++++---
build.gradle | 2 +-
build.sbt | 2 +-
docs/ActivateLoyaltyPoints.md | 14 +
docs/ActivateLoyaltyPointsResponse.md | 12 +
docs/AddLoyaltyPoints.md | 2 +-
docs/AddLoyaltyPointsEffectProps.md | 2 +
docs/AddedDeductedPointsBalancesAction.md | 25 +
...AddedDeductedPointsBalancesNotification.md | 39 +
docs/AddedDeductedPointsNotification.md | 32 +-
docs/AsyncCouponsData.md | 10 +-
docs/BestPriorPriceRequest.md | 4 +-
docs/BestPriorTarget.md | 23 +
docs/CampaignCollectionEditedNotification.md | 10 +-
docs/CampaignCreatedNotification.md | 10 +-
docs/CampaignDeletedNotification.md | 10 +-
docs/CampaignEditedNotification.md | 10 +-
docs/CampaignEvaluationTreeChangedMessage.md | 10 +-
docs/CampaignLogSummary.md | 27 +
docs/CampaignNotificationBase.md | 10 +-
docs/CampaignNotificationGeneric.md | 10 +-
docs/CampaignRulesetChangedNotification.md | 10 +-
docs/CampaignStateChangedNotification.md | 10 +-
docs/CampaignTemplate.md | 1 +
docs/CampaignTemplateParams.md | 1 +
...AddedDeductedPointsBalancesNotification.md | 41 +
docs/CardAddedDeductedPointsNotification.md | 36 +-
docs/CardLedgerPointsEntryIntegrationAPI.md | 1 +
...LedgerTransactionLogEntryIntegrationAPI.md | 3 +-
docs/CouponFailureSummary.md | 23 +
docs/CouponRejections.md | 14 +
docs/CouponsNotificationData.md | 11 +-
docs/CreateCouponData.md | 10 +-
docs/DeleteCouponsData.md | 10 +-
docs/DeleteLoyaltyTransactionsRequest.md | 23 +
docs/EventV3.md | 19 +
docs/GenerateCampaignSummary.md | 14 +
docs/IntegrationApi.md | 186 +-
docs/IntegrationEventV3Request.md | 34 +
docs/IntegrationEventV3Response.md | 21 +
docs/IntegrationProfileEntityV3.md | 12 +
docs/LedgerPointsEntryIntegrationAPI.md | 1 +
...LedgerTransactionLogEntryIntegrationAPI.md | 3 +-
docs/LoyaltyLedgerEntry.md | 1 +
docs/LoyaltyProgram.md | 1 -
docs/LoyaltyProgramTransaction.md | 3 +-
docs/ManagementApi.md | 238 +-
docs/ManagementKey.md | 1 +
docs/NewManagementKey.md | 1 +
docs/NewMessageTest.md | 1 +
docs/PrismaticConfig.md | 14 +
...ticEventPayloadCouponBasedNotifications.md | 31 +
...ntPayloadCouponBasedNotificationsLimits.md | 15 +
...PayloadLoyaltyProfileBasedNotifications.md | 26 +
...dLoyaltyProfileBasedNotificationsAction.md | 25 +
docs/PrismaticFlow.md | 14 +
docs/PrismaticFlowConfig.md | 12 +
docs/PrismaticFlowWithConfig.md | 15 +
docs/PrismaticPaginatedEventPayload.md | 27 +
docs/ReturnedCartItem.md | 3 +-
docs/RoleV2.md | 1 +
docs/RoleV2Readonly.md | 12 +
docs/SessionCoupons.md | 13 +
docs/StrikethroughLabelingNotification.md | 11 +-
...oughSetDiscountPerItemMemberEffectProps.md | 14 +
docs/UpdateCouponsData.md | 10 +-
pom.xml | 2 +-
src/main/java/one/talon/ApiClient.java | 2 +-
.../java/one/talon/api/IntegrationApi.java | 364 ++-
.../java/one/talon/api/ManagementApi.java | 513 +++-
.../talon/model/ActivateLoyaltyPoints.java | 140 +
.../model/ActivateLoyaltyPointsResponse.java | 110 +
.../one/talon/model/AddLoyaltyPoints.java | 4 +-
.../model/AddLoyaltyPointsEffectProps.java | 62 +-
.../AddedDeductedPointsBalancesAction.java | 261 ++
...dedDeductedPointsBalancesNotification.java | 454 ++++
.../AddedDeductedPointsNotification.java | 381 ++-
.../one/talon/model/AsyncCouponsData.java | 53 +-
.../talon/model/BestPriorPriceRequest.java | 18 +-
.../java/one/talon/model/BestPriorTarget.java | 175 ++
.../CampaignCollectionEditedNotification.java | 53 +-
.../model/CampaignCreatedNotification.java | 53 +-
.../model/CampaignDeletedNotification.java | 53 +-
.../model/CampaignEditedNotification.java | 53 +-
.../CampaignEvaluationTreeChangedMessage.java | 53 +-
.../one/talon/model/CampaignLogSummary.java | 261 ++
.../talon/model/CampaignNotificationBase.java | 53 +-
.../model/CampaignNotificationGeneric.java | 53 +-
.../CampaignRulesetChangedNotification.java | 53 +-
.../CampaignStateChangedNotification.java | 53 +-
.../one/talon/model/CampaignTemplate.java | 31 +-
.../talon/model/CampaignTemplateParams.java | 2 +
...dedDeductedPointsBalancesNotification.java | 515 ++++
.../CardAddedDeductedPointsNotification.java | 443 ++-
.../CardLedgerPointsEntryIntegrationAPI.java | 33 +-
...dgerTransactionLogEntryIntegrationAPI.java | 37 +-
.../one/talon/model/CouponFailureSummary.java | 382 +++
.../one/talon/model/CouponRejections.java | 163 ++
.../talon/model/CouponsNotificationData.java | 55 +-
.../one/talon/model/CreateCouponData.java | 53 +-
.../one/talon/model/DeleteCouponsData.java | 53 +-
.../DeleteLoyaltyTransactionsRequest.java | 185 ++
src/main/java/one/talon/model/EventV3.java | 309 +++
.../talon/model/GenerateCampaignSummary.java | 154 ++
.../model/IntegrationEventV3Request.java | 438 +++
.../model/IntegrationEventV3Response.java | 379 +++
.../model/IntegrationProfileEntityV3.java | 98 +
.../LedgerPointsEntryIntegrationAPI.java | 33 +-
...dgerTransactionLogEntryIntegrationAPI.java | 37 +-
.../one/talon/model/LoyaltyLedgerEntry.java | 33 +-
.../java/one/talon/model/LoyaltyProgram.java | 31 +-
.../model/LoyaltyProgramTransaction.java | 37 +-
.../java/one/talon/model/ManagementKey.java | 33 +-
.../one/talon/model/NewManagementKey.java | 31 +-
.../java/one/talon/model/NewMessageTest.java | 33 +-
.../java/one/talon/model/PrismaticConfig.java | 127 +
...cEventPayloadCouponBasedNotifications.java | 654 +++++
...PayloadCouponBasedNotificationsLimits.java | 190 ++
...yloadLoyaltyProfileBasedNotifications.java | 512 ++++
...oyaltyProfileBasedNotificationsAction.java | 261 ++
.../java/one/talon/model/PrismaticFlow.java | 155 ++
.../one/talon/model/PrismaticFlowConfig.java | 98 +
.../talon/model/PrismaticFlowWithConfig.java | 184 ++
.../model/PrismaticPaginatedEventPayload.java | 216 ++
.../one/talon/model/ReturnedCartItem.java | 36 +-
src/main/java/one/talon/model/RoleV2.java | 33 +-
.../java/one/talon/model/RoleV2Readonly.java | 99 +
.../java/one/talon/model/SessionCoupons.java | 127 +
.../talon/model/StrikethroughChangedItem.java | 2 +-
.../StrikethroughLabelingNotification.java | 89 +-
...ghSetDiscountPerItemMemberEffectProps.java | 127 +
.../one/talon/model/UpdateCouponsData.java | 53 +-
.../one/talon/api/IntegrationApiTest.java | 47 +-
.../java/one/talon/api/ManagementApiTest.java | 66 +-
.../ActivateLoyaltyPointsResponseTest.java | 54 +
.../model/ActivateLoyaltyPointsTest.java | 62 +
.../AddLoyaltyPointsEffectPropsTest.java | 16 +
...AddedDeductedPointsBalancesActionTest.java | 85 +
...eductedPointsBalancesNotificationTest.java | 127 +
.../AddedDeductedPointsNotificationTest.java | 66 +-
.../model/BestPriorPriceRequestTest.java | 2 +-
.../one/talon/model/BestPriorTargetTest.java | 59 +
.../talon/model/CampaignLogSummaryTest.java | 84 +
.../one/talon/model/CampaignTemplateTest.java | 8 +
...eductedPointsBalancesNotificationTest.java | 143 +
...rdAddedDeductedPointsNotificationTest.java | 82 +-
...rdLedgerPointsEntryIntegrationAPITest.java | 8 +
...TransactionLogEntryIntegrationAPITest.java | 8 +
.../talon/model/CouponFailureSummaryTest.java | 132 +
.../one/talon/model/CouponRejectionsTest.java | 70 +
.../DeleteLoyaltyTransactionsRequestTest.java | 61 +
.../java/one/talon/model/EventV3Test.java | 109 +
.../model/GenerateCampaignSummaryTest.java | 67 +
.../model/IntegrationEventV3RequestTest.java | 125 +
.../model/IntegrationEventV3ResponseTest.java | 126 +
.../model/IntegrationProfileEntityV3Test.java | 51 +
.../LedgerPointsEntryIntegrationAPITest.java | 8 +
...TransactionLogEntryIntegrationAPITest.java | 8 +
.../talon/model/LoyaltyLedgerEntryTest.java | 8 +
.../one/talon/model/LoyaltyProgramTest.java | 8 -
.../model/LoyaltyProgramTransactionTest.java | 8 +
.../one/talon/model/ManagementKeyTest.java | 8 +
.../one/talon/model/NewManagementKeyTest.java | 8 +
.../one/talon/model/NewMessageTestTest.java | 8 +
.../one/talon/model/PrismaticConfigTest.java | 59 +
...oadCouponBasedNotificationsLimitsTest.java | 77 +
...ntPayloadCouponBasedNotificationsTest.java | 207 ++
...tyProfileBasedNotificationsActionTest.java | 84 +
...dLoyaltyProfileBasedNotificationsTest.java | 167 ++
.../talon/model/PrismaticFlowConfigTest.java | 51 +
.../one/talon/model/PrismaticFlowTest.java | 67 +
.../model/PrismaticFlowWithConfigTest.java | 76 +
.../PrismaticPaginatedEventPayloadTest.java | 69 +
.../one/talon/model/ReturnedCartItemTest.java | 8 +
.../one/talon/model/RoleV2ReadonlyTest.java | 51 +
src/test/java/one/talon/model/RoleV2Test.java | 8 +
.../one/talon/model/SessionCouponsTest.java | 59 +
...StrikethroughLabelingNotificationTest.java | 8 +
...tDiscountPerItemMemberEffectPropsTest.java | 59 +
180 files changed, 15069 insertions(+), 1234 deletions(-)
create mode 100644 docs/ActivateLoyaltyPoints.md
create mode 100644 docs/ActivateLoyaltyPointsResponse.md
create mode 100644 docs/AddedDeductedPointsBalancesAction.md
create mode 100644 docs/AddedDeductedPointsBalancesNotification.md
create mode 100644 docs/BestPriorTarget.md
create mode 100644 docs/CampaignLogSummary.md
create mode 100644 docs/CardAddedDeductedPointsBalancesNotification.md
create mode 100644 docs/CouponFailureSummary.md
create mode 100644 docs/CouponRejections.md
create mode 100644 docs/DeleteLoyaltyTransactionsRequest.md
create mode 100644 docs/EventV3.md
create mode 100644 docs/GenerateCampaignSummary.md
create mode 100644 docs/IntegrationEventV3Request.md
create mode 100644 docs/IntegrationEventV3Response.md
create mode 100644 docs/IntegrationProfileEntityV3.md
create mode 100644 docs/PrismaticConfig.md
create mode 100644 docs/PrismaticEventPayloadCouponBasedNotifications.md
create mode 100644 docs/PrismaticEventPayloadCouponBasedNotificationsLimits.md
create mode 100644 docs/PrismaticEventPayloadLoyaltyProfileBasedNotifications.md
create mode 100644 docs/PrismaticEventPayloadLoyaltyProfileBasedNotificationsAction.md
create mode 100644 docs/PrismaticFlow.md
create mode 100644 docs/PrismaticFlowConfig.md
create mode 100644 docs/PrismaticFlowWithConfig.md
create mode 100644 docs/PrismaticPaginatedEventPayload.md
create mode 100644 docs/RoleV2Readonly.md
create mode 100644 docs/SessionCoupons.md
create mode 100644 docs/StrikethroughSetDiscountPerItemMemberEffectProps.md
create mode 100644 src/main/java/one/talon/model/ActivateLoyaltyPoints.java
create mode 100644 src/main/java/one/talon/model/ActivateLoyaltyPointsResponse.java
create mode 100644 src/main/java/one/talon/model/AddedDeductedPointsBalancesAction.java
create mode 100644 src/main/java/one/talon/model/AddedDeductedPointsBalancesNotification.java
create mode 100644 src/main/java/one/talon/model/BestPriorTarget.java
create mode 100644 src/main/java/one/talon/model/CampaignLogSummary.java
create mode 100644 src/main/java/one/talon/model/CardAddedDeductedPointsBalancesNotification.java
create mode 100644 src/main/java/one/talon/model/CouponFailureSummary.java
create mode 100644 src/main/java/one/talon/model/CouponRejections.java
create mode 100644 src/main/java/one/talon/model/DeleteLoyaltyTransactionsRequest.java
create mode 100644 src/main/java/one/talon/model/EventV3.java
create mode 100644 src/main/java/one/talon/model/GenerateCampaignSummary.java
create mode 100644 src/main/java/one/talon/model/IntegrationEventV3Request.java
create mode 100644 src/main/java/one/talon/model/IntegrationEventV3Response.java
create mode 100644 src/main/java/one/talon/model/IntegrationProfileEntityV3.java
create mode 100644 src/main/java/one/talon/model/PrismaticConfig.java
create mode 100644 src/main/java/one/talon/model/PrismaticEventPayloadCouponBasedNotifications.java
create mode 100644 src/main/java/one/talon/model/PrismaticEventPayloadCouponBasedNotificationsLimits.java
create mode 100644 src/main/java/one/talon/model/PrismaticEventPayloadLoyaltyProfileBasedNotifications.java
create mode 100644 src/main/java/one/talon/model/PrismaticEventPayloadLoyaltyProfileBasedNotificationsAction.java
create mode 100644 src/main/java/one/talon/model/PrismaticFlow.java
create mode 100644 src/main/java/one/talon/model/PrismaticFlowConfig.java
create mode 100644 src/main/java/one/talon/model/PrismaticFlowWithConfig.java
create mode 100644 src/main/java/one/talon/model/PrismaticPaginatedEventPayload.java
create mode 100644 src/main/java/one/talon/model/RoleV2Readonly.java
create mode 100644 src/main/java/one/talon/model/SessionCoupons.java
create mode 100644 src/main/java/one/talon/model/StrikethroughSetDiscountPerItemMemberEffectProps.java
create mode 100644 src/test/java/one/talon/model/ActivateLoyaltyPointsResponseTest.java
create mode 100644 src/test/java/one/talon/model/ActivateLoyaltyPointsTest.java
create mode 100644 src/test/java/one/talon/model/AddedDeductedPointsBalancesActionTest.java
create mode 100644 src/test/java/one/talon/model/AddedDeductedPointsBalancesNotificationTest.java
create mode 100644 src/test/java/one/talon/model/BestPriorTargetTest.java
create mode 100644 src/test/java/one/talon/model/CampaignLogSummaryTest.java
create mode 100644 src/test/java/one/talon/model/CardAddedDeductedPointsBalancesNotificationTest.java
create mode 100644 src/test/java/one/talon/model/CouponFailureSummaryTest.java
create mode 100644 src/test/java/one/talon/model/CouponRejectionsTest.java
create mode 100644 src/test/java/one/talon/model/DeleteLoyaltyTransactionsRequestTest.java
create mode 100644 src/test/java/one/talon/model/EventV3Test.java
create mode 100644 src/test/java/one/talon/model/GenerateCampaignSummaryTest.java
create mode 100644 src/test/java/one/talon/model/IntegrationEventV3RequestTest.java
create mode 100644 src/test/java/one/talon/model/IntegrationEventV3ResponseTest.java
create mode 100644 src/test/java/one/talon/model/IntegrationProfileEntityV3Test.java
create mode 100644 src/test/java/one/talon/model/PrismaticConfigTest.java
create mode 100644 src/test/java/one/talon/model/PrismaticEventPayloadCouponBasedNotificationsLimitsTest.java
create mode 100644 src/test/java/one/talon/model/PrismaticEventPayloadCouponBasedNotificationsTest.java
create mode 100644 src/test/java/one/talon/model/PrismaticEventPayloadLoyaltyProfileBasedNotificationsActionTest.java
create mode 100644 src/test/java/one/talon/model/PrismaticEventPayloadLoyaltyProfileBasedNotificationsTest.java
create mode 100644 src/test/java/one/talon/model/PrismaticFlowConfigTest.java
create mode 100644 src/test/java/one/talon/model/PrismaticFlowTest.java
create mode 100644 src/test/java/one/talon/model/PrismaticFlowWithConfigTest.java
create mode 100644 src/test/java/one/talon/model/PrismaticPaginatedEventPayloadTest.java
create mode 100644 src/test/java/one/talon/model/RoleV2ReadonlyTest.java
create mode 100644 src/test/java/one/talon/model/SessionCouponsTest.java
create mode 100644 src/test/java/one/talon/model/StrikethroughSetDiscountPerItemMemberEffectPropsTest.java
diff --git a/README.md b/README.md
index c840cc1e..5e4f43aa 100644
--- a/README.md
+++ b/README.md
@@ -35,7 +35,7 @@ Add this dependency to your project's POM:
one.talon
talon-one-client
- 14.1.0
+ 14.1.1
compile
```
@@ -45,7 +45,7 @@ Add this dependency to your project's POM:
Add this dependency to your project's build file:
```groovy
-compile "one.talon:talon-one-client:14.1.0"
+compile "one.talon:talon-one-client:14.1.1"
```
### Others
@@ -191,6 +191,7 @@ All URLs are relative to `https://yourbaseurl.talon.one`.
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
+*IntegrationApi* | [**activateLoyaltyPoints**](docs/IntegrationApi.md#activateLoyaltyPoints) | **POST** /v1/loyalty_programs/{loyaltyProgramId}/activate_points | Activate loyalty points
*IntegrationApi* | [**bestPriorPrice**](docs/IntegrationApi.md#bestPriorPrice) | **POST** /v1/best_prior_price | Fetch best prior price
*IntegrationApi* | [**createAudienceV2**](docs/IntegrationApi.md#createAudienceV2) | **POST** /v2/audiences | Create audience
*IntegrationApi* | [**createCouponReservation**](docs/IntegrationApi.md#createCouponReservation) | **POST** /v1/coupon_reservations/{couponValue} | Create coupon reservation
@@ -217,6 +218,7 @@ Class | Method | HTTP request | Description
*IntegrationApi* | [**returnCartItems**](docs/IntegrationApi.md#returnCartItems) | **POST** /v2/customer_sessions/{customerSessionId}/returns | Return cart items
*IntegrationApi* | [**syncCatalog**](docs/IntegrationApi.md#syncCatalog) | **PUT** /v1/catalogs/{catalogId}/sync | Sync cart item catalog
*IntegrationApi* | [**trackEventV2**](docs/IntegrationApi.md#trackEventV2) | **POST** /v2/events | Track event
+*IntegrationApi* | [**unlinkLoyaltyCardFromProfile**](docs/IntegrationApi.md#unlinkLoyaltyCardFromProfile) | **POST** /v2/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/unlink_profile | Unlink customer profile from a loyalty card
*IntegrationApi* | [**updateAudienceCustomersAttributes**](docs/IntegrationApi.md#updateAudienceCustomersAttributes) | **PUT** /v2/audience_customers/{audienceId}/attributes | Update profile attributes for all customers in audience
*IntegrationApi* | [**updateAudienceV2**](docs/IntegrationApi.md#updateAudienceV2) | **PUT** /v2/audiences/{audienceId} | Update audience name
*IntegrationApi* | [**updateCustomerProfileAudiences**](docs/IntegrationApi.md#updateCustomerProfileAudiences) | **POST** /v2/customer_audiences | Update multiple customer profiles' audiences
@@ -325,8 +327,10 @@ Class | Method | HTTP request | Description
*ManagementApi* | [**getLoyaltyCard**](docs/ManagementApi.md#getLoyaltyCard) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId} | Get loyalty card
*ManagementApi* | [**getLoyaltyCardTransactionLogs**](docs/ManagementApi.md#getLoyaltyCardTransactionLogs) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/logs | List card's transactions
*ManagementApi* | [**getLoyaltyCards**](docs/ManagementApi.md#getLoyaltyCards) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/cards | List loyalty cards
+*ManagementApi* | [**getLoyaltyLedgerBalances**](docs/ManagementApi.md#getLoyaltyLedgerBalances) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/ledger_balances | Get customer's loyalty balances
*ManagementApi* | [**getLoyaltyPoints**](docs/ManagementApi.md#getLoyaltyPoints) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId} | Get customer's full loyalty ledger
*ManagementApi* | [**getLoyaltyProgram**](docs/ManagementApi.md#getLoyaltyProgram) | **GET** /v1/loyalty_programs/{loyaltyProgramId} | Get loyalty program
+*ManagementApi* | [**getLoyaltyProgramProfileLedgerTransactions**](docs/ManagementApi.md#getLoyaltyProgramProfileLedgerTransactions) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/ledger_transactions | List customer's loyalty transactions
*ManagementApi* | [**getLoyaltyProgramTransactions**](docs/ManagementApi.md#getLoyaltyProgramTransactions) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/transactions | List loyalty program transactions
*ManagementApi* | [**getLoyaltyPrograms**](docs/ManagementApi.md#getLoyaltyPrograms) | **GET** /v1/loyalty_programs | List loyalty programs
*ManagementApi* | [**getLoyaltyStatistics**](docs/ManagementApi.md#getLoyaltyStatistics) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/statistics | Get loyalty program statistics
@@ -420,12 +424,16 @@ Class | Method | HTTP request | Description
- [AchievementProgress](docs/AchievementProgress.md)
- [AchievementProgressWithDefinition](docs/AchievementProgressWithDefinition.md)
- [AchievementStatusEntry](docs/AchievementStatusEntry.md)
+- [ActivateLoyaltyPoints](docs/ActivateLoyaltyPoints.md)
+- [ActivateLoyaltyPointsResponse](docs/ActivateLoyaltyPointsResponse.md)
- [AddFreeItemEffectProps](docs/AddFreeItemEffectProps.md)
- [AddItemCatalogAction](docs/AddItemCatalogAction.md)
- [AddLoyaltyPoints](docs/AddLoyaltyPoints.md)
- [AddLoyaltyPointsEffectProps](docs/AddLoyaltyPointsEffectProps.md)
- [AddPriceAdjustmentCatalogAction](docs/AddPriceAdjustmentCatalogAction.md)
- [AddToAudienceEffectProps](docs/AddToAudienceEffectProps.md)
+- [AddedDeductedPointsBalancesAction](docs/AddedDeductedPointsBalancesAction.md)
+- [AddedDeductedPointsBalancesNotification](docs/AddedDeductedPointsBalancesNotification.md)
- [AddedDeductedPointsBalancesNotificationPolicy](docs/AddedDeductedPointsBalancesNotificationPolicy.md)
- [AddedDeductedPointsNotification](docs/AddedDeductedPointsNotification.md)
- [AddedDeductedPointsNotificationPolicy](docs/AddedDeductedPointsNotificationPolicy.md)
@@ -478,7 +486,7 @@ Class | Method | HTTP request | Description
- [BestPriorPrice](docs/BestPriorPrice.md)
- [BestPriorPriceMetadata](docs/BestPriorPriceMetadata.md)
- [BestPriorPriceRequest](docs/BestPriorPriceRequest.md)
-- [BestPriorPriceRequestTarget](docs/BestPriorPriceRequestTarget.md)
+- [BestPriorTarget](docs/BestPriorTarget.md)
- [Binding](docs/Binding.md)
- [BulkApplicationNotification](docs/BulkApplicationNotification.md)
- [BulkOperationOnCampaigns](docs/BulkOperationOnCampaigns.md)
@@ -506,6 +514,7 @@ Class | Method | HTTP request | Description
- [CampaignEvaluationTreeChangedNotification](docs/CampaignEvaluationTreeChangedNotification.md)
- [CampaignGroup](docs/CampaignGroup.md)
- [CampaignGroupEntity](docs/CampaignGroupEntity.md)
+- [CampaignLogSummary](docs/CampaignLogSummary.md)
- [CampaignNotificationBase](docs/CampaignNotificationBase.md)
- [CampaignNotificationGeneric](docs/CampaignNotificationGeneric.md)
- [CampaignNotificationItemBase](docs/CampaignNotificationItemBase.md)
@@ -526,6 +535,7 @@ Class | Method | HTTP request | Description
- [CampaignTemplateCouponReservationSettings](docs/CampaignTemplateCouponReservationSettings.md)
- [CampaignTemplateParams](docs/CampaignTemplateParams.md)
- [CampaignVersions](docs/CampaignVersions.md)
+- [CardAddedDeductedPointsBalancesNotification](docs/CardAddedDeductedPointsBalancesNotification.md)
- [CardAddedDeductedPointsBalancesNotificationPolicy](docs/CardAddedDeductedPointsBalancesNotificationPolicy.md)
- [CardAddedDeductedPointsNotification](docs/CardAddedDeductedPointsNotification.md)
- [CardAddedDeductedPointsNotificationPolicy](docs/CardAddedDeductedPointsNotificationPolicy.md)
@@ -555,8 +565,10 @@ Class | Method | HTTP request | Description
- [CouponDeletionFilters](docs/CouponDeletionFilters.md)
- [CouponDeletionJob](docs/CouponDeletionJob.md)
- [CouponEntity](docs/CouponEntity.md)
+- [CouponFailureSummary](docs/CouponFailureSummary.md)
- [CouponLimitConfigs](docs/CouponLimitConfigs.md)
- [CouponRejectionReason](docs/CouponRejectionReason.md)
+- [CouponRejections](docs/CouponRejections.md)
- [CouponReservations](docs/CouponReservations.md)
- [CouponSearch](docs/CouponSearch.md)
- [CouponValue](docs/CouponValue.md)
@@ -586,6 +598,7 @@ Class | Method | HTTP request | Description
- [DeductLoyaltyPoints](docs/DeductLoyaltyPoints.md)
- [DeductLoyaltyPointsEffectProps](docs/DeductLoyaltyPointsEffectProps.md)
- [DeleteCouponsData](docs/DeleteCouponsData.md)
+- [DeleteLoyaltyTransactionsRequest](docs/DeleteLoyaltyTransactionsRequest.md)
- [DeleteUserRequest](docs/DeleteUserRequest.md)
- [Effect](docs/Effect.md)
- [EffectEntity](docs/EffectEntity.md)
@@ -602,6 +615,7 @@ Class | Method | HTTP request | Description
- [Event](docs/Event.md)
- [EventType](docs/EventType.md)
- [EventV2](docs/EventV2.md)
+- [EventV3](docs/EventV3.md)
- [ExpiringCardPointsData](docs/ExpiringCardPointsData.md)
- [ExpiringCardPointsNotification](docs/ExpiringCardPointsNotification.md)
- [ExpiringCouponsData](docs/ExpiringCouponsData.md)
@@ -621,6 +635,7 @@ Class | Method | HTTP request | Description
- [FunctionDef](docs/FunctionDef.md)
- [GenerateAuditLogSummary](docs/GenerateAuditLogSummary.md)
- [GenerateCampaignDescription](docs/GenerateCampaignDescription.md)
+- [GenerateCampaignSummary](docs/GenerateCampaignSummary.md)
- [GenerateCampaignTags](docs/GenerateCampaignTags.md)
- [GenerateCouponFailureDetailedSummary](docs/GenerateCouponFailureDetailedSummary.md)
- [GenerateCouponFailureSummary](docs/GenerateCouponFailureSummary.md)
@@ -694,7 +709,10 @@ Class | Method | HTTP request | Description
- [IntegrationEntity](docs/IntegrationEntity.md)
- [IntegrationEvent](docs/IntegrationEvent.md)
- [IntegrationEventV2Request](docs/IntegrationEventV2Request.md)
+- [IntegrationEventV3Request](docs/IntegrationEventV3Request.md)
+- [IntegrationEventV3Response](docs/IntegrationEventV3Response.md)
- [IntegrationProfileEntity](docs/IntegrationProfileEntity.md)
+- [IntegrationProfileEntityV3](docs/IntegrationProfileEntityV3.md)
- [IntegrationRequest](docs/IntegrationRequest.md)
- [IntegrationState](docs/IntegrationState.md)
- [IntegrationStateV2](docs/IntegrationStateV2.md)
@@ -702,7 +720,6 @@ Class | Method | HTTP request | Description
- [InventoryCoupon](docs/InventoryCoupon.md)
- [InventoryReferral](docs/InventoryReferral.md)
- [ItemAttribute](docs/ItemAttribute.md)
-- [JWT](docs/JWT.md)
- [LabelTargetAudience](docs/LabelTargetAudience.md)
- [LabelTargetNone](docs/LabelTargetNone.md)
- [LedgerEntry](docs/LedgerEntry.md)
@@ -850,6 +867,15 @@ Class | Method | HTTP request | Description
- [PriceType](docs/PriceType.md)
- [PriceTypeReferenceDetail](docs/PriceTypeReferenceDetail.md)
- [PriceTypeReferences](docs/PriceTypeReferences.md)
+- [PrismaticConfig](docs/PrismaticConfig.md)
+- [PrismaticEventPayloadCouponBasedNotifications](docs/PrismaticEventPayloadCouponBasedNotifications.md)
+- [PrismaticEventPayloadCouponBasedNotificationsLimits](docs/PrismaticEventPayloadCouponBasedNotificationsLimits.md)
+- [PrismaticEventPayloadLoyaltyProfileBasedNotifications](docs/PrismaticEventPayloadLoyaltyProfileBasedNotifications.md)
+- [PrismaticEventPayloadLoyaltyProfileBasedNotificationsAction](docs/PrismaticEventPayloadLoyaltyProfileBasedNotificationsAction.md)
+- [PrismaticFlow](docs/PrismaticFlow.md)
+- [PrismaticFlowConfig](docs/PrismaticFlowConfig.md)
+- [PrismaticFlowWithConfig](docs/PrismaticFlowWithConfig.md)
+- [PrismaticPaginatedEventPayload](docs/PrismaticPaginatedEventPayload.md)
- [Product](docs/Product.md)
- [ProductSearchMatch](docs/ProductSearchMatch.md)
- [ProductUnitAnalytics](docs/ProductUnitAnalytics.md)
@@ -883,6 +909,7 @@ Class | Method | HTTP request | Description
- [RoleV2Base](docs/RoleV2Base.md)
- [RoleV2PermissionSet](docs/RoleV2PermissionSet.md)
- [RoleV2Permissions](docs/RoleV2Permissions.md)
+- [RoleV2Readonly](docs/RoleV2Readonly.md)
- [RoleV2RolesGroup](docs/RoleV2RolesGroup.md)
- [RollbackAddedLoyaltyPointsEffectProps](docs/RollbackAddedLoyaltyPointsEffectProps.md)
- [RollbackCouponEffectProps](docs/RollbackCouponEffectProps.md)
@@ -921,6 +948,7 @@ Class | Method | HTTP request | Description
- [ScimUsersListResponse](docs/ScimUsersListResponse.md)
- [SecondaryDeployment](docs/SecondaryDeployment.md)
- [Session](docs/Session.md)
+- [SessionCoupons](docs/SessionCoupons.md)
- [SetDiscountEffectProps](docs/SetDiscountEffectProps.md)
- [SetDiscountPerAdditionalCostEffectProps](docs/SetDiscountPerAdditionalCostEffectProps.md)
- [SetDiscountPerAdditionalCostPerItemEffectProps](docs/SetDiscountPerAdditionalCostPerItemEffectProps.md)
@@ -938,6 +966,7 @@ Class | Method | HTTP request | Description
- [StrikethroughEffect](docs/StrikethroughEffect.md)
- [StrikethroughLabelingNotification](docs/StrikethroughLabelingNotification.md)
- [StrikethroughSetDiscountPerItemEffectProps](docs/StrikethroughSetDiscountPerItemEffectProps.md)
+- [StrikethroughSetDiscountPerItemMemberEffectProps](docs/StrikethroughSetDiscountPerItemMemberEffectProps.md)
- [StrikethroughTrigger](docs/StrikethroughTrigger.md)
- [SummaryCampaignStoreBudget](docs/SummaryCampaignStoreBudget.md)
- [TalangAttribute](docs/TalangAttribute.md)
diff --git a/api/openapi.yaml b/api/openapi.yaml
index c6496756..b22de642 100644
--- a/api/openapi.yaml
+++ b/api/openapi.yaml
@@ -68,20 +68,6 @@ tags:
See the [docs](https://docs.talon.one/docs/product/account/account-settings/managing-campaign-groups).
name: Campaign access groups
-- description: |
- Represents the [notifications](/docs/product/applications/application-notifications/overview)
- about campaign-related changes.
-
- **Note:** The value of the `NotificationType` property indicates the campaign change:
- - `CampaignNotification` signifies one of the following events:
- - [Campaign created](#tag/Campaign-notifications/operation/campaignCreatedNotification)
- - [Campaign state changed](#tag/Campaign-notifications/operation/campaignStateChangedNotification)
- - [Campaign rules changed](#tag/Campaign-notifications/operation/campaignRulesetChangedNotification)
- - [Campaign edited](#tag/Campaign-notifications/operation/campaignEditedNotification)
- - [Campaign collection edited](#tag/Campaign-notifications/operation/campaignCollectionEditedNotification)
- - [Campaign deleted](#tag/Campaign-notifications/operation/campaignDeletedNotification)
- - `CampaignEvaluationTreeChanged` signifies [Campaign evaluation tree changed](#tag/Campaign-notifications/operation/campaignEvaluationTreeChangedNotification).
- name: Campaign notifications
- description: |
Represents templates used to generate campaigns from.
name: Campaign templates
@@ -101,10 +87,6 @@ tags:
See the [docs](https://docs.talon.one/docs/product/campaigns/managing-collections).
name: Collections
-- description: |
- Represents the [notifications](/docs/product/applications/application-notifications/overview)
- about coupons.
- name: Coupon notifications
- description: |
Coupons are unique codes belonging to a particular campaign. They don't define any behavior on their own.
Instead the campaign ruleset can include rules that validate coupons and carry out particular effects.
@@ -148,18 +130,11 @@ tags:
See [the Product docs](https://docs.talon.one/docs/product/loyalty-programs/overview) for more information.
name: Loyalty
-- description: Represents the [notifications](/docs/product/loyalty-programs/loyalty-notifications/overview)
- about changes to loyalty points in card-based loyalty programs.
- name: Loyalty card notifications
- description: |
Represents loyalty cards.
[Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) allow your customers to collect and spend loyalty points within a card-based loyalty program.
name: Loyalty cards
-- description: |
- Represents the [notifications](/docs/product/loyalty-programs/loyalty-notifications/overview)
- about changes to loyalty points in profile-based loyalty programs.
- name: Loyalty notifications
- description: |
A referral is a code shared between a customer and a prospect.
@@ -185,10 +160,6 @@ tags:
- description: |
Represents physical or digital stores, branches, and franchises.
name: Stores
-- description: |
- Represents the [notifications](/docs/product/applications/application-notifications/overview)
- about strikethrough pricing updates.
- name: Strikethrough pricing notifications
- description: |
A way to send information from Talon.One to the URI of your choice.
@@ -435,10 +406,10 @@ paths:
\ Update attribute value\n Update cart item attribute\
\ value\n \n \n\n\n\nTo see an example of\
\ a rollback, see the Cancelling a session with campaign budgetstutorial.
\n\n**Note:**\
+ >Cancelling a session with campaign budgets tutorial.
\n\n**Note:**\
\ If your order workflow requires you to create a new session instead of reopening\
- \ a session, use the\n[Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)\
- \ endpoint to cancel\na closed session and create a new one.\n"
+ \ 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.\n"
operationId: reopenCustomerSession
parameters:
- description: |
@@ -939,6 +910,7 @@ paths:
required: true
schema:
maxLength: 108
+ minLength: 4
type: string
requestBody:
content:
@@ -980,6 +952,73 @@ paths:
x-codegen-request-body-name: body
x-contentType: application/json
x-accepts: application/json
+ /v2/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/unlink_profile:
+ post:
+ description: |
+ Unlink a customer profile from a [registered](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card) loyalty card.
+
+ To get the `integrationId` of a customer profile, you can use the
+ [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2)
+ endpoint.
+ operationId: unlinkLoyaltyCardFromProfile
+ parameters:
+ - description: |
+ The identifier of the card-based loyalty program containing the loyalty card. You can get this ID using the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
+ in: path
+ name: loyaltyProgramId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: |
+ The identifier of the loyalty card. You can get this ID using the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint.
+ in: path
+ name: loyaltyCardId
+ required: true
+ schema:
+ maxLength: 108
+ minLength: 4
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/LoyaltyCardRegistration'
+ description: body
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/LoyaltyCard'
+ description: OK
+ "400":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponseWithStatus'
+ description: Bad request
+ "401":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponseWithStatus'
+ description: Unauthorized
+ "404":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponseWithStatus'
+ description: Not found
+ security:
+ - api_key_v1: []
+ summary: Unlink customer profile from a loyalty card
+ tags:
+ - integration
+ x-codegen-request-body-name: body
+ x-contentType: application/json
+ x-accepts: application/json
/v2/events:
post:
description: |
@@ -1217,7 +1256,10 @@ paths:
coupon code.
operationId: deleteCouponReservation
parameters:
- - description: The code of the coupon.
+ - description: "The code of the coupon.\n\n**Important:** The coupon code requires\
+ \ [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) \nif\
+ \ it contains special characters.\nFor example, you must encode `SUMMER25%OFF`\
+ \ as `SUMMER25%25OFF`.\n"
in: path
name: couponValue
required: true
@@ -1262,28 +1304,48 @@ paths:
x-accepts: application/json
post:
description: |
- Create a coupon reservation for the specified customer profiles on the specified coupon.
+ 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.
+ [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.
+ - 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.
+ To delete a reservation, use the
+ [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint.
operationId: createCouponReservation
parameters:
- - description: The code of the coupon.
+ - description: "The code of the coupon.\n\n**Important:** The coupon code requires\
+ \ [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) \nif\
+ \ it contains special characters.\nFor example, you must encode `SUMMER25%OFF`\
+ \ as `SUMMER25%25OFF`.\n"
in: path
name: couponValue
required: true
@@ -1335,7 +1397,10 @@ paths:
Return all customers that have this coupon marked as reserved. This includes hard and soft reservations.
operationId: getReservedCustomers
parameters:
- - description: The code of the coupon.
+ - description: "The code of the coupon.\n\n**Important:** The coupon code requires\
+ \ [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) \nif\
+ \ it contains special characters.\nFor example, you must encode `SUMMER25%OFF`\
+ \ as `SUMMER25%25OFF`.\n"
in: path
name: couponValue
required: true
@@ -1687,6 +1752,7 @@ paths:
required: true
schema:
maxLength: 108
+ minLength: 4
type: string
- description: |
Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value.
@@ -1843,15 +1909,23 @@ paths:
tags:
- integration
x-accepts: application/json
- /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/transactions:
+ /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/ledger_balances:
get:
description: |
- 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.
- operationId: getLoyaltyCardTransactions
+ 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)
+ operationId: getLoyaltyLedgerBalances
parameters:
- description: |
- Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with
+ 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.
in: path
name: loyaltyProgramId
@@ -1860,50 +1934,18 @@ paths:
format: int64
type: integer
- description: |
- 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.
+ 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.
in: path
- name: loyaltyCardId
+ name: integrationId
required: true
schema:
- maxLength: 108
- type: string
- - description: Filter results by one or more subledger IDs. Must be exact match.
- explode: true
- in: query
- name: subledgerId
- schema:
- items:
- type: string
- type: array
- style: form
- - description: |
- Filter results by loyalty transaction type:
- - `manual`: Loyalty transaction that was done manually.
- - `session`: Loyalty transaction that resulted from a customer session.
- - `import`: Loyalty transaction that was imported from a CSV file.
- in: query
- name: loyaltyTransactionType
- schema:
- enum:
- - manual
- - session
- - import
- type: string
- - description: |
- 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered.
- in: query
- name: startDate
- schema:
- format: date-time
type: string
- description: |
- Date and time by which results are returned. Results are filtered by transaction creation date.
+ Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value.
**Note:**
@@ -1914,51 +1956,38 @@ paths:
schema:
format: date-time
type: string
- - description: "Filter the results by a list of customer session IDs. \n\nTo\
- \ include multiple IDs, repeat the parameter for each one, for example,\
- \ \n`?customerSessionIDs=id1&customerSessionIDs=id2`.\n\nThe response contains\
- \ only data associated with the specified sessions.\n"
- explode: true
- in: query
- name: customerSessionIDs
- schema:
- items:
- type: string
- type: array
- style: form
- - description: "Filter the results by a list of transaction UUIDs.\n\nTo include\
- \ multiple IDs, repeat the parameter for each one, for example, \n`?transactionUUIDs=uuid1&transactionUUIDs=uuid2`.\n\
- \nThe response contains only data associated with the specified transactions.\n"
- explode: true
+ - description: The ID of the subledger used to filter the data. Leave this value
+ empty ("") to query the main ledger.
in: query
- name: transactionUUIDs
+ name: subledgerId
schema:
- items:
- type: string
- type: array
- style: form
- - description: The number of items in the response.
+ type: string
+ - description: |
+ Indicates whether tier information is included in the response.
+
+ When set to `true`, the response includes information about the current tier and the number of points required to move to next tier.
in: query
- name: pageSize
+ name: includeTiers
schema:
- default: 50
- format: int64
- maximum: 1000
- minimum: 1
- type: integer
- - description: The number of items to skip when paging through large result
- sets.
+ default: false
+ type: boolean
+ - description: |
+ Indicates whether the customer's projected tier information is included in the response.
+
+ When set to `true`, the response includes information about the customer's active points and the name of the projected tier.
+
+ **Note** We recommend filtering by `subledgerId` for better performance.
in: query
- name: skip
+ name: includeProjectedTier
schema:
- format: int64
- type: integer
+ default: false
+ type: boolean
responses:
"200":
content:
application/json:
schema:
- $ref: '#/components/schemas/inline_response_200_3'
+ $ref: '#/components/schemas/LoyaltyBalancesWithTiers'
description: OK
"400":
content:
@@ -1978,25 +2007,19 @@ paths:
schema:
$ref: '#/components/schemas/ErrorResponseWithStatus'
description: Not found
- security:
- - api_key_v1: []
- summary: List card's transactions
+ summary: Get customer's loyalty balances
tags:
- - integration
+ - management
x-accepts: application/json
- /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/transactions:
+ /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/transactions:
get:
description: |
- 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.
- operationId: getLoyaltyProgramProfileTransactions
+ 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.
+ operationId: getLoyaltyCardTransactions
parameters:
- description: |
- Identifier of the profile-based loyalty program. You can get the ID with
+ 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.
in: path
name: loyaltyProgramId
@@ -2005,13 +2028,167 @@ paths:
format: int64
type: integer
- description: |
- 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.
+ 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.
in: path
- name: integrationId
+ name: loyaltyCardId
+ required: true
+ schema:
+ maxLength: 108
+ minLength: 4
+ type: string
+ - description: Filter results by one or more subledger IDs. Must be exact match.
+ explode: true
+ in: query
+ name: subledgerId
+ schema:
+ items:
+ type: string
+ type: array
+ style: form
+ - description: |
+ Filter results by loyalty transaction type:
+ - `manual`: Loyalty transaction that was done manually.
+ - `session`: Loyalty transaction that resulted from a customer session.
+ - `import`: Loyalty transaction that was imported from a CSV file.
+ in: query
+ name: loyaltyTransactionType
+ schema:
+ enum:
+ - manual
+ - session
+ - import
+ type: string
+ - description: |
+ 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered.
+ in: query
+ name: startDate
+ schema:
+ format: date-time
+ type: string
+ - description: |
+ 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered.
+ in: query
+ name: endDate
+ schema:
+ format: date-time
+ type: string
+ - description: "Filter the results by a list of customer session IDs. \n\nTo\
+ \ include multiple IDs, repeat the parameter for each one, for example,\
+ \ \n`?customerSessionIDs=id1&customerSessionIDs=id2`.\n\nThe response contains\
+ \ only data associated with the specified sessions.\n"
+ explode: true
+ in: query
+ name: customerSessionIDs
+ schema:
+ items:
+ type: string
+ type: array
+ style: form
+ - description: "Filter the results by a list of transaction UUIDs.\n\nTo include\
+ \ multiple IDs, repeat the parameter for each one, for example, \n`?transactionUUIDs=uuid1&transactionUUIDs=uuid2`.\n\
+ \nThe response contains only data associated with the specified transactions.\n"
+ explode: true
+ in: query
+ name: transactionUUIDs
+ schema:
+ items:
+ type: string
+ type: array
+ style: form
+ - description: The number of items in the response.
+ in: query
+ name: pageSize
+ schema:
+ default: 50
+ format: int64
+ maximum: 1000
+ minimum: 1
+ type: integer
+ - description: The number of items to skip when paging through large result
+ sets.
+ in: query
+ name: skip
+ schema:
+ format: int64
+ type: integer
+ - description: |
+ If `true`: Filters results to include only point transactions that have action-based activation and have not expired.
+
+ If `false`: Returns a `400` response.
+ in: query
+ name: awaitsActivation
+ schema:
+ type: boolean
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/inline_response_200_3'
+ description: OK
+ "400":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponseWithStatus'
+ description: Bad request
+ "401":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponseWithStatus'
+ description: Unauthorized
+ "404":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponseWithStatus'
+ description: Not found
+ security:
+ - api_key_v1: []
+ summary: List card's transactions
+ tags:
+ - integration
+ x-accepts: application/json
+ /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/transactions:
+ get:
+ description: |
+ 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.
+ operationId: getLoyaltyProgramProfileTransactions
+ parameters:
+ - description: |
+ 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.
+ in: path
+ name: loyaltyProgramId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: |
+ 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.
+ in: path
+ name: integrationId
required: true
schema:
type: string
@@ -2096,6 +2273,14 @@ paths:
schema:
format: int64
type: integer
+ - description: |
+ If `true`: Filters results to include only point transactions that have action-based activation and have not expired.
+
+ If `false`: Returns a `400` response.
+ in: query
+ name: awaitsActivation
+ schema:
+ type: boolean
responses:
"200":
content:
@@ -2127,6 +2312,156 @@ paths:
tags:
- integration
x-accepts: application/json
+ /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/ledger_transactions:
+ get:
+ description: |
+ Retrieve paginated results of loyalty transaction logs for the given Integration ID in the specified loyalty program.
+
+ You can filter transactions by date or by ledger (subledger or main ledger). 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.
+ operationId: getLoyaltyProgramProfileLedgerTransactions
+ parameters:
+ - description: |
+ 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.
+ in: path
+ name: loyaltyProgramId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: |
+ 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.
+ in: path
+ name: integrationId
+ required: true
+ schema:
+ type: string
+ - description: "Filter the results by a list of customer session IDs. \n\nTo\
+ \ include multiple IDs, repeat the parameter for each one, for example,\
+ \ \n`?customerSessionIDs=id1&customerSessionIDs=id2`.\n\nThe response contains\
+ \ only data associated with the specified sessions.\n"
+ explode: true
+ in: query
+ name: customerSessionIDs
+ schema:
+ items:
+ type: string
+ type: array
+ style: form
+ - description: "Filter the results by a list of transaction UUIDs.\n\nTo include\
+ \ multiple IDs, repeat the parameter for each one, for example, \n`?transactionUUIDs=uuid1&transactionUUIDs=uuid2`.\n\
+ \nThe response contains only data associated with the specified transactions.\n"
+ explode: true
+ in: query
+ name: transactionUUIDs
+ schema:
+ items:
+ type: string
+ type: array
+ style: form
+ - description: The ID of the subledger used to filter the data. Leave this value
+ empty ("") to query the main ledger.
+ in: query
+ name: subledgerId
+ schema:
+ type: string
+ - description: |
+ Filter results by loyalty transaction type:
+ - `manual`: Loyalty transaction that was done manually.
+ - `session`: Loyalty transaction that resulted from a customer session.
+ - `import`: Loyalty transaction that was imported from a CSV file.
+ in: query
+ name: loyaltyTransactionType
+ schema:
+ enum:
+ - manual
+ - session
+ - import
+ type: string
+ - description: |
+ 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered.
+ in: query
+ name: startDate
+ schema:
+ format: date-time
+ type: string
+ - description: |
+ 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered.
+ in: query
+ name: endDate
+ schema:
+ format: date-time
+ type: string
+ - description: The number of items in the response.
+ in: query
+ name: pageSize
+ schema:
+ default: 50
+ format: int64
+ maximum: 1000
+ minimum: 1
+ type: integer
+ - description: The number of items to skip when paging through large result
+ sets.
+ in: query
+ name: skip
+ schema:
+ format: int64
+ type: integer
+ - description: |
+ If `true`: Filters results to include only point transactions that have action-based activation and have not expired.
+
+ If `false`: Returns a `400` response.
+ in: query
+ name: awaitsActivation
+ schema:
+ type: boolean
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/inline_response_200_4'
+ description: OK
+ "400":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponseWithStatus'
+ description: Bad request
+ "401":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponseWithStatus'
+ description: Unauthorized
+ "404":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponseWithStatus'
+ description: Not found
+ summary: List customer's loyalty transactions
+ tags:
+ - management
+ x-accepts: application/json
/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/points:
get:
description: |
@@ -2155,6 +2490,7 @@ paths:
required: true
schema:
maxLength: 108
+ minLength: 4
type: string
- description: Filter points based on their status.
in: query
@@ -2537,6 +2873,38 @@ paths:
schema:
format: date-time
type: string
+ - description: Filter results comparing the parameter value, expected to be
+ an RFC3339 timestamp string, to the campaign start time timestamp. You can
+ use any time zone setting. Talon.One will convert to UTC internally.
+ in: query
+ name: startBefore
+ schema:
+ format: date-time
+ type: string
+ - description: Filter results comparing the parameter value, expected to be
+ an RFC3339 timestamp string, to the campaign start time timestamp. You can
+ use any time zone setting. Talon.One will convert to UTC internally.
+ in: query
+ name: startAfter
+ schema:
+ format: date-time
+ type: string
+ - description: Filter results comparing the parameter value, expected to be
+ an RFC3339 timestamp string, to the campaign end time timestamp. You can
+ use any time zone setting. Talon.One will convert to UTC internally.
+ in: query
+ name: endBefore
+ schema:
+ format: date-time
+ type: string
+ - description: Filter results comparing the parameter value, expected to be
+ an RFC3339 timestamp string, to the campaign end time timestamp. You can
+ use any time zone setting. Talon.One will convert to UTC internally.
+ in: query
+ name: endAfter
+ schema:
+ format: date-time
+ type: string
- description: Filter results to campaigns owned by the specified campaign access
group ID.
in: query
@@ -4226,6 +4594,64 @@ paths:
tags:
- management
x-accepts: application/json
+ /v1/loyalty_programs/{loyaltyProgramId}/activate_points:
+ post:
+ description: "Activate points when a defined action occurs.\n\nYou can activate\
+ \ pending points using one of the following parameters:\n- `sessionId`: Activates\
+ \ all points earned in the specified session. \n- `transactionUUIDs`: Activates\
+ \ points earned in the transactions specified by the \ngiven UUIDs. \n"
+ operationId: activateLoyaltyPoints
+ parameters:
+ - description: |
+ The identifier for the loyalty program. You can get the ID with the [List loyalty
+ programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms)
+ endpoint.
+ in: path
+ name: loyaltyProgramId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ActivateLoyaltyPoints'
+ description: body
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ActivateLoyaltyPointsResponse'
+ description: OK
+ "400":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponseWithStatus'
+ description: Bad request
+ "401":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponseWithStatus'
+ description: Unauthorized
+ "404":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponseWithStatus'
+ description: Not found
+ security:
+ - api_key_v1: []
+ summary: Activate loyalty points
+ tags:
+ - integration
+ x-codegen-request-body-name: body
+ x-contentType: application/json
+ x-accepts: application/json
/v1/loyalty_programs/{loyaltyProgramId}/dashboard:
get:
description: |
@@ -4287,50 +4713,49 @@ paths:
x-accepts: application/json
/v1/loyalty_programs/{loyaltyProgramId}/import_points:
post:
- description: |
- Upload a CSV file containing the loyalty points you want to import into a given loyalty program.
- Send the file as multipart data.
-
- Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card.
-
- The CSV file contains the following columns:
-
- - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported.
-
- **Note**: If the customer profile does not exist, it will be created. The profile will not be visible in any Application
- until a session or profile update is received for that profile.
- - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported.
- - `amount`: The amount of points to award to the customer profile.
- - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date.
-
- **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`.
- - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date.
-
- **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`.
- - `subledgerid` (optional): The ID of the subledger that should received the points.
- - `reason` (optional): The reason why these points are awarded.
-
- You can use the time zone of your choice. It is converted to UTC internally by Talon.One.
-
- **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the
- value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until
- the date provided for `startdate` is reached.
-
- **Note:** We recommend limiting your file size to 500MB.
-
- **Example for profile-based programs:**
-
- ```text
- customerprofileid,amount,startdate,expirydate,subledgerid,reason
- URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement
- ```
-
- **Example for card-based programs:**
-
- ```text
- identifier,amount,startdate,expirydate,subledgerid,reason
- summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement
- ```
+ description: "Upload a CSV file containing the loyalty points you want to import\
+ \ into a given loyalty program.\nSend the file as multipart data.\n\nDepending\
+ \ on the type of loyalty program, you can import points into a given customer\
+ \ profile or loyalty card.\n\nThe CSV file contains the following columns:\n\
+ \n- `customerprofileid` (optional): For profile-based loyalty programs, the\
+ \ integration ID of the customer profile where the loyalty points are imported.\n\
+ \n **Note**: If the customer profile does not exist, it will be created.\
+ \ The profile will not be visible in any Application\n until a session or\
+ \ profile update is received for that profile.\n- `identifier` (optional):\
+ \ For card-based loyalty programs, the identifier of the loyalty card where\
+ \ the loyalty points are imported.\n- `amount`: The amount of points to award\
+ \ to the customer profile.\n- `startdate` (optional): The earliest date when\
+ \ the points can be redeemed. The points are `active` from this date until\
+ \ the expiration date.\n\n This parameter accepts one of the following values:\n\
+ \ - A timestamp string in RFC3339 format.\n - `immediate`\n - `on_action`\n\
+ \ \n **Note**:\n Empty or missing values default to `immediate`.\n- `expirydate`\
+ \ (optional): The latest date when the points can be redeemed. The points\
+ \ are `expired` after this date.\n\n **Note**: It must be an RFC3339 timestamp\
+ \ string or string `unlimited`. Empty or missing values are considered `unlimited`.\n\
+ \ \n If passed, `validityDuration` should be omitted.\n- `validityDuration`\
+ \ (optional): The duration for which the points remain active, relative to\
+ \ the \n activation date.\n\n The time format is an **integer** followed\
+ \ by one letter indicating the time unit.\n\n\n Examples: `30s`, `40m`, `1h`,\
+ \ `5D`, `7W`, `10M`, `15Y`.\n\n\n Available units:\n\n\n - `s`: seconds\n\
+ \ - `m`: minutes\n - `h`: hours\n - `D`: days\n - `W`: weeks\n - `M`:\
+ \ months\n - `Y`: years\n\n\n You can round certain units up or down:\n\n\
+ \ - `_D` for rounding down days only. Signifies the start of the day.\n \
+ \ - `_U` for rounding up days, weeks, months and years. Signifies the end\
+ \ of\n the day, week, month or year.\n\n If passed, `expirydate` should\
+ \ be omitted.\n- `subledgerid` (optional): The ID of the subledger that should\
+ \ received the points.\n- `reason` (optional): The reason why these points\
+ \ are awarded.\n\nYou can use the time zone of your choice. It is converted\
+ \ to UTC internally by Talon.One.\n\n**Note:** For existing customer profiles\
+ \ and loyalty cards, the imported points are added to any previous active\
+ \ or pending points, depending on the\nvalue provided for `startdate`. If\
+ \ `startdate` matches the current date, the imported points are _active_.\
+ \ If it is later, the points are _pending_ until\nthe date provided for `startdate`\
+ \ is reached.\n\n**Note:** We recommend limiting your file size to 500MB.\n\
+ \n**Example for profile-based programs:**\n\n```text\ncustomerprofileid,amount,startdate,expirydate,subledgerid,reason\n\
+ URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement\n\
+ ```\n\n**Example for card-based programs:**\n\n```text\nidentifier,amount,startdate,expirydate,subledgerid,reason\n\
+ summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement\n\
+ ```\n"
operationId: importLoyaltyPoints
parameters:
- description: |
@@ -4455,6 +4880,7 @@ paths:
x-accepts: application/json
/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}:
get:
+ deprecated: true
description: |
Get the loyalty ledger for this profile integration ID.
@@ -5012,6 +5438,14 @@ paths:
schema:
format: int64
type: integer
+ - description: |
+ If `true`: Filters results to include only point transactions that have action-based activation and have not expired.
+
+ If `false`: Returns a `400` response.
+ in: query
+ name: awaitsActivation
+ schema:
+ type: boolean
responses:
"200":
content:
@@ -5468,6 +5902,7 @@ paths:
required: true
schema:
maxLength: 108
+ minLength: 4
type: string
responses:
"204":
@@ -5510,6 +5945,7 @@ paths:
required: true
schema:
maxLength: 108
+ minLength: 4
type: string
responses:
"200":
@@ -5562,6 +5998,7 @@ paths:
required: true
schema:
maxLength: 108
+ minLength: 4
type: string
requestBody:
content:
@@ -5624,6 +6061,7 @@ paths:
required: true
schema:
maxLength: 108
+ minLength: 4
type: string
requestBody:
content:
@@ -5683,6 +6121,7 @@ paths:
required: true
schema:
maxLength: 108
+ minLength: 4
type: string
requestBody:
content:
@@ -5744,6 +6183,7 @@ paths:
required: true
schema:
maxLength: 108
+ minLength: 4
type: string
- description: |
Only return results from after this timestamp.
@@ -5826,6 +6266,7 @@ paths:
required: true
schema:
maxLength: 108
+ minLength: 4
type: string
- description: |
Date and time from which results are returned. Results are filtered by transaction creation date.
@@ -5946,6 +6387,7 @@ paths:
required: true
schema:
maxLength: 108
+ minLength: 4
type: string
requestBody:
content:
@@ -8318,6 +8760,34 @@ paths:
name: entity
schema:
type: string
+ - description: Returned attributes will be filtered by supplied application
+ ids
+ in: query
+ name: applicationIds
+ schema:
+ type: string
+ - description: Returned attributes will be filtered by supplied type
+ in: query
+ name: type
+ schema:
+ type: string
+ - description: Returned attributes will be filtered by supplied kind (builtin
+ or custom)
+ in: query
+ name: kind
+ schema:
+ enum:
+ - builtin
+ - custom
+ type: string
+ x-generate-enum-go: true
+ x-generate-enum-go: true
+ - description: Returned attributes will be filtered by searching case insensitive
+ through Attribute name, description and type
+ in: query
+ name: search
+ schema:
+ type: string
responses:
"200":
content:
@@ -12286,6 +12756,8 @@ components:
properties:
NotificationType:
description: The type of the notification
+ enum:
+ - CampaignNotification
example: CampaignNotification
type: string
TotalResultSize:
@@ -12734,13 +13206,20 @@ components:
$ref: '#/components/schemas/StrikethroughChangedItem'
type: array
NotificationType:
- description: The type of the notification
+ description: The type of notification.
+ enum:
+ - StrikethroughPrice
+ type: string
+ sentAt:
+ description: Timestamp at which the notification was sent.
+ format: date-time
type: string
required:
- NotificationType
- applicationId
- changedItems
- currentBatch
+ - sentAt
- totalBatches
- trigger
type: object
@@ -12824,6 +13303,30 @@ components:
type: object
UpdateRoleV2:
$ref: '#/components/schemas/RoleV2Base'
+ PrismaticPaginatedEventPayload:
+ properties:
+ TotalResultSize:
+ format: int64
+ type: integer
+ EventType:
+ enum:
+ - LoyaltyPointsChanged
+ - LoyaltyTierDowngrade
+ - LoyaltyTierUpgrade
+ - CouponCreated
+ - CouponUpdated
+ - CouponDeleted
+ type: string
+ x-generate-enum-go: PrismaticEventType
+ Data:
+ items:
+ type: object
+ type: array
+ required:
+ - Data
+ - EventType
+ - TotalResultSize
+ type: object
Entity:
properties:
id:
@@ -14007,6 +14510,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
AddLoyaltyPointsEffectProps:
@@ -14059,6 +14563,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
bundleIndex:
@@ -14069,6 +14574,15 @@ components:
bundleName:
description: The name of the bundle definition.
type: string
+ awaitsActivation:
+ description: |
+ If `true`, the loyalty points remain pending until a specific action is complete. The `startDate` parameter automatically sets to `on_action`.
+ type: boolean
+ validityDuration:
+ description: "The duration for which the points remain active, calculated\
+ \ relative to the \nactivation date. \n\n**Note**: This value is returned\
+ \ only if `awaitsActivation` is `true` \nand `expiryDate` is not set.\n"
+ type: string
required:
- name
- programId
@@ -14110,6 +14624,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
required:
@@ -14308,6 +14823,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
required:
@@ -14355,6 +14871,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
required:
@@ -16036,6 +16553,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
usersPerCardLimit:
@@ -16068,6 +16586,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
newCardIdentifier:
@@ -16075,6 +16594,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
batchId:
@@ -18312,6 +18832,7 @@ components:
example:
quantity: 1
position: 2
+ sku: SKU1241028
properties:
position:
description: The index of the cart item in the provided customer session's
@@ -18325,16 +18846,22 @@ components:
example: 1
format: int64
type: integer
- required:
- - position
+ sku:
+ description: The SKU of the cart item in the provided customer session's
+ `cartItems` property.
+ example: SKU1241028
+ minLength: 1
+ type: string
type: object
NewReturn:
example:
returnedCartItems:
- quantity: 1
position: 2
+ sku: SKU1241028
- quantity: 1
position: 2
+ sku: SKU1241028
properties:
returnedCartItems:
description: List of cart items to be returned.
@@ -18349,8 +18876,10 @@ components:
returnedCartItems:
- quantity: 1
position: 2
+ sku: SKU1241028
- quantity: 1
position: 2
+ sku: SKU1241028
accountId: 3886
eventId: 123
profileIntegrationId: 0c0e0207-eb30-4e06-a56c-2b7c8a64953c
@@ -19243,8 +19772,10 @@ components:
- returnedCartItems:
- quantity: 1
position: 2
+ sku: SKU1241028
- quantity: 1
position: 2
+ sku: SKU1241028
accountId: 3886
eventId: 123
profileIntegrationId: 0c0e0207-eb30-4e06-a56c-2b7c8a64953c
@@ -19258,8 +19789,10 @@ components:
- returnedCartItems:
- quantity: 1
position: 2
+ sku: SKU1241028
- quantity: 1
position: 2
+ sku: SKU1241028
accountId: 3886
eventId: 123
profileIntegrationId: 0c0e0207-eb30-4e06-a56c-2b7c8a64953c
@@ -19349,8 +19882,10 @@ components:
returnedCartItems:
- quantity: 1
position: 2
+ sku: SKU1241028
- quantity: 1
position: 2
+ sku: SKU1241028
accountId: 3886
eventId: 123
profileIntegrationId: 0c0e0207-eb30-4e06-a56c-2b7c8a64953c
@@ -19422,8 +19957,10 @@ components:
returnedCartItems:
- quantity: 1
position: 2
+ sku: SKU1241028
- quantity: 1
position: 2
+ sku: SKU1241028
responseContent:
- customerSession
- customerProfile
@@ -21436,10 +21973,10 @@ components:
validityDuration:
description: |
The time format is either:
- - `immediate` or,
+ - `unlimited` or,
- an **integer** followed by one letter indicating the time unit.
- Examples: `immediate`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`.
+ Examples: `unlimited`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`.
Available units:
@@ -21878,7 +22415,6 @@ components:
timezone: Europe/Berlin
description: Customers collect 10 points per 1$ spent
title: Point collection
- canUpdateJoinPolicy: true
canUpdateSubledgers: true
programJoinPolicy: not_join
accountID: 1
@@ -22128,11 +22664,6 @@ components:
`True` if the tier definitions can be updated.
example: true
type: boolean
- canUpdateJoinPolicy:
- description: |
- `True` if the program join policy can be updated.
- example: true
- type: boolean
canUpdateTierExpirationPolicy:
description: |
`True` if the tier expiration policy can be updated.
@@ -22210,7 +22741,6 @@ components:
timezone: Europe/Berlin
description: Customers collect 10 points per 1$ spent
title: Point collection
- canUpdateJoinPolicy: true
canUpdateSubledgers: true
programJoinPolicy: not_join
accountID: 1
@@ -22292,7 +22822,6 @@ components:
timezone: Europe/Berlin
description: Customers collect 10 points per 1$ spent
title: Point collection
- canUpdateJoinPolicy: true
canUpdateSubledgers: true
programJoinPolicy: not_join
accountID: 1
@@ -24936,6 +25465,7 @@ components:
transactionUUID: ce59f12a-f53b-4014-a745-636d93f2bd3f
subledgerId: sub-123
name: Reward 10% points of a purchase's current total
+ validityDuration: 30D
ruleName: Add 2 points
id: 123
programId: 324
@@ -24959,6 +25489,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
customerSessionId:
@@ -24986,6 +25517,7 @@ components:
description: |
When points become active. Possible values:
- `immediate`: Points are active immediately.
+ - `on_action`: Points become active based on the customer's action.
- a timestamp value: Points become active at a given date and time.
example: 2022-01-02T15:04:05Z07:00
maxLength: 64
@@ -25021,6 +25553,13 @@ components:
description: The name of the rule that triggered this effect.
example: Add 2 points
type: string
+ validityDuration:
+ description: |
+ The duration for which the points remain active, relative to the activation date.
+
+ **Note**: This only applies to points for which `awaitsActivation` is `true` and `expiryDate` is not set.
+ example: 30D
+ type: string
required:
- amount
- cardIdentifier
@@ -25057,6 +25596,7 @@ components:
transactionUUID: ce59f12a-f53b-4014-a745-636d93f2bd3f
subledgerId: sub-123
name: Reward 10% points of a purchase's current total
+ validityDuration: 30D
ruleName: Add 2 points
id: 123
programId: 324
@@ -25100,6 +25640,7 @@ components:
description: |
When points become active. Possible values:
- `immediate`: Points are immediately active.
+ - `on_action`: Points become active based on the customer's action.
- a timestamp value: Points become active at a given date and time.
example: 2022-01-02T15:04:05Z07:00
maxLength: 64
@@ -25137,6 +25678,13 @@ components:
type: string
flags:
$ref: '#/components/schemas/LoyaltyLedgerEntryFlags'
+ validityDuration:
+ description: |
+ The duration for which the points remain active, relative to the activation date.
+
+ **Note**: This only applies to points for which `awaitsActivation` is `true` and `expiryDate` is not set.
+ example: 30D
+ type: string
required:
- amount
- created
@@ -25149,6 +25697,34 @@ components:
- transactionUUID
- type
type: object
+ DeleteLoyaltyTransactionsRequest:
+ description: Request to delete transactions based on the specified scope.
+ properties:
+ scope:
+ description: |
+ `AllSubledgers` deletes all transactions for the specified customer profile from all ledgers in the loyalty program.
+
+ `SelectedSubledgers` deletes all transactions for the specified customer profile only from the given ledgers in the loyalty program.
+ enum:
+ - AllSubledgers
+ - SelectedSubledgers
+ example: SelectedSubledgers
+ type: string
+ subledgerIds:
+ description: |
+ The IDs of the ledgers from which to delete the customer's transactions. This parameter is required if the `scope` is set to `SelectedSubledgers`.
+
+ To specify the main ledger, provide an empty string ("").
+ example:
+ - subledger1
+ - subledger2
+ items:
+ type: string
+ nullable: true
+ type: array
+ required:
+ - scope
+ type: object
CardLedgerPointsEntryIntegrationAPI:
description: Loyalty card points with start and expiry dates.
example:
@@ -25159,6 +25735,7 @@ components:
created: 2000-01-23T04:56:07.000+00:00
subledgerId: sub-123
name: Reward 10% points of a purchase's current total
+ validityDuration: 30D
customerSessionId: 05c2da0d-48fa-4aa1-b629-898f58f1584d
id: 123
programId: 324
@@ -25220,6 +25797,13 @@ components:
description: Amount of loyalty points added in the transaction.
example: 10.25
type: number
+ validityDuration:
+ description: |
+ The duration for which the points remain active, relative to the activation date.
+
+ **Note**: This only applies to points for which `awaitsActivation` is `true` and `expiryDate` is not set.
+ example: 30D
+ type: string
required:
- amount
- created
@@ -25240,6 +25824,7 @@ components:
created: 2000-01-23T04:56:07.000+00:00
subledgerId: sub-123
name: Reward 10% points of a purchase's current total
+ validityDuration: 30D
customerSessionId: 05c2da0d-48fa-4aa1-b629-898f58f1584d
id: 123
programId: 324
@@ -25297,6 +25882,13 @@ components:
description: Amount of loyalty points added in the transaction.
example: 10.25
type: number
+ validityDuration:
+ description: |
+ The duration for which the points remain active, relative to the activation date.
+
+ **Note**: This only applies to points for which `awaitsActivation` is `true` and `expiryDate` is not set.
+ example: 30D
+ type: string
required:
- amount
- created
@@ -27601,6 +28193,21 @@ components:
- name
- payload
type: object
+ StrikethroughSetDiscountPerItemMemberEffectProps:
+ description: setDiscountPerItem member effect in strikethrough pricing payload.
+ properties:
+ name:
+ description: effect name.
+ example: 10% off members only
+ type: string
+ value:
+ description: discount value.
+ example: "9"
+ type: object
+ required:
+ - name
+ - value
+ type: object
StrikethroughEffectProps:
type: object
LabelTargetNone:
@@ -27936,6 +28543,11 @@ components:
format: int64
type: integer
type: array
+ authenticationId:
+ description: The ID of the credential that this webhook is using.
+ example: 1
+ format: int64
+ type: integer
required:
- url
- verb
@@ -29488,6 +30100,7 @@ components:
- boolean
- percent
- (list string)
+ - (list number)
- time
example: number
type: string
@@ -29653,6 +30266,7 @@ components:
description: My collection of SKUs
- name: My collection
description: My collection of SKUs
+ campaignsCount: 3
defaultCampaignGroupId: 42
description: This is a template for a discount campaign.
features:
@@ -29920,6 +30534,11 @@ components:
- advanced
example: advanced
type: string
+ campaignsCount:
+ description: The number of Campaigns created from this template.
+ example: 3
+ format: int64
+ type: integer
updated:
description: Timestamp of the most recent update to the campaign template
or any of its elements.
@@ -31107,6 +31726,180 @@ components:
$ref: '#/components/schemas/NewLoyaltyTier'
type: array
type: object
+ ActivateLoyaltyPoints:
+ description: Activate loyalty points
+ example:
+ transactionUUIDs:
+ - 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ - 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ - 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ - 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ - 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ sessionId: sessionId
+ properties:
+ transactionUUIDs:
+ description: "An array of transaction UUIDs used to activate specific pending\
+ \ point transactions. \n\nIf provided, do not include the `sessionId`\
+ \ parameter.\n"
+ items:
+ format: uuid
+ type: string
+ maxItems: 50
+ minItems: 1
+ type: array
+ uniqueItems: true
+ sessionId:
+ description: |
+ The ID of the session containing the pending point transactions to activate.
+
+ If provided, do not include the `transactionUUIDs` parameter.
+ minLength: 1
+ type: string
+ type: object
+ LoyaltyLedgerEntry:
+ description: A single row of the ledger, describing one addition or deduction.
+ example:
+ eventID: 5
+ amount: 100.0
+ created: 2021-07-20T22:00:00Z
+ flags:
+ createsNegativeBalance: true
+ subLedgerID: mysubledger
+ customerSessionID: t2gy5s-47274
+ type: addition
+ userID: 499
+ expiryDate: 2022-07-20T22:00:00Z
+ archived: false
+ customerProfileID: URNGV8294NV
+ cardID: 241
+ name: Add points on purchase
+ validityDuration: 30D
+ programID: 5
+ startDate: 2021-07-20T22:00:00Z
+ properties:
+ created:
+ example: 2021-07-20T22:00:00Z
+ format: date-time
+ type: string
+ programID:
+ example: 5
+ format: int64
+ type: integer
+ customerProfileID:
+ example: URNGV8294NV
+ type: string
+ cardID:
+ example: 241
+ format: int64
+ type: integer
+ customerSessionID:
+ example: t2gy5s-47274
+ type: string
+ eventID:
+ example: 5
+ format: int64
+ type: integer
+ type:
+ description: |
+ The type of the ledger transaction. Possible values are:
+ - `addition`
+ - `subtraction`
+ - `expire`
+ - `expiring` (for expiring points ledgers)
+ example: addition
+ type: string
+ amount:
+ example: 100.0
+ type: number
+ startDate:
+ example: 2021-07-20T22:00:00Z
+ format: date-time
+ type: string
+ expiryDate:
+ example: 2022-07-20T22:00:00Z
+ format: date-time
+ type: string
+ name:
+ description: A name referencing the condition or effect that added this
+ entry, or the specific name provided in an API call.
+ example: Add points on purchase
+ type: string
+ subLedgerID:
+ description: This specifies if we are adding loyalty points to the main
+ ledger or a subledger.
+ example: mysubledger
+ type: string
+ userID:
+ description: This is the ID of the user who created this entry, if the addition
+ or subtraction was done manually.
+ example: 499
+ format: int64
+ type: integer
+ archived:
+ description: Indicates if the entry belongs to the archived session.
+ example: false
+ type: boolean
+ flags:
+ $ref: '#/components/schemas/LoyaltyLedgerEntryFlags'
+ validityDuration:
+ description: |
+ The duration for which the points remain active, relative to the activation date.
+
+ **Note**: This only applies to points for which `awaitsActivation` is `true` and `expiryDate` is not set.
+ example: 30D
+ type: string
+ required:
+ - amount
+ - created
+ - name
+ - programID
+ - subLedgerID
+ - type
+ type: object
+ ActivateLoyaltyPointsResponse:
+ example:
+ ledgerEntries:
+ - eventID: 5
+ amount: 100.0
+ created: 2021-07-20T22:00:00Z
+ flags:
+ createsNegativeBalance: true
+ subLedgerID: mysubledger
+ customerSessionID: t2gy5s-47274
+ type: addition
+ userID: 499
+ expiryDate: 2022-07-20T22:00:00Z
+ archived: false
+ customerProfileID: URNGV8294NV
+ cardID: 241
+ name: Add points on purchase
+ validityDuration: 30D
+ programID: 5
+ startDate: 2021-07-20T22:00:00Z
+ - eventID: 5
+ amount: 100.0
+ created: 2021-07-20T22:00:00Z
+ flags:
+ createsNegativeBalance: true
+ subLedgerID: mysubledger
+ customerSessionID: t2gy5s-47274
+ type: addition
+ userID: 499
+ expiryDate: 2022-07-20T22:00:00Z
+ archived: false
+ customerProfileID: URNGV8294NV
+ cardID: 241
+ name: Add points on purchase
+ validityDuration: 30D
+ programID: 5
+ startDate: 2021-07-20T22:00:00Z
+ properties:
+ ledgerEntries:
+ description: Updated ledger entries after activation.
+ items:
+ $ref: '#/components/schemas/LoyaltyLedgerEntry'
+ type: array
+ type: object
UpdateLoyaltyProgramTier:
description: Update a tier in a specified loyalty program.
properties:
@@ -31267,98 +32060,6 @@ components:
- id
- userId
type: object
- LoyaltyLedgerEntry:
- description: A single row of the ledger, describing one addition or deduction.
- example:
- eventID: 5
- amount: 100.0
- created: 2021-07-20T22:00:00Z
- flags:
- createsNegativeBalance: true
- subLedgerID: mysubledger
- customerSessionID: t2gy5s-47274
- type: addition
- userID: 499
- expiryDate: 2022-07-20T22:00:00Z
- archived: false
- customerProfileID: URNGV8294NV
- cardID: 241
- name: Add points on purchase
- programID: 5
- startDate: 2021-07-20T22:00:00Z
- properties:
- created:
- example: 2021-07-20T22:00:00Z
- format: date-time
- type: string
- programID:
- example: 5
- format: int64
- type: integer
- customerProfileID:
- example: URNGV8294NV
- type: string
- cardID:
- example: 241
- format: int64
- type: integer
- customerSessionID:
- example: t2gy5s-47274
- type: string
- eventID:
- example: 5
- format: int64
- type: integer
- type:
- description: |
- The type of the ledger transaction. Possible values are:
- - `addition`
- - `subtraction`
- - `expire`
- - `expiring` (for expiring points ledgers)
- example: addition
- type: string
- amount:
- example: 100.0
- type: number
- startDate:
- example: 2021-07-20T22:00:00Z
- format: date-time
- type: string
- expiryDate:
- example: 2022-07-20T22:00:00Z
- format: date-time
- type: string
- name:
- description: A name referencing the condition or effect that added this
- entry, or the specific name provided in an API call.
- example: Add points on purchase
- type: string
- subLedgerID:
- description: This specifies if we are adding loyalty points to the main
- ledger or a subledger.
- example: mysubledger
- type: string
- userID:
- description: This is the ID of the user who created this entry, if the addition
- or subtraction was done manually.
- example: 499
- format: int64
- type: integer
- archived:
- description: Indicates if the entry belongs to the archived session.
- example: false
- type: boolean
- flags:
- $ref: '#/components/schemas/LoyaltyLedgerEntryFlags'
- required:
- - amount
- - created
- - name
- - programID
- - subLedgerID
- - type
- type: object
LoyaltySubLedger:
description: Ledger of Balance in Loyalty Program for a Customer.
example:
@@ -31379,6 +32080,7 @@ components:
customerProfileID: URNGV8294NV
cardID: 241
name: Add points on purchase
+ validityDuration: 30D
programID: 5
startDate: 2021-07-20T22:00:00Z
- eventID: 5
@@ -31395,6 +32097,7 @@ components:
customerProfileID: URNGV8294NV
cardID: 241
name: Add points on purchase
+ validityDuration: 30D
programID: 5
startDate: 2021-07-20T22:00:00Z
expiringPoints:
@@ -31412,6 +32115,7 @@ components:
customerProfileID: URNGV8294NV
cardID: 241
name: Add points on purchase
+ validityDuration: 30D
programID: 5
startDate: 2021-07-20T22:00:00Z
- eventID: 5
@@ -31428,6 +32132,7 @@ components:
customerProfileID: URNGV8294NV
cardID: 241
name: Add points on purchase
+ validityDuration: 30D
programID: 5
startDate: 2021-07-20T22:00:00Z
totalActivePoints: 6.027456183070403
@@ -31449,6 +32154,7 @@ components:
customerProfileID: URNGV8294NV
cardID: 241
name: Add points on purchase
+ validityDuration: 30D
programID: 5
startDate: 2021-07-20T22:00:00Z
- eventID: 5
@@ -31465,6 +32171,7 @@ components:
customerProfileID: URNGV8294NV
cardID: 241
name: Add points on purchase
+ validityDuration: 30D
programID: 5
startDate: 2021-07-20T22:00:00Z
expiredPoints:
@@ -31482,6 +32189,7 @@ components:
customerProfileID: URNGV8294NV
cardID: 241
name: Add points on purchase
+ validityDuration: 30D
programID: 5
startDate: 2021-07-20T22:00:00Z
- eventID: 5
@@ -31498,6 +32206,7 @@ components:
customerProfileID: URNGV8294NV
cardID: 241
name: Add points on purchase
+ validityDuration: 30D
programID: 5
startDate: 2021-07-20T22:00:00Z
currentTier:
@@ -31521,6 +32230,7 @@ components:
customerProfileID: URNGV8294NV
cardID: 241
name: Add points on purchase
+ validityDuration: 30D
programID: 5
startDate: 2021-07-20T22:00:00Z
- eventID: 5
@@ -31537,6 +32247,7 @@ components:
customerProfileID: URNGV8294NV
cardID: 241
name: Add points on purchase
+ validityDuration: 30D
programID: 5
startDate: 2021-07-20T22:00:00Z
properties:
@@ -31625,6 +32336,7 @@ components:
customerProfileID: URNGV8294NV
cardID: 241
name: Add points on purchase
+ validityDuration: 30D
programID: 5
startDate: 2021-07-20T22:00:00Z
- eventID: 5
@@ -31641,6 +32353,7 @@ components:
customerProfileID: URNGV8294NV
cardID: 241
name: Add points on purchase
+ validityDuration: 30D
programID: 5
startDate: 2021-07-20T22:00:00Z
expiringPoints:
@@ -31658,6 +32371,7 @@ components:
customerProfileID: URNGV8294NV
cardID: 241
name: Add points on purchase
+ validityDuration: 30D
programID: 5
startDate: 2021-07-20T22:00:00Z
- eventID: 5
@@ -31674,6 +32388,7 @@ components:
customerProfileID: URNGV8294NV
cardID: 241
name: Add points on purchase
+ validityDuration: 30D
programID: 5
startDate: 2021-07-20T22:00:00Z
totalActivePoints: 6.027456183070403
@@ -31695,6 +32410,7 @@ components:
customerProfileID: URNGV8294NV
cardID: 241
name: Add points on purchase
+ validityDuration: 30D
programID: 5
startDate: 2021-07-20T22:00:00Z
- eventID: 5
@@ -31711,6 +32427,7 @@ components:
customerProfileID: URNGV8294NV
cardID: 241
name: Add points on purchase
+ validityDuration: 30D
programID: 5
startDate: 2021-07-20T22:00:00Z
expiredPoints:
@@ -31728,6 +32445,7 @@ components:
customerProfileID: URNGV8294NV
cardID: 241
name: Add points on purchase
+ validityDuration: 30D
programID: 5
startDate: 2021-07-20T22:00:00Z
- eventID: 5
@@ -31744,6 +32462,7 @@ components:
customerProfileID: URNGV8294NV
cardID: 241
name: Add points on purchase
+ validityDuration: 30D
programID: 5
startDate: 2021-07-20T22:00:00Z
currentTier:
@@ -31767,6 +32486,7 @@ components:
customerProfileID: URNGV8294NV
cardID: 241
name: Add points on purchase
+ validityDuration: 30D
programID: 5
startDate: 2021-07-20T22:00:00Z
- eventID: 5
@@ -31783,6 +32503,7 @@ components:
customerProfileID: URNGV8294NV
cardID: 241
name: Add points on purchase
+ validityDuration: 30D
programID: 5
startDate: 2021-07-20T22:00:00Z
subLedgers:
@@ -31860,6 +32581,7 @@ components:
customerProfileId: kda0fajs0-fad9f-fd9dfsa9-fd9dasjf9
subledgerId: sub-123
name: Reward 50 points for each $500 purchase
+ validityDuration: 30D
ruleName: 10 points for every $100 spent
userEmail: john.doe@example.com
id: 123
@@ -31913,6 +32635,7 @@ components:
description: |
When points become active. Possible values:
- `immediate`: Points are immediately active.
+ - `on_action`: Points become active based on the customer's action.
- a timestamp value: Points become active at a given date and time.
example: 2022-01-02T15:04:05Z07:00
maxLength: 64
@@ -31934,6 +32657,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
subledgerId:
@@ -31975,6 +32699,13 @@ components:
type: string
flags:
$ref: '#/components/schemas/LoyaltyLedgerEntryFlags'
+ validityDuration:
+ description: |
+ The duration for which the points remain active, relative to the activation date.
+
+ **Note**: This only applies to points for which `awaitsActivation` is `true` and `expiryDate` is not set.
+ example: 30D
+ type: string
required:
- amount
- created
@@ -32105,6 +32836,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
type: object
@@ -32144,6 +32876,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
applicationId:
@@ -32230,6 +32963,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
blockReason:
@@ -34894,6 +35628,29 @@ components:
- title
- type
type: object
+ BestPriorTarget:
+ description: Specifies the target for which the best prior price calculation
+ is taken into consideration.
+ example:
+ targetType: AUDIENCE
+ audienceID: 4
+ properties:
+ targetType:
+ description: The type of price target.
+ enum:
+ - NONE
+ - AUDIENCE
+ example: AUDIENCE
+ type: string
+ audienceID:
+ description: The AudienceID of an audience. Must be used with "AUDIENCE"
+ target type.
+ example: 4
+ format: int64
+ type: integer
+ required:
+ - targetType
+ type: object
BestPriorPriceRequest:
example:
timeframeEndDate: 2020-11-10T23:00:00Z
@@ -34926,7 +35683,6 @@ components:
description: The number of days prior to the timeframeEndDate. Only prices
within this look back period are considered for the best prior price evaluation.
example: "30"
- format: integer
type: string
strictEndDate:
description: |
@@ -34936,7 +35692,7 @@ components:
example: true
type: boolean
target:
- $ref: '#/components/schemas/BestPriorPriceRequest_target'
+ $ref: '#/components/schemas/BestPriorTarget'
required:
- skus
- strictEndDate
@@ -37790,9 +38546,22 @@ components:
type: integer
type: array
type: object
+ RoleV2Readonly:
+ properties:
+ isReadonly:
+ default: false
+ description: Identifies if the role is read-only. For read-only roles, you
+ can only assign or unassign users. You cannot edit any other properties,
+ such as the name, description, or permissions. The 'isReadonly' property
+ cannot be set for new or existing roles. It is reserved for predefined
+ roles, such as the Talon.One support role.
+ example: false
+ type: boolean
+ type: object
RoleV2:
example:
accountId: 3886
+ isReadonly: false
created: 2020-06-10T09:05:27.993483Z
permissions:
permissionSets:
@@ -37880,6 +38649,15 @@ components:
format: int64
type: integer
type: array
+ isReadonly:
+ default: false
+ description: Identifies if the role is read-only. For read-only roles, you
+ can only assign or unassign users. You cannot edit any other properties,
+ such as the name, description, or permissions. The 'isReadonly' property
+ cannot be set for new or existing roles. It is reserved for predefined
+ roles, such as the Talon.One support role.
+ example: false
+ type: boolean
required:
- accountId
- created
@@ -38283,6 +39061,11 @@ components:
when the user who created the key is disabled or deleted.
example: true
type: boolean
+ lastUsed:
+ description: The last time the management key was used.
+ example: 2022-03-02T16:46:17.758585Z
+ format: date-time
+ type: string
required:
- accountID
- created
@@ -38345,6 +39128,11 @@ components:
when the user who created the key is disabled or deleted.
example: true
type: boolean
+ lastUsed:
+ description: The last time the management key was used.
+ example: 2022-03-02T16:46:17.758585Z
+ format: date-time
+ type: string
key:
description: The management key.
example: f45f90d21dcd9bac965c45e547e9754a3196891d09948e35adbcbedc4e9e4b01
@@ -38359,22 +39147,6 @@ components:
- key
- name
type: object
- JWT:
- description: JSON web token used for accessing integrations in Prismatic
- properties:
- accessToken:
- description: Access token used to authenticate a user in Talon.One.
- example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
- type: string
- expiresIn:
- description: Time until the token expires (in seconds).
- example: 1000
- format: int64
- type: integer
- required:
- - accessToken
- - expiresIn
- type: object
NewValueMap:
type: object
ValueMap:
@@ -39299,6 +40071,24 @@ components:
required:
- itemFilter
type: object
+ GenerateCampaignSummary:
+ properties:
+ campaignID:
+ description: ID of a campaign.
+ format: int64
+ type: integer
+ rulesetID:
+ description: ID of a ruleset.
+ format: int64
+ type: integer
+ currency:
+ description: Currency for the campaign.
+ type: string
+ required:
+ - campaignID
+ - currency
+ - rulesetID
+ type: object
GenerateUserSessionSummary:
properties:
sessionID:
@@ -39334,6 +40124,70 @@ components:
required:
- eventID
type: object
+ CouponFailureSummary:
+ description: Summary of the reasons for coupon redemption failure.
+ properties:
+ id:
+ description: ID of the evaluation record.
+ example: 1
+ format: int64
+ type: integer
+ eventID:
+ description: ID of the event.
+ example: 1011
+ format: int64
+ type: integer
+ sessionID:
+ description: ID of the customer session set by your integration layer.
+ example: "1"
+ type: string
+ profileID:
+ description: ID of the customer profile set by your integration layer.
+ example: a48f10dddb5c9493aad194e49bb9c1dac
+ type: string
+ status:
+ description: Status defines if the coupon code was applied or rejected.
+ example: rejected
+ type: string
+ couponCode:
+ description: Coupon code passed for evaluation.
+ example: ABC123
+ type: string
+ language:
+ description: Language of the summary.
+ example: en
+ type: string
+ shortSummary:
+ description: A summary of the reasons for coupon redemption failure.
+ example: Session total was less than the required total.
+ type: string
+ longSummary:
+ description: A detailed summary of the reasons for coupon redemption failure
+ based on events of the entire session.
+ example: There were 5 items in the cart with SKUs 1,2,3,4,5 and the total
+ is $60 which is less than the required cart total.
+ type: string
+ createdAt:
+ description: Timestamp when the request was made.
+ example: 2021-07-20T21:59:00Z
+ format: date-time
+ type: string
+ updatedAt:
+ description: Timestamp when the request was last updated.
+ example: 2021-07-20T21:59:00Z
+ format: date-time
+ type: string
+ required:
+ - couponCode
+ - createdAt
+ - eventID
+ - id
+ - language
+ - longSummary
+ - shortSummary
+ - status
+ - updatedAt
+ type: object
GenerateCouponFailureDetailedSummary:
properties:
applicationID:
@@ -39363,10 +40217,350 @@ components:
- eventID
- sessionID
type: object
+ CampaignLogSummary:
+ description: Campaign Log Summary
+ properties:
+ name:
+ description: Name of the user that performed the change.
+ example: Admin
+ type: string
+ email:
+ description: E-mail of the user that performed the change.
+ example: admin@talon.one
+ type: string
+ created:
+ description: Date and time the change was performed.
+ format: date-time
+ type: string
+ action:
+ description: Action performed by the user.
+ enum:
+ - create
+ - delete
+ - update
+ example: create
+ type: string
+ summary:
+ description: AI-generated summary of the action performed.
+ type: string
+ required:
+ - action
+ - created
+ - email
+ - name
+ - summary
+ type: object
+ SessionCoupons:
+ properties:
+ sessionIntegrationId:
+ description: The integration ID of the session in which the coupons were
+ applied.
+ example: cc53e4fa-547f-4f5e-8333-76e05c381f67
+ type: string
+ couponCode:
+ description: The coupon codes for which rejection reason is needed.
+ example: SUMMER2025
+ type: string
+ required:
+ - sessionIntegrationId
+ type: object
+ CouponRejections:
+ properties:
+ sessionDetails:
+ description: Array containing details from session like session id and optional
+ coupon code used in the session. Only the first 15 entries will be processed.
+ items:
+ $ref: '#/components/schemas/SessionCoupons'
+ type: array
+ applicationId:
+ description: The application ID for which the coupon was used.
+ example: 123
+ format: int64
+ type: integer
+ language:
+ description: The language the summary will be generated in.
+ example: en
+ type: string
+ required:
+ - applicationId
+ - sessionDetails
+ type: object
+ PrismaticFlowConfig:
+ properties:
+ ApiKey:
+ type: string
+ required:
+ - ApiKey
+ type: object
+ PrismaticFlowWithConfig:
+ properties:
+ ApplicationID:
+ description: ID of application the flow is registered for.
+ example: 54
+ format: int64
+ type: integer
+ EventType:
+ description: The event type we want to register a flow for.
+ type: string
+ x-fieldType: PrismaticEventType
+ PrismaticFlowUrl:
+ description: The URL of the prismatic flow that we want to trigger for the
+ event.
+ type: string
+ Config:
+ $ref: '#/components/schemas/PrismaticFlowConfig'
+ required:
+ - Config
+ - EventType
+ - PrismaticFlowUrl
+ type: object
+ PrismaticFlow:
+ properties:
+ ApplicationID:
+ description: ID of application the flow is registered for.
+ example: 54
+ format: int64
+ type: integer
+ EventType:
+ description: The event type we want to register a flow for.
+ type: string
+ x-fieldType: PrismaticEventType
+ PrismaticFlowUrl:
+ description: The URL of the prismatic flow that we want to trigger for the
+ event.
+ type: string
+ required:
+ - EventType
+ - PrismaticFlowUrl
+ type: object
+ PrismaticConfig:
+ description: Config used for accessing integrations in Prismatic
+ properties:
+ prismaticUrl:
+ description: The url used to integrate the Prismatic Marketplace.
+ example: https://app.eu-west-1.prismatic.io/
+ type: string
+ accessToken:
+ description: Access token used to authenticate a user in Talon.One.
+ example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
+ type: string
+ required:
+ - accessToken
+ - prismaticUrl
+ type: object
+ IntegrationProfileEntityV3:
+ properties:
+ profileId:
+ description: |
+ ID of the customer profile set by your integration layer.
+
+ **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`.
+ example: URNGV8294NV
+ type: string
+ required:
+ - profileId
+ type: object
+ EventV3:
+ properties:
+ profileId:
+ description: |
+ ID of the customer profile set by your integration layer.
+
+ **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`.
+ example: URNGV8294NV
+ type: string
+ storeIntegrationId:
+ description: The integration ID of the store. You choose this ID when you
+ create a store.
+ example: STORE-001
+ maxLength: 1000
+ minLength: 1
+ type: string
+ evaluableCampaignIds:
+ description: |
+ When using the `dry` query parameter, use this property to list the campaign to be evaluated by the Rule Engine.
+
+ These campaigns will be evaluated, even if they are disabled, allowing you to test specific campaigns before activating them.
+ example:
+ - 10
+ - 12
+ items:
+ format: int64
+ type: integer
+ title: Campaigns to evaluate
+ type: array
+ integrationId:
+ description: |
+ The unique ID of the current event. Only one event with this ID could be activated, duplicated events are forbidden.
+ example: 175KJPS947296
+ minLength: 1
+ type: string
+ type:
+ description: |
+ A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) of type `event` in the Campaign Manager.
+ example: pageViewed
+ minLength: 1
+ title: Event Type
+ type: string
+ attributes:
+ description: Arbitrary additional JSON properties associated with the event.
+ They must be created in the Campaign Manager before setting them with
+ this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-a-custom-attribute).
+ example:
+ myAttribute: myValue
+ properties: {}
+ type: object
+ connectedSessionID:
+ description: The ID of the session that happened in the past.
+ example: 175KJPS947296
+ minLength: 1
+ type: string
+ previousEventID:
+ description: The unique identifier of the event that happened in the past.
+ example: 175KJPS947296
+ minLength: 1
+ type: string
+ required:
+ - integrationId
+ - profileId
+ - type
+ type: object
+ IntegrationEventV3Request:
+ properties:
+ profileId:
+ description: |
+ ID of the customer profile set by your integration layer.
+
+ **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`.
+ example: URNGV8294NV
+ type: string
+ storeIntegrationId:
+ description: The integration ID of the store. You choose this ID when you
+ create a store.
+ example: STORE-001
+ maxLength: 1000
+ minLength: 1
+ type: string
+ evaluableCampaignIds:
+ description: |
+ When using the `dry` query parameter, use this property to list the campaign to be evaluated by the Rule Engine.
+
+ These campaigns will be evaluated, even if they are disabled, allowing you to test specific campaigns before activating them.
+ example:
+ - 10
+ - 12
+ items:
+ format: int64
+ type: integer
+ title: Campaigns to evaluate
+ type: array
+ integrationId:
+ description: |
+ The unique ID of the current event. Only one event with this ID could be activated, duplicated events are forbidden.
+ example: 175KJPS947296
+ minLength: 1
+ type: string
+ type:
+ description: |
+ A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) of type `event` in the Campaign Manager.
+ example: pageViewed
+ minLength: 1
+ title: Event Type
+ type: string
+ attributes:
+ description: Arbitrary additional JSON properties associated with the event.
+ They must be created in the Campaign Manager before setting them with
+ this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-a-custom-attribute).
+ example:
+ myAttribute: myValue
+ properties: {}
+ type: object
+ connectedSessionID:
+ description: The ID of the session that happened in the past.
+ example: 175KJPS947296
+ minLength: 1
+ type: string
+ previousEventID:
+ description: The unique identifier of the event that happened in the past.
+ example: 175KJPS947296
+ minLength: 1
+ type: string
+ loyaltyCards:
+ description: Identifiers of the loyalty cards used during this event.
+ example:
+ - loyalty-card-1
+ items:
+ type: string
+ maxItems: 1
+ type: array
+ responseContent:
+ description: |
+ Optional list of requested information to be present on the response related to the tracking custom event.
+ example:
+ - triggeredCampaigns
+ - customerProfile
+ items:
+ enum:
+ - customerProfile
+ - triggeredCampaigns
+ - loyalty
+ - event
+ - awardedGiveaways
+ - ruleFailureReasons
+ type: string
+ type: array
+ required:
+ - integrationId
+ - profileId
+ - type
+ type: object
+ IntegrationEventV3Response:
+ description: |
+ This is the response type returned by the trackEventV3 endpoint.
+ properties:
+ customerProfile:
+ $ref: '#/components/schemas/CustomerProfile'
+ event:
+ $ref: '#/components/schemas/EventV3'
+ loyalty:
+ $ref: '#/components/schemas/Loyalty'
+ triggeredCampaigns:
+ items:
+ $ref: '#/components/schemas/Campaign'
+ type: array
+ ruleFailureReasons:
+ items:
+ $ref: '#/components/schemas/RuleFailureReason'
+ type: array
+ awardedGiveaways:
+ items:
+ $ref: '#/components/schemas/Giveaway'
+ type: array
+ effects:
+ description: The effects generated by the rules in your running campaigns.
+ See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects).
+ items:
+ $ref: '#/components/schemas/Effect'
+ type: array
+ createdCoupons:
+ items:
+ $ref: '#/components/schemas/Coupon'
+ type: array
+ createdReferrals:
+ items:
+ $ref: '#/components/schemas/Referral'
+ type: array
+ required:
+ - createdCoupons
+ - createdReferrals
+ - effects
+ type: object
CampaignNotificationBase:
properties:
NotificationType:
description: The type of the notification
+ enum:
+ - CampaignNotification
example: CampaignNotification
type: string
TotalResultSize:
@@ -39434,6 +40628,8 @@ components:
properties:
NotificationType:
description: The type of the notification
+ enum:
+ - CampaignNotification
example: CampaignNotification
type: string
TotalResultSize:
@@ -39481,6 +40677,8 @@ components:
properties:
NotificationType:
description: The type of the notification
+ enum:
+ - CampaignNotification
example: CampaignNotification
type: string
TotalResultSize:
@@ -39518,6 +40716,8 @@ components:
properties:
NotificationType:
description: The type of the notification
+ enum:
+ - CampaignNotification
example: CampaignNotification
type: string
TotalResultSize:
@@ -39556,6 +40756,8 @@ components:
properties:
NotificationType:
description: The type of the notification
+ enum:
+ - CampaignNotification
example: CampaignNotification
type: string
TotalResultSize:
@@ -39594,6 +40796,8 @@ components:
properties:
NotificationType:
description: The type of the notification
+ enum:
+ - CampaignNotification
example: CampaignNotification
type: string
TotalResultSize:
@@ -39633,6 +40837,8 @@ components:
properties:
NotificationType:
description: The type of the notification
+ enum:
+ - CampaignNotification
example: CampaignNotification
type: string
TotalResultSize:
@@ -39669,6 +40875,8 @@ components:
properties:
NotificationType:
description: The type of the notification
+ enum:
+ - CampaignNotification
example: CampaignNotification
type: string
TotalResultSize:
@@ -39747,7 +40955,7 @@ components:
type: integer
price:
description: The price of the changed item.
- example: 99.99
+ example: 100.0
type: number
prices:
additionalProperties:
@@ -39991,6 +41199,8 @@ components:
type: string
NotificationType:
description: The type of the not
+ enum:
+ - CouponCreated
type: string
required:
- EmployeeName
@@ -40023,6 +41233,9 @@ components:
type: integer
NotificationType:
description: The type of the notification
+ enum:
+ - CouponUpdated
+ - CouponDeleted
example: CouponUpdated
type: string
required:
@@ -40054,6 +41267,8 @@ components:
type: string
NotificationType:
description: The type of the notification
+ enum:
+ - AsyncCouponsCreated
type: string
required:
- BatchID
@@ -40080,6 +41295,8 @@ components:
type: string
NotificationType:
description: The type of the notification
+ enum:
+ - CouponsUpdated
type: string
required:
- ApplicationID
@@ -40111,6 +41328,8 @@ components:
type: integer
NotificationType:
description: The type of the notification
+ enum:
+ - CouponsDeleted
type: string
required:
- ApplicationID
@@ -40247,10 +41466,9 @@ components:
type: object
AddedDeductedPointsNotification:
properties:
- ProfileIntegrationID:
- description: The integration ID of the customer profile to whom points were
- added or deducted.
- example: URNGV8294NV
+ EmployeeName:
+ description: The name of the employee who added or deducted points.
+ example: Franziska Schneider
type: string
LoyaltyProgramID:
description: The ID of the loyalty program.
@@ -40258,19 +41476,27 @@ components:
format: int64
minimum: 1
type: integer
+ NotificationType:
+ description: The type of notification.
+ enum:
+ - LoyaltyPointsDeducted
+ - LoyaltyPointsAdded
+ type: string
+ ProfileIntegrationID:
+ description: The integration ID of the customer profile to whom points were
+ added or deducted.
+ example: URNGV8294NV
+ type: string
+ SessionIntegrationID:
+ description: The integration ID of the session through which the points
+ were earned or lost.
+ example: cc53e4fa-547f-4f5e-8333-76e05c381f67
+ type: string
SubledgerID:
description: The ID of the subledger within the loyalty program where these
points were added.
example: sub-123
type: string
- Amount:
- description: The amount of added or deducted loyalty points.
- example: 10.99
- type: number
- Reason:
- description: The reason for the points addition or deduction.
- example: Compensation
- type: string
TypeOfChange:
description: |
The notification source, that is, it indicates
@@ -40286,16 +41512,58 @@ components:
- rule_engine
- management_api
type: string
- EmployeeName:
- description: The name of the employee who added or deducted points.
- example: Franziska Schneider
- type: string
UserID:
description: The ID of the employee who added or deducted points.
example: 25
format: int64
- minimum: 1
type: integer
+ Amount:
+ description: The amount of added or deducted loyalty points.
+ example: 10.99
+ type: number
+ ExpiryDate:
+ description: The expiration date for loyalty points.
+ example: 2024-01-24T14:15:22Z
+ format: date-time
+ type: string
+ Operation:
+ description: The action (addition or deduction) made with loyalty points.
+ enum:
+ - addition
+ - deduction
+ type: string
+ Reason:
+ description: The reason for the points addition or deduction.
+ example: Compensation
+ type: string
+ StartDate:
+ description: The start date for loyalty points.
+ example: 2023-01-24T14:15:22Z
+ format: date-time
+ type: string
+ required:
+ - Amount
+ - EmployeeName
+ - LoyaltyProgramID
+ - NotificationType
+ - Operation
+ - ProfileIntegrationID
+ - Reason
+ - SessionIntegrationID
+ - SubledgerID
+ - TypeOfChange
+ - UserID
+ type: object
+ AddedDeductedPointsBalancesAction:
+ properties:
+ Amount:
+ description: The amount of added or deducted loyalty points.
+ example: 10.99
+ type: number
+ Reason:
+ description: The reason for the points addition or deduction.
+ example: Compensation
+ type: string
Operation:
description: The action (addition or deduction) made with loyalty points.
enum:
@@ -40312,25 +41580,77 @@ components:
example: 2024-01-24T14:15:22Z
format: date-time
type: string
+ required:
+ - Amount
+ - Operation
+ - Reason
+ type: object
+ AddedDeductedPointsBalancesNotification:
+ properties:
+ EmployeeName:
+ description: The name of the employee who added or deducted points.
+ example: Franziska Schneider
+ type: string
+ LoyaltyProgramID:
+ description: The ID of the loyalty program.
+ example: 5
+ format: int64
+ minimum: 1
+ type: integer
+ NotificationType:
+ description: The type of notification.
+ enum:
+ - LoyaltyAddedDeductedPointsBalances
+ type: string
+ ProfileIntegrationID:
+ description: The integration ID of the customer profile to whom points were
+ added or deducted.
+ example: URNGV8294NV
+ type: string
SessionIntegrationID:
description: The integration ID of the session through which the points
were earned or lost.
example: cc53e4fa-547f-4f5e-8333-76e05c381f67
type: string
- NotificationType:
- description: The type of notification.
+ SubledgerID:
+ description: The ID of the subledger within the loyalty program where these
+ points were added.
+ example: sub-123
+ type: string
+ TypeOfChange:
+ description: |
+ The notification source, that is, it indicates whether the points were added or deducted via one of the following routes:
+ - [The Campaign Manager](/docs/product/getting-started)
+ - [Management API](/management-api#tag/Loyalty)
+ - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters)
enum:
- - LoyaltyPointsDeducted
- - LoyaltyPointsAdded
+ - campaign_manager
+ - rule_engine
+ - management_api
type: string
+ UserID:
+ description: The ID of the employee who added or deducted points.
+ example: 25
+ format: int64
+ type: integer
+ Actions:
+ description: The list of actions that have been triggered in the loyalty
+ program.
+ items:
+ $ref: '#/components/schemas/AddedDeductedPointsBalancesAction'
+ minItems: 1
+ type: array
+ CurrentPoints:
+ description: The current points balance.
+ example: 10.99
+ type: number
required:
- - Amount
+ - Actions
+ - CurrentPoints
- EmployeeName
- LoyaltyProgramID
- NotificationType
- - Operation
- ProfileIntegrationID
- - Reason
- SessionIntegrationID
- SubledgerID
- TypeOfChange
@@ -40706,6 +42026,26 @@ components:
type: object
CardAddedDeductedPointsNotification:
properties:
+ CardIdentifier:
+ description: Loyalty card identification number.
+ example: 123-456-789ATBC
+ type: string
+ EmployeeName:
+ description: The name of the employee who added or deducted points.
+ example: Franziska Schneider
+ type: string
+ LoyaltyProgramID:
+ description: The ID of the loyalty program.
+ example: 5
+ format: int64
+ minimum: 1
+ type: integer
+ NotificationType:
+ description: The type of notification.
+ enum:
+ - LoyaltyCardPointsDeducted
+ - LoyaltyCardPointsAdded
+ type: string
ProfileIntegrationIDs:
description: The integration ID of the customer profile to whom points were
added or deducted.
@@ -40715,25 +42055,16 @@ components:
items:
type: string
type: array
- LoyaltyProgramID:
- description: The ID of the loyalty program.
- example: 5
- format: int64
- minimum: 1
- type: integer
+ SessionIntegrationID:
+ description: The integration ID of the session through which the points
+ were earned or lost.
+ example: cc53e4fa-547f-4f5e-8333-76e05c381f67
+ type: string
SubledgerID:
description: The ID of the subledger within the loyalty program where these
points were added or deducted.
example: sub-123
type: string
- Amount:
- description: The amount of added or deducted loyalty points.
- example: 10.99
- type: number
- Reason:
- description: The reason for the points addition or deduction.
- example: Compensation
- type: string
TypeOfChange:
description: |
The notification source, that is, it indicates
@@ -40749,68 +42080,302 @@ components:
- rule_engine
- management_api
type: string
- EmployeeName:
- description: The name of the employee who added or deducted points.
- example: Franziska Schneider
- type: string
UserID:
description: The ID of the employee who added or deducted points.
example: 25
format: int64
- minimum: 1
type: integer
+ UsersPerCardLimit:
+ description: The max amount of user profiles with whom a card can be shared.
+ This can be set to `0` for no limit.
+ example: 10
+ format: int64
+ type: integer
+ Amount:
+ description: The amount of added or deducted loyalty points.
+ example: 10.99
+ type: number
+ ExpiryDate:
+ description: The expiration date for loyalty points.
+ example: 2024-01-24T14:15:22Z
+ format: date-time
+ type: string
Operation:
description: The action (addition or deduction) made with loyalty points.
enum:
- addition
- deduction
type: string
+ Reason:
+ description: The reason for the points addition or deduction.
+ example: Compensation
+ type: string
StartDate:
description: The start date for loyalty points.
example: 2023-01-24T14:15:22Z
format: date-time
type: string
- ExpiryDate:
- description: The expiration date for loyalty points.
- example: 2024-01-24T14:15:22Z
- format: date-time
+ required:
+ - Amount
+ - CardIdentifier
+ - EmployeeName
+ - LoyaltyProgramID
+ - NotificationType
+ - Operation
+ - ProfileIntegrationIDs
+ - Reason
+ - SessionIntegrationID
+ - SubledgerID
+ - TypeOfChange
+ - UserID
+ - UsersPerCardLimit
+ type: object
+ CardAddedDeductedPointsBalancesNotification:
+ properties:
+ CardIdentifier:
+ description: Loyalty card identification number.
+ example: 123-456-789ATBC
+ type: string
+ EmployeeName:
+ description: The name of the employee who added or deducted points.
+ example: Franziska Schneider
type: string
+ LoyaltyProgramID:
+ description: The ID of the loyalty program.
+ example: 5
+ format: int64
+ minimum: 1
+ type: integer
+ NotificationType:
+ description: The type of notification.
+ enum:
+ - LoyaltyCardAddedDeductedPointsBalances
+ type: string
+ ProfileIntegrationIDs:
+ description: The integration ID of the customer profile to whom points were
+ added or deducted.
+ example:
+ - yJSObdNNtOetCHWHPFuz
+ - test-user-4zoj1c
+ items:
+ type: string
+ type: array
SessionIntegrationID:
description: The integration ID of the session through which the points
were earned or lost.
example: cc53e4fa-547f-4f5e-8333-76e05c381f67
type: string
- NotificationType:
- description: The type of notification.
- enum:
- - LoyaltyCardPointsDeducted
- - LoyaltyCardPointsAdded
+ SubledgerID:
+ description: The ID of the subledger within the loyalty program where these
+ points were added or deducted.
+ example: sub-123
type: string
- CardIdentifier:
- description: Loyalty card identification number.
- example: 123-456-789ATBC
+ TypeOfChange:
+ description: |
+ The notification source, that is, it indicates whether the points were added or deducted via one of the following routes:
+ - [The Campaign Manager](/docs/product/getting-started)
+ - [Management API](/management-api#tag/Loyalty)
+ - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters)
+ enum:
+ - campaign_manager
+ - rule_engine
+ - management_api
type: string
+ UserID:
+ description: The ID of the employee who added or deducted points.
+ example: 25
+ format: int64
+ type: integer
UsersPerCardLimit:
description: The max amount of user profiles with whom a card can be shared.
This can be set to `0` for no limit.
example: 10
format: int64
type: integer
+ Actions:
+ description: The list of actions that have been triggered in the loyalty
+ program.
+ items:
+ $ref: '#/components/schemas/AddedDeductedPointsBalancesAction'
+ minItems: 1
+ type: array
+ CurrentPoints:
+ description: The current points balance.
+ example: 10.99
+ type: number
required:
- - Amount
+ - Actions
- CardIdentifier
+ - CurrentPoints
- EmployeeName
- LoyaltyProgramID
- NotificationType
- - Operation
- ProfileIntegrationIDs
- - Reason
- SessionIntegrationID
- SubledgerID
- TypeOfChange
- UserID
- UsersPerCardLimit
type: object
+ PrismaticEventPayloadLoyaltyProfileBasedNotificationsAction:
+ properties:
+ Amount:
+ format: float
+ type: number
+ Reason:
+ type: string
+ Operation:
+ enum:
+ - addition
+ - deduction
+ type: string
+ StartDate:
+ format: date-time
+ type: string
+ ExpiryDate:
+ format: date-time
+ type: string
+ required:
+ - Amount
+ - Operation
+ type: object
+ PrismaticEventPayloadLoyaltyProfileBasedNotifications:
+ properties:
+ ProfileIntegrationID:
+ type: string
+ LoyaltyProgramID:
+ format: int64
+ type: integer
+ SubledgerID:
+ type: string
+ SourceOfEvent:
+ type: string
+ EmployeeName:
+ type: string
+ UserID:
+ format: int64
+ type: integer
+ SessionIntegrationID:
+ type: string
+ CurrentTier:
+ type: string
+ CurrentPoints:
+ format: float
+ type: number
+ OldTier:
+ type: string
+ PointsRequiredToTheNextTier:
+ format: float
+ type: number
+ NextTier:
+ type: string
+ TierExpirationDate:
+ format: date-time
+ type: string
+ TimestampOfTierChange:
+ format: date-time
+ type: string
+ Actions:
+ items:
+ $ref: '#/components/schemas/PrismaticEventPayloadLoyaltyProfileBasedNotificationsAction'
+ type: array
+ required:
+ - CurrentPoints
+ - LoyaltyProgramID
+ - ProfileIntegrationID
+ - SourceOfEvent
+ - SubledgerID
+ type: object
+ x-discriminator-value: LoyaltyTierUpgrade
+ x-ms-discriminator-value: LoyaltyTierUpgrade
+ PrismaticEventPayloadCouponBasedNotificationsLimits:
+ properties:
+ Action:
+ type: string
+ Limit:
+ format: float
+ type: number
+ Period:
+ type: string
+ Entities:
+ items:
+ type: string
+ type: array
+ required:
+ - Action
+ - Entities
+ - Limit
+ type: object
+ PrismaticEventPayloadCouponBasedNotifications:
+ properties:
+ Id:
+ format: int64
+ type: integer
+ Created:
+ format: date-time
+ type: string
+ CampaignId:
+ format: int64
+ type: integer
+ Value:
+ type: string
+ UsageLimit:
+ format: int64
+ type: integer
+ DiscountLimit:
+ format: float
+ type: number
+ ReservationLimit:
+ format: int64
+ type: integer
+ StartDate:
+ format: date-time
+ type: string
+ ExpiryDate:
+ format: date-time
+ type: string
+ UsageCounter:
+ format: int64
+ type: integer
+ DiscountCounter:
+ format: float
+ type: number
+ DiscountRemainder:
+ format: float
+ type: number
+ ReferralId:
+ format: int64
+ type: integer
+ RecipientIntegrationId:
+ type: string
+ ImportId:
+ format: int64
+ type: integer
+ BatchId:
+ type: string
+ Attributes:
+ properties: {}
+ type: object
+ Limits:
+ items:
+ $ref: '#/components/schemas/PrismaticEventPayloadCouponBasedNotificationsLimits'
+ type: array
+ SourceOfEvent:
+ type: string
+ EmployeeName:
+ type: string
+ required:
+ - CampaignId
+ - Created
+ - EmployeeName
+ - Id
+ - SourceOfEvent
+ - UsageCounter
+ - UsageLimit
+ - Value
+ type: object
+ x-discriminator-value: CouponDeleted
+ x-ms-discriminator-value: CouponDeleted
SetLoyaltyPointsExpiryDateEffectProps:
description: |
The properties specific to the "setLoyaltyPointsExpiryDate" effect. This gets triggered when a validated rule contains the "set expiry date" effect. The current expiry date gets set to the date given in the effect.
@@ -41048,6 +42613,7 @@ components:
transactionUUID: ce59f12a-f53b-4014-a745-636d93f2bd3f
subledgerId: sub-123
name: Reward 10% points of a purchase's current total
+ validityDuration: 30D
ruleName: Add 2 points
id: 123
programId: 324
@@ -41062,6 +42628,7 @@ components:
transactionUUID: ce59f12a-f53b-4014-a745-636d93f2bd3f
subledgerId: sub-123
name: Reward 10% points of a purchase's current total
+ validityDuration: 30D
ruleName: Add 2 points
id: 123
programId: 324
@@ -41092,6 +42659,7 @@ components:
transactionUUID: ce59f12a-f53b-4014-a745-636d93f2bd3f
subledgerId: sub-123
name: Reward 10% points of a purchase's current total
+ validityDuration: 30D
ruleName: Add 2 points
id: 123
programId: 324
@@ -41107,6 +42675,7 @@ components:
transactionUUID: ce59f12a-f53b-4014-a745-636d93f2bd3f
subledgerId: sub-123
name: Reward 10% points of a purchase's current total
+ validityDuration: 30D
ruleName: Add 2 points
id: 123
programId: 324
@@ -41133,6 +42702,7 @@ components:
created: 2000-01-23T04:56:07.000+00:00
subledgerId: sub-123
name: Reward 10% points of a purchase's current total
+ validityDuration: 30D
customerSessionId: 05c2da0d-48fa-4aa1-b629-898f58f1584d
id: 123
programId: 324
@@ -41144,6 +42714,7 @@ components:
created: 2000-01-23T04:56:07.000+00:00
subledgerId: sub-123
name: Reward 10% points of a purchase's current total
+ validityDuration: 30D
customerSessionId: 05c2da0d-48fa-4aa1-b629-898f58f1584d
id: 123
programId: 324
@@ -41169,6 +42740,7 @@ components:
created: 2000-01-23T04:56:07.000+00:00
subledgerId: sub-123
name: Reward 10% points of a purchase's current total
+ validityDuration: 30D
customerSessionId: 05c2da0d-48fa-4aa1-b629-898f58f1584d
id: 123
programId: 324
@@ -41179,6 +42751,7 @@ components:
created: 2000-01-23T04:56:07.000+00:00
subledgerId: sub-123
name: Reward 10% points of a purchase's current total
+ validityDuration: 30D
customerSessionId: 05c2da0d-48fa-4aa1-b629-898f58f1584d
id: 123
programId: 324
@@ -41241,7 +42814,6 @@ components:
timezone: Europe/Berlin
description: Customers collect 10 points per 1$ spent
title: Point collection
- canUpdateJoinPolicy: true
canUpdateSubledgers: true
programJoinPolicy: not_join
accountID: 1
@@ -41323,7 +42895,6 @@ components:
timezone: Europe/Berlin
description: Customers collect 10 points per 1$ spent
title: Point collection
- canUpdateJoinPolicy: true
canUpdateSubledgers: true
programJoinPolicy: not_join
accountID: 1
@@ -41444,7 +43015,6 @@ components:
timezone: Europe/Berlin
description: Customers collect 10 points per 1$ spent
title: Point collection
- canUpdateJoinPolicy: true
canUpdateSubledgers: true
programJoinPolicy: not_join
accountID: 1
@@ -41526,7 +43096,6 @@ components:
timezone: Europe/Berlin
description: Customers collect 10 points per 1$ spent
title: Point collection
- canUpdateJoinPolicy: true
canUpdateSubledgers: true
programJoinPolicy: not_join
accountID: 1
@@ -42554,6 +44123,7 @@ components:
description: My collection of SKUs
- name: My collection
description: My collection of SKUs
+ campaignsCount: 3
defaultCampaignGroupId: 42
description: This is a template for a discount campaign.
features:
@@ -42694,6 +44264,7 @@ components:
description: My collection of SKUs
- name: My collection
description: My collection of SKUs
+ campaignsCount: 3
defaultCampaignGroupId: 42
description: This is a template for a discount campaign.
features:
@@ -42864,7 +44435,6 @@ components:
timezone: Europe/Berlin
description: Customers collect 10 points per 1$ spent
title: Point collection
- canUpdateJoinPolicy: true
canUpdateSubledgers: true
programJoinPolicy: not_join
accountID: 1
@@ -42946,7 +44516,6 @@ components:
timezone: Europe/Berlin
description: Customers collect 10 points per 1$ spent
title: Point collection
- canUpdateJoinPolicy: true
canUpdateSubledgers: true
programJoinPolicy: not_join
accountID: 1
@@ -43081,6 +44650,7 @@ components:
customerProfileId: kda0fajs0-fad9f-fd9dfsa9-fd9dasjf9
subledgerId: sub-123
name: Reward 50 points for each $500 purchase
+ validityDuration: 30D
ruleName: 10 points for every $100 spent
userEmail: john.doe@example.com
id: 123
@@ -43102,6 +44672,7 @@ components:
customerProfileId: kda0fajs0-fad9f-fd9dfsa9-fd9dasjf9
subledgerId: sub-123
name: Reward 50 points for each $500 purchase
+ validityDuration: 30D
ruleName: 10 points for every $100 spent
userEmail: john.doe@example.com
id: 123
@@ -44598,6 +46169,7 @@ components:
example:
data:
- accountId: 3886
+ isReadonly: false
created: 2020-06-10T09:05:27.993483Z
permissions:
permissionSets:
@@ -44645,6 +46217,7 @@ components:
delete specific campaign access groups, and view loyalty programs.
id: 6
- accountId: 3886
+ isReadonly: false
created: 2020-06-10T09:05:27.993483Z
permissions:
permissionSets:
@@ -44925,28 +46498,6 @@ components:
type: object
minItems: 1
type: array
- BestPriorPriceRequest_target:
- description: Specifies the target for which the best prior price calculation
- is taken into consideration.
- example:
- targetType: AUDIENCE
- audienceID: 4
- properties:
- targetType:
- description: The type of price target.
- enum:
- - NONE
- - AUDIENCE
- example: AUDIENCE
- type: string
- audienceID:
- description: The AudienceID of an audience. Must be used with "AUDIENCE"
- target type.
- example: 4
- format: int64
- type: integer
- required:
- - targetType
ScimBaseUser_name:
description: The components of the user’s real name.
example:
@@ -45016,28 +46567,19 @@ components:
$ref: '#/components/schemas/AnalyticsDataPointWithTrend'
securitySchemes:
api_key_v1:
- description: |
- To authenticate with the Integration API, generate an API key in the Campaign Manager
- and prefix it with `ApiKey-v1`.
-
- To generate an API key:
-
- 1. Sign in to the Campaign Manager and open the Application of your choice, or create one.
- 1. Click **Settings** > **Integration API Keys**.
- 1. Click **Create API Key** and give it a name and an expiration date, then click **Create API Key**.
-
- You can now use the API key in the HTTP header, prefixing it with `ApiKey-v1`:
-
- ```
- Authorization: ApiKey-v1 dbc644d33aa74d582bd9479c59e16f970fe13bf3
- ```
-
- Or use it inside [an SDK](https://docs.talon.one/docs/dev/sdks/overview), for example, with the JAVA SDK:
-
- ```
- iApi.getApiClient().setApiKeyPrefix("ApiKey-v1");
- iApi.getApiClient().setApiKey("dbc644d33aa74d582bd9479c59e16f970fe13bf3");
- ```
+ description: "To authenticate with the Integration API, generate an API key\
+ \ in the Campaign Manager\nand prefix it with `ApiKey-v1`.\n\nTo generate\
+ \ an API key:\n\n1. Sign in to the Campaign Manager and open the Application\
+ \ of your choice, or create one.\n1. Click **Settings** > **Integration API\
+ \ Keys**.\n1. Click **Create API Key** and give it a name and an expiration\
+ \ date, then click **Create API Key**.\n \n **Tip**: Avoid choosing expiration\
+ \ dates that fall at the end of\n the year or during other high-traffic\
+ \ periods.\n\n\nYou can now use the API key in the HTTP header, prefixing\
+ \ it with `ApiKey-v1`:\n\n```\nAuthorization: ApiKey-v1 dbc644d33aa74d582bd9479c59e16f970fe13bf3\n\
+ ```\n\nOr use it inside [an SDK](https://docs.talon.one/docs/dev/sdks/overview),\
+ \ for example, with the JAVA SDK:\n\n```\niApi.getApiClient().setApiKeyPrefix(\"\
+ ApiKey-v1\");\niApi.getApiClient().setApiKey(\"dbc644d33aa74d582bd9479c59e16f970fe13bf3\"\
+ );\n```\n"
in: header
name: Authorization
type: apiKey
@@ -45060,28 +46602,19 @@ components:
name: Authorization
type: apiKey
management_key:
- description: |
- The API key authentication gives you access to the endpoints selected by the admin who created the key.
- Using an API key is the recommended authentication method.
-
- The key must be generated by an admin and given to the developer that requires it:
-
- 1. Sign in to the Campaign Manager and click **Account** > **Tools** > **Management API Keys**.
- 1. Click **Create Key** and give it a name.
- 1. Set an expiration date.
- 1. Choose the endpoints the key should give access to.
- 1. Click **Create Key**.
- 1. Share it with your developer.
-
- The developer can now use the API key in the HTTP header, prefixing it with `ManagementKey-v1`:
-
- ```
- Authorization: ManagementKey-v1 bd9479c59e16f9dbc644d33aa74d58270fe13bf3
- ```
+ description: "The API key authentication gives you access to the endpoints selected\
+ \ by the admin who created the key.\nUsing an API key is the recommended authentication\
+ \ method.\n\nThe key must be generated by an admin and given to the developer\
+ \ that requires it:\n\n1. Sign in to the Campaign Manager and click **Account**\
+ \ > **Tools** > **Management API Keys**.\n1. Click **Create Key** and give\
+ \ it a name.\n1. Set an expiration date. \n \n **Tip**: Avoid choosing\
+ \ expiration dates that fall at the end of\n the year or during other high-traffic\
+ \ periods.\n\n1. Choose the endpoints the key should give access to.\n1. Click\
+ \ **Create Key**.\n1. Share it with your developer.\n\nThe developer can now\
+ \ use the API key in the HTTP header, prefixing it with `ManagementKey-v1`:\n\
+ \n```\nAuthorization: ManagementKey-v1 bd9479c59e16f9dbc644d33aa74d58270fe13bf3\n\
+ ```\n"
in: header
name: Authorization
type: apiKey
-x-notifications-desc: |
- Use [Application notifications](/docs/product/applications/application-notifications/overview) and [loyalty notifications](/docs/product/loyalty-programs/loyalty-notifications/overview) to notify the system of your choice of certain changes that happened in Talon.One.
- **Note:** Required fields are not omitted if they are empty (have `null` value).
diff --git a/build.gradle b/build.gradle
index 176cd785..979274c0 100644
--- a/build.gradle
+++ b/build.gradle
@@ -3,7 +3,7 @@ apply plugin: 'eclipse'
apply plugin: 'java'
group = 'one.talon'
-version = '14.1.0'
+version = '14.1.1'
buildscript {
repositories {
diff --git a/build.sbt b/build.sbt
index ef863e19..05d198a6 100644
--- a/build.sbt
+++ b/build.sbt
@@ -2,7 +2,7 @@ lazy val root = (project in file(".")).
settings(
organization := "one.talon",
name := "talon-one-client",
- version := "14.1.0",
+ version := "14.1.1",
scalaVersion := "2.11.4",
scalacOptions ++= Seq("-feature"),
javacOptions in compile ++= Seq("-Xlint:deprecation"),
diff --git a/docs/ActivateLoyaltyPoints.md b/docs/ActivateLoyaltyPoints.md
new file mode 100644
index 00000000..cc5ea30c
--- /dev/null
+++ b/docs/ActivateLoyaltyPoints.md
@@ -0,0 +1,14 @@
+
+
+# ActivateLoyaltyPoints
+
+Activate loyalty points
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**transactionUUIDs** | [**List<UUID>**](UUID.md) | An array of transaction UUIDs used to activate specific pending point transactions. If provided, do not include the `sessionId` parameter. | [optional]
+**sessionId** | **String** | The ID of the session containing the pending point transactions to activate. If provided, do not include the `transactionUUIDs` parameter. | [optional]
+
+
+
diff --git a/docs/ActivateLoyaltyPointsResponse.md b/docs/ActivateLoyaltyPointsResponse.md
new file mode 100644
index 00000000..69e452ee
--- /dev/null
+++ b/docs/ActivateLoyaltyPointsResponse.md
@@ -0,0 +1,12 @@
+
+
+# ActivateLoyaltyPointsResponse
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ledgerEntries** | [**List<LoyaltyLedgerEntry>**](LoyaltyLedgerEntry.md) | Updated ledger entries after activation. | [optional]
+
+
+
diff --git a/docs/AddLoyaltyPoints.md b/docs/AddLoyaltyPoints.md
index 3f94b2b2..8845088d 100644
--- a/docs/AddLoyaltyPoints.md
+++ b/docs/AddLoyaltyPoints.md
@@ -9,7 +9,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**points** | [**BigDecimal**](BigDecimal.md) | Amount of loyalty points. |
**name** | **String** | Name / reason for the point addition. | [optional]
-**validityDuration** | **String** | The time format is either: - `immediate` or, - an **integer** followed by one letter indicating the time unit. Examples: `immediate`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. If passed, `validUntil` should be omitted. | [optional]
+**validityDuration** | **String** | The time format is either: - `unlimited` or, - an **integer** followed by one letter indicating the time unit. Examples: `unlimited`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. If passed, `validUntil` should be omitted. | [optional]
**validUntil** | [**OffsetDateTime**](OffsetDateTime.md) | Date and time when points should expire. The value should be provided in RFC 3339 format. If passed, `validityDuration` should be omitted. | [optional]
**pendingDuration** | **String** | The amount of time before the points are considered valid. The time format is either: - `immediate` or, - `on_action` or, - an **integer** followed by one letter indicating the time unit. Examples: `immediate`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`, `on_action`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. | [optional]
**pendingUntil** | [**OffsetDateTime**](OffsetDateTime.md) | Date and time after the points are considered valid. The value should be provided in RFC 3339 format. If passed, `pendingDuration` should be omitted. | [optional]
diff --git a/docs/AddLoyaltyPointsEffectProps.md b/docs/AddLoyaltyPointsEffectProps.md
index ada3b99d..4b13688b 100644
--- a/docs/AddLoyaltyPointsEffectProps.md
+++ b/docs/AddLoyaltyPointsEffectProps.md
@@ -21,6 +21,8 @@ Name | Type | Description | Notes
**cardIdentifier** | **String** | The alphanumeric identifier of the loyalty card. | [optional]
**bundleIndex** | **Long** | The position of the bundle in a list of item bundles created from the same bundle definition. | [optional]
**bundleName** | **String** | The name of the bundle definition. | [optional]
+**awaitsActivation** | **Boolean** | If `true`, the loyalty points remain pending until a specific action is complete. The `startDate` parameter automatically sets to `on_action`. | [optional]
+**validityDuration** | **String** | The duration for which the points remain active, calculated relative to the activation date. **Note**: This value is returned only if `awaitsActivation` is `true` and `expiryDate` is not set. | [optional]
diff --git a/docs/AddedDeductedPointsBalancesAction.md b/docs/AddedDeductedPointsBalancesAction.md
new file mode 100644
index 00000000..67973ccb
--- /dev/null
+++ b/docs/AddedDeductedPointsBalancesAction.md
@@ -0,0 +1,25 @@
+
+
+# AddedDeductedPointsBalancesAction
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**amount** | [**BigDecimal**](BigDecimal.md) | The amount of added or deducted loyalty points. |
+**reason** | **String** | The reason for the points addition or deduction. |
+**operation** | [**OperationEnum**](#OperationEnum) | The action (addition or deduction) made with loyalty points. |
+**startDate** | [**OffsetDateTime**](OffsetDateTime.md) | The start date for loyalty points. | [optional]
+**expiryDate** | [**OffsetDateTime**](OffsetDateTime.md) | The expiration date for loyalty points. | [optional]
+
+
+
+## Enum: OperationEnum
+
+Name | Value
+---- | -----
+ADDITION | "addition"
+DEDUCTION | "deduction"
+
+
+
diff --git a/docs/AddedDeductedPointsBalancesNotification.md b/docs/AddedDeductedPointsBalancesNotification.md
new file mode 100644
index 00000000..2b9a5218
--- /dev/null
+++ b/docs/AddedDeductedPointsBalancesNotification.md
@@ -0,0 +1,39 @@
+
+
+# AddedDeductedPointsBalancesNotification
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**employeeName** | **String** | The name of the employee who added or deducted points. |
+**loyaltyProgramID** | **Long** | The ID of the loyalty program. |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of notification. |
+**profileIntegrationID** | **String** | The integration ID of the customer profile to whom points were added or deducted. |
+**sessionIntegrationID** | **String** | The integration ID of the session through which the points were earned or lost. |
+**subledgerID** | **String** | The ID of the subledger within the loyalty program where these points were added. |
+**typeOfChange** | [**TypeOfChangeEnum**](#TypeOfChangeEnum) | The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters) |
+**userID** | **Long** | The ID of the employee who added or deducted points. |
+**actions** | [**List<AddedDeductedPointsBalancesAction>**](AddedDeductedPointsBalancesAction.md) | The list of actions that have been triggered in the loyalty program. |
+**currentPoints** | [**BigDecimal**](BigDecimal.md) | The current points balance. |
+
+
+
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+LOYALTYADDEDDEDUCTEDPOINTSBALANCES | "LoyaltyAddedDeductedPointsBalances"
+
+
+
+## Enum: TypeOfChangeEnum
+
+Name | Value
+---- | -----
+CAMPAIGN_MANAGER | "campaign_manager"
+RULE_ENGINE | "rule_engine"
+MANAGEMENT_API | "management_api"
+
+
+
diff --git a/docs/AddedDeductedPointsNotification.md b/docs/AddedDeductedPointsNotification.md
index dbad7aeb..97d8a9f1 100644
--- a/docs/AddedDeductedPointsNotification.md
+++ b/docs/AddedDeductedPointsNotification.md
@@ -6,19 +6,28 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**profileIntegrationID** | **String** | The integration ID of the customer profile to whom points were added or deducted. |
+**employeeName** | **String** | The name of the employee who added or deducted points. |
**loyaltyProgramID** | **Long** | The ID of the loyalty program. |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of notification. |
+**profileIntegrationID** | **String** | The integration ID of the customer profile to whom points were added or deducted. |
+**sessionIntegrationID** | **String** | The integration ID of the session through which the points were earned or lost. |
**subledgerID** | **String** | The ID of the subledger within the loyalty program where these points were added. |
-**amount** | [**BigDecimal**](BigDecimal.md) | The amount of added or deducted loyalty points. |
-**reason** | **String** | The reason for the points addition or deduction. |
**typeOfChange** | [**TypeOfChangeEnum**](#TypeOfChangeEnum) | The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters) |
-**employeeName** | **String** | The name of the employee who added or deducted points. |
**userID** | **Long** | The ID of the employee who added or deducted points. |
+**amount** | [**BigDecimal**](BigDecimal.md) | The amount of added or deducted loyalty points. |
+**expiryDate** | [**OffsetDateTime**](OffsetDateTime.md) | The expiration date for loyalty points. | [optional]
**operation** | [**OperationEnum**](#OperationEnum) | The action (addition or deduction) made with loyalty points. |
+**reason** | **String** | The reason for the points addition or deduction. |
**startDate** | [**OffsetDateTime**](OffsetDateTime.md) | The start date for loyalty points. | [optional]
-**expiryDate** | [**OffsetDateTime**](OffsetDateTime.md) | The expiration date for loyalty points. | [optional]
-**sessionIntegrationID** | **String** | The integration ID of the session through which the points were earned or lost. |
-**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of notification. |
+
+
+
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+LOYALTYPOINTSDEDUCTED | "LoyaltyPointsDeducted"
+LOYALTYPOINTSADDED | "LoyaltyPointsAdded"
@@ -41,12 +50,3 @@ DEDUCTION | "deduction"
-## Enum: NotificationTypeEnum
-
-Name | Value
----- | -----
-LOYALTYPOINTSDEDUCTED | "LoyaltyPointsDeducted"
-LOYALTYPOINTSADDED | "LoyaltyPointsAdded"
-
-
-
diff --git a/docs/AsyncCouponsData.md b/docs/AsyncCouponsData.md
index 017bf0f1..5b329a2d 100644
--- a/docs/AsyncCouponsData.md
+++ b/docs/AsyncCouponsData.md
@@ -10,7 +10,15 @@ Name | Type | Description | Notes
**typeOfChange** | **String** | |
**operation** | **String** | |
**employeeName** | **String** | |
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
+
+
+
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+ASYNCCOUPONSCREATED | "AsyncCouponsCreated"
diff --git a/docs/BestPriorPriceRequest.md b/docs/BestPriorPriceRequest.md
index d96579b0..113b1d49 100644
--- a/docs/BestPriorPriceRequest.md
+++ b/docs/BestPriorPriceRequest.md
@@ -8,9 +8,9 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**skus** | **List<String>** | List of product SKUs to check when determining the best prior price. |
**timeframeEndDate** | [**OffsetDateTime**](OffsetDateTime.md) | The end date and time that defines the latest time for retrieving historical SKU prices. |
-**timeframe** | **Integer** | The number of days prior to the timeframeEndDate. Only prices within this look back period are considered for the best prior price evaluation. |
+**timeframe** | **String** | The number of days prior to the timeframeEndDate. Only prices within this look back period are considered for the best prior price evaluation. |
**strictEndDate** | **Boolean** | Indicates whether the timeframe includes the start of the current sale. - When `false`, the timeframe includes the start date of the current sale. - When `true`, the timeframe striclty uses the number of days specified in `timeframe`. |
-**target** | [**BestPriorPriceRequestTarget**](BestPriorPriceRequestTarget.md) | | [optional]
+**target** | [**BestPriorTarget**](BestPriorTarget.md) | | [optional]
diff --git a/docs/BestPriorTarget.md b/docs/BestPriorTarget.md
new file mode 100644
index 00000000..897adf78
--- /dev/null
+++ b/docs/BestPriorTarget.md
@@ -0,0 +1,23 @@
+
+
+# BestPriorTarget
+
+Specifies the target for which the best prior price calculation is taken into consideration.
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**targetType** | [**TargetTypeEnum**](#TargetTypeEnum) | The type of price target. |
+**audienceID** | **Long** | The AudienceID of an audience. Must be used with \"AUDIENCE\" target type. | [optional]
+
+
+
+## Enum: TargetTypeEnum
+
+Name | Value
+---- | -----
+NONE | "NONE"
+AUDIENCE | "AUDIENCE"
+
+
+
diff --git a/docs/CampaignCollectionEditedNotification.md b/docs/CampaignCollectionEditedNotification.md
index f5be4b07..e9a593bf 100644
--- a/docs/CampaignCollectionEditedNotification.md
+++ b/docs/CampaignCollectionEditedNotification.md
@@ -6,9 +6,17 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
**totalResultSize** | **Long** | The total size of the result set. |
**data** | [**List<CampaignCollectionEditedNotificationItem>**](CampaignCollectionEditedNotificationItem.md) | A list of campaign notification data. | [optional]
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+CAMPAIGNNOTIFICATION | "CampaignNotification"
+
+
+
diff --git a/docs/CampaignCreatedNotification.md b/docs/CampaignCreatedNotification.md
index 67bb0ec3..43f43a13 100644
--- a/docs/CampaignCreatedNotification.md
+++ b/docs/CampaignCreatedNotification.md
@@ -6,9 +6,17 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
**totalResultSize** | **Long** | The total size of the result set. |
**data** | [**List<CampaignCreatedNotificationItem>**](CampaignCreatedNotificationItem.md) | A list of campaign notification data. | [optional]
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+CAMPAIGNNOTIFICATION | "CampaignNotification"
+
+
+
diff --git a/docs/CampaignDeletedNotification.md b/docs/CampaignDeletedNotification.md
index f019b23d..b2d4e45b 100644
--- a/docs/CampaignDeletedNotification.md
+++ b/docs/CampaignDeletedNotification.md
@@ -6,9 +6,17 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
**totalResultSize** | **Long** | The total size of the result set. |
**data** | [**List<CampaignDeletedNotificationItem>**](CampaignDeletedNotificationItem.md) | A list of campaign notification data. | [optional]
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+CAMPAIGNNOTIFICATION | "CampaignNotification"
+
+
+
diff --git a/docs/CampaignEditedNotification.md b/docs/CampaignEditedNotification.md
index 27984768..87c581c3 100644
--- a/docs/CampaignEditedNotification.md
+++ b/docs/CampaignEditedNotification.md
@@ -6,9 +6,17 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
**totalResultSize** | **Long** | The total size of the result set. |
**data** | [**List<CampaignEditedNotificationItem>**](CampaignEditedNotificationItem.md) | A list of campaign notification data. | [optional]
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+CAMPAIGNNOTIFICATION | "CampaignNotification"
+
+
+
diff --git a/docs/CampaignEvaluationTreeChangedMessage.md b/docs/CampaignEvaluationTreeChangedMessage.md
index 360540d3..7e39edb6 100644
--- a/docs/CampaignEvaluationTreeChangedMessage.md
+++ b/docs/CampaignEvaluationTreeChangedMessage.md
@@ -6,9 +6,17 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
**totalResultSize** | **Long** | The total size of the result set. |
**data** | [**List<ApplicationNotification>**](ApplicationNotification.md) | The array of changes. | [optional]
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+CAMPAIGNNOTIFICATION | "CampaignNotification"
+
+
+
diff --git a/docs/CampaignLogSummary.md b/docs/CampaignLogSummary.md
new file mode 100644
index 00000000..3da60c73
--- /dev/null
+++ b/docs/CampaignLogSummary.md
@@ -0,0 +1,27 @@
+
+
+# CampaignLogSummary
+
+Campaign Log Summary
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **String** | Name of the user that performed the change. |
+**email** | **String** | E-mail of the user that performed the change. |
+**created** | [**OffsetDateTime**](OffsetDateTime.md) | Date and time the change was performed. |
+**action** | [**ActionEnum**](#ActionEnum) | Action performed by the user. |
+**summary** | **String** | AI-generated summary of the action performed. |
+
+
+
+## Enum: ActionEnum
+
+Name | Value
+---- | -----
+CREATE | "create"
+DELETE | "delete"
+UPDATE | "update"
+
+
+
diff --git a/docs/CampaignNotificationBase.md b/docs/CampaignNotificationBase.md
index 1b0b62c3..35145151 100644
--- a/docs/CampaignNotificationBase.md
+++ b/docs/CampaignNotificationBase.md
@@ -6,8 +6,16 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
**totalResultSize** | **Long** | The total size of the result set. |
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+CAMPAIGNNOTIFICATION | "CampaignNotification"
+
+
+
diff --git a/docs/CampaignNotificationGeneric.md b/docs/CampaignNotificationGeneric.md
index c8640dbe..32ac9f67 100644
--- a/docs/CampaignNotificationGeneric.md
+++ b/docs/CampaignNotificationGeneric.md
@@ -6,9 +6,17 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
**totalResultSize** | **Long** | The total size of the result set. |
**data** | **List<Object>** | A list of campaign notification data. |
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+CAMPAIGNNOTIFICATION | "CampaignNotification"
+
+
+
diff --git a/docs/CampaignRulesetChangedNotification.md b/docs/CampaignRulesetChangedNotification.md
index 50c0cb3d..41b96d89 100644
--- a/docs/CampaignRulesetChangedNotification.md
+++ b/docs/CampaignRulesetChangedNotification.md
@@ -6,9 +6,17 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
**totalResultSize** | **Long** | The total size of the result set. |
**data** | [**List<CampaignRulesetChangedNotificationItem>**](CampaignRulesetChangedNotificationItem.md) | A list of campaign notification data. | [optional]
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+CAMPAIGNNOTIFICATION | "CampaignNotification"
+
+
+
diff --git a/docs/CampaignStateChangedNotification.md b/docs/CampaignStateChangedNotification.md
index 3f8e6f6c..5e972cbc 100644
--- a/docs/CampaignStateChangedNotification.md
+++ b/docs/CampaignStateChangedNotification.md
@@ -6,9 +6,17 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
**totalResultSize** | **Long** | The total size of the result set. |
**data** | [**List<CampaignStateChangedNotificationItem>**](CampaignStateChangedNotificationItem.md) | A list of campaign notification data. | [optional]
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+CAMPAIGNNOTIFICATION | "CampaignNotification"
+
+
+
diff --git a/docs/CampaignTemplate.md b/docs/CampaignTemplate.md
index 35f78b19..143432e2 100644
--- a/docs/CampaignTemplate.md
+++ b/docs/CampaignTemplate.md
@@ -28,6 +28,7 @@ Name | Type | Description | Notes
**campaignCollections** | [**List<CampaignTemplateCollection>**](CampaignTemplateCollection.md) | The campaign collections from the blueprint campaign for the template. | [optional]
**defaultCampaignGroupId** | **Long** | The default campaign group ID. | [optional]
**campaignType** | [**CampaignTypeEnum**](#CampaignTypeEnum) | The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. |
+**campaignsCount** | **Long** | The number of Campaigns created from this template. | [optional]
**updated** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp of the most recent update to the campaign template or any of its elements. | [optional]
**updatedBy** | **String** | Name of the user who last updated this campaign template, if available. | [optional]
**validApplicationIds** | **List<Long>** | The IDs of the Applications that are related to this entity. |
diff --git a/docs/CampaignTemplateParams.md b/docs/CampaignTemplateParams.md
index 76dfb911..a43b4b91 100644
--- a/docs/CampaignTemplateParams.md
+++ b/docs/CampaignTemplateParams.md
@@ -22,6 +22,7 @@ NUMBER | "number"
BOOLEAN | "boolean"
PERCENT | "percent"
_LIST_STRING_ | "(list string)"
+_LIST_NUMBER_ | "(list number)"
TIME | "time"
diff --git a/docs/CardAddedDeductedPointsBalancesNotification.md b/docs/CardAddedDeductedPointsBalancesNotification.md
new file mode 100644
index 00000000..6985b966
--- /dev/null
+++ b/docs/CardAddedDeductedPointsBalancesNotification.md
@@ -0,0 +1,41 @@
+
+
+# CardAddedDeductedPointsBalancesNotification
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**cardIdentifier** | **String** | Loyalty card identification number. |
+**employeeName** | **String** | The name of the employee who added or deducted points. |
+**loyaltyProgramID** | **Long** | The ID of the loyalty program. |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of notification. |
+**profileIntegrationIDs** | **List<String>** | The integration ID of the customer profile to whom points were added or deducted. |
+**sessionIntegrationID** | **String** | The integration ID of the session through which the points were earned or lost. |
+**subledgerID** | **String** | The ID of the subledger within the loyalty program where these points were added or deducted. |
+**typeOfChange** | [**TypeOfChangeEnum**](#TypeOfChangeEnum) | The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters) |
+**userID** | **Long** | The ID of the employee who added or deducted points. |
+**usersPerCardLimit** | **Long** | The max amount of user profiles with whom a card can be shared. This can be set to `0` for no limit. |
+**actions** | [**List<AddedDeductedPointsBalancesAction>**](AddedDeductedPointsBalancesAction.md) | The list of actions that have been triggered in the loyalty program. |
+**currentPoints** | [**BigDecimal**](BigDecimal.md) | The current points balance. |
+
+
+
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+LOYALTYCARDADDEDDEDUCTEDPOINTSBALANCES | "LoyaltyCardAddedDeductedPointsBalances"
+
+
+
+## Enum: TypeOfChangeEnum
+
+Name | Value
+---- | -----
+CAMPAIGN_MANAGER | "campaign_manager"
+RULE_ENGINE | "rule_engine"
+MANAGEMENT_API | "management_api"
+
+
+
diff --git a/docs/CardAddedDeductedPointsNotification.md b/docs/CardAddedDeductedPointsNotification.md
index 8c57b8f6..c69f2d20 100644
--- a/docs/CardAddedDeductedPointsNotification.md
+++ b/docs/CardAddedDeductedPointsNotification.md
@@ -6,21 +6,30 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**profileIntegrationIDs** | **List<String>** | The integration ID of the customer profile to whom points were added or deducted. |
+**cardIdentifier** | **String** | Loyalty card identification number. |
+**employeeName** | **String** | The name of the employee who added or deducted points. |
**loyaltyProgramID** | **Long** | The ID of the loyalty program. |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of notification. |
+**profileIntegrationIDs** | **List<String>** | The integration ID of the customer profile to whom points were added or deducted. |
+**sessionIntegrationID** | **String** | The integration ID of the session through which the points were earned or lost. |
**subledgerID** | **String** | The ID of the subledger within the loyalty program where these points were added or deducted. |
-**amount** | [**BigDecimal**](BigDecimal.md) | The amount of added or deducted loyalty points. |
-**reason** | **String** | The reason for the points addition or deduction. |
**typeOfChange** | [**TypeOfChangeEnum**](#TypeOfChangeEnum) | The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters) |
-**employeeName** | **String** | The name of the employee who added or deducted points. |
**userID** | **Long** | The ID of the employee who added or deducted points. |
+**usersPerCardLimit** | **Long** | The max amount of user profiles with whom a card can be shared. This can be set to `0` for no limit. |
+**amount** | [**BigDecimal**](BigDecimal.md) | The amount of added or deducted loyalty points. |
+**expiryDate** | [**OffsetDateTime**](OffsetDateTime.md) | The expiration date for loyalty points. | [optional]
**operation** | [**OperationEnum**](#OperationEnum) | The action (addition or deduction) made with loyalty points. |
+**reason** | **String** | The reason for the points addition or deduction. |
**startDate** | [**OffsetDateTime**](OffsetDateTime.md) | The start date for loyalty points. | [optional]
-**expiryDate** | [**OffsetDateTime**](OffsetDateTime.md) | The expiration date for loyalty points. | [optional]
-**sessionIntegrationID** | **String** | The integration ID of the session through which the points were earned or lost. |
-**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of notification. |
-**cardIdentifier** | **String** | Loyalty card identification number. |
-**usersPerCardLimit** | **Long** | The max amount of user profiles with whom a card can be shared. This can be set to `0` for no limit. |
+
+
+
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+LOYALTYCARDPOINTSDEDUCTED | "LoyaltyCardPointsDeducted"
+LOYALTYCARDPOINTSADDED | "LoyaltyCardPointsAdded"
@@ -43,12 +52,3 @@ DEDUCTION | "deduction"
-## Enum: NotificationTypeEnum
-
-Name | Value
----- | -----
-LOYALTYCARDPOINTSDEDUCTED | "LoyaltyCardPointsDeducted"
-LOYALTYCARDPOINTSADDED | "LoyaltyCardPointsAdded"
-
-
-
diff --git a/docs/CardLedgerPointsEntryIntegrationAPI.md b/docs/CardLedgerPointsEntryIntegrationAPI.md
index e19b2a1e..73d31d44 100644
--- a/docs/CardLedgerPointsEntryIntegrationAPI.md
+++ b/docs/CardLedgerPointsEntryIntegrationAPI.md
@@ -18,6 +18,7 @@ Name | Type | Description | Notes
**expiryDate** | **String** | Date when points expire. Possible values are: - `unlimited`: Points have no expiration date. - `timestamp value`: Points expire on the given date and time. |
**subledgerId** | **String** | ID of the subledger. |
**amount** | [**BigDecimal**](BigDecimal.md) | Amount of loyalty points added in the transaction. |
+**validityDuration** | **String** | The duration for which the points remain active, relative to the activation date. **Note**: This only applies to points for which `awaitsActivation` is `true` and `expiryDate` is not set. | [optional]
diff --git a/docs/CardLedgerTransactionLogEntryIntegrationAPI.md b/docs/CardLedgerTransactionLogEntryIntegrationAPI.md
index 4165a4c5..1224d997 100644
--- a/docs/CardLedgerTransactionLogEntryIntegrationAPI.md
+++ b/docs/CardLedgerTransactionLogEntryIntegrationAPI.md
@@ -14,13 +14,14 @@ Name | Type | Description | Notes
**customerSessionId** | **String** | ID of the customer session where the transaction occurred. | [optional]
**type** | [**TypeEnum**](#TypeEnum) | Type of transaction. Possible values: - `addition`: Signifies added points. - `subtraction`: Signifies deducted points. |
**name** | **String** | Name or reason of the loyalty ledger transaction. |
-**startDate** | **String** | When points become active. Possible values: - `immediate`: Points are active immediately. - a timestamp value: Points become active at a given date and time. |
+**startDate** | **String** | When points become active. Possible values: - `immediate`: Points are active immediately. - `on_action`: Points become active based on the customer's action. - a timestamp value: Points become active at a given date and time. |
**expiryDate** | **String** | Date when points expire. Possible values are: - `unlimited`: Points have no expiration date. - `timestamp value`: Points expire on the given date. |
**subledgerId** | **String** | ID of the subledger. |
**amount** | [**BigDecimal**](BigDecimal.md) | Amount of loyalty points added or deducted in the transaction. |
**id** | **Long** | ID of the loyalty ledger transaction. |
**rulesetId** | **Long** | The ID of the ruleset containing the rule that triggered this effect. | [optional]
**ruleName** | **String** | The name of the rule that triggered this effect. | [optional]
+**validityDuration** | **String** | The duration for which the points remain active, relative to the activation date. **Note**: This only applies to points for which `awaitsActivation` is `true` and `expiryDate` is not set. | [optional]
diff --git a/docs/CouponFailureSummary.md b/docs/CouponFailureSummary.md
new file mode 100644
index 00000000..22355f1b
--- /dev/null
+++ b/docs/CouponFailureSummary.md
@@ -0,0 +1,23 @@
+
+
+# CouponFailureSummary
+
+Summary of the reasons for coupon redemption failure.
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **Long** | ID of the evaluation record. |
+**eventID** | **Long** | ID of the event. |
+**sessionID** | **String** | ID of the customer session set by your integration layer. | [optional]
+**profileID** | **String** | ID of the customer profile set by your integration layer. | [optional]
+**status** | **String** | Status defines if the coupon code was applied or rejected. |
+**couponCode** | **String** | Coupon code passed for evaluation. |
+**language** | **String** | Language of the summary. |
+**shortSummary** | **String** | A summary of the reasons for coupon redemption failure. |
+**longSummary** | **String** | A detailed summary of the reasons for coupon redemption failure based on events of the entire session. |
+**createdAt** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp when the request was made. |
+**updatedAt** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp when the request was last updated. |
+
+
+
diff --git a/docs/CouponRejections.md b/docs/CouponRejections.md
new file mode 100644
index 00000000..d4b13acc
--- /dev/null
+++ b/docs/CouponRejections.md
@@ -0,0 +1,14 @@
+
+
+# CouponRejections
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**sessionDetails** | [**List<SessionCoupons>**](SessionCoupons.md) | Array containing details from session like session id and optional coupon code used in the session. Only the first 15 entries will be processed. |
+**applicationId** | **Long** | The application ID for which the coupon was used. |
+**language** | **String** | The language the summary will be generated in. | [optional]
+
+
+
diff --git a/docs/CouponsNotificationData.md b/docs/CouponsNotificationData.md
index d15f086e..a04e3998 100644
--- a/docs/CouponsNotificationData.md
+++ b/docs/CouponsNotificationData.md
@@ -11,7 +11,16 @@ Name | Type | Description | Notes
**employeeName** | **String** | The name of the employee associated with the operation. |
**data** | [**List<ExtendedCoupon>**](ExtendedCoupon.md) | A list of extended coupon data. | [optional]
**totalResultSize** | **Long** | | [optional]
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
+
+
+
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+COUPONUPDATED | "CouponUpdated"
+COUPONDELETED | "CouponDeleted"
diff --git a/docs/CreateCouponData.md b/docs/CreateCouponData.md
index 09ed9ae3..dfade05b 100644
--- a/docs/CreateCouponData.md
+++ b/docs/CreateCouponData.md
@@ -12,7 +12,15 @@ Name | Type | Description | Notes
**typeOfChange** | **String** | |
**operation** | **String** | |
**employeeName** | **String** | |
-**notificationType** | **String** | The type of the not |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the not |
+
+
+
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+COUPONCREATED | "CouponCreated"
diff --git a/docs/DeleteCouponsData.md b/docs/DeleteCouponsData.md
index 16c11836..9d976756 100644
--- a/docs/DeleteCouponsData.md
+++ b/docs/DeleteCouponsData.md
@@ -13,7 +13,15 @@ Name | Type | Description | Notes
**applicationID** | **Long** | |
**campaignID** | **Long** | |
**totalResultSize** | **Long** | |
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
+
+
+
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+COUPONSDELETED | "CouponsDeleted"
diff --git a/docs/DeleteLoyaltyTransactionsRequest.md b/docs/DeleteLoyaltyTransactionsRequest.md
new file mode 100644
index 00000000..1a201c85
--- /dev/null
+++ b/docs/DeleteLoyaltyTransactionsRequest.md
@@ -0,0 +1,23 @@
+
+
+# DeleteLoyaltyTransactionsRequest
+
+Request to delete transactions based on the specified scope.
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**scope** | [**ScopeEnum**](#ScopeEnum) | `AllSubledgers` deletes all transactions for the specified customer profile from all ledgers in the loyalty program. `SelectedSubledgers` deletes all transactions for the specified customer profile only from the given ledgers in the loyalty program. |
+**subledgerIds** | **List<String>** | The IDs of the ledgers from which to delete the customer's transactions. This parameter is required if the `scope` is set to `SelectedSubledgers`. To specify the main ledger, provide an empty string (\"\"). | [optional]
+
+
+
+## Enum: ScopeEnum
+
+Name | Value
+---- | -----
+ALLSUBLEDGERS | "AllSubledgers"
+SELECTEDSUBLEDGERS | "SelectedSubledgers"
+
+
+
diff --git a/docs/EventV3.md b/docs/EventV3.md
new file mode 100644
index 00000000..9f4fc30f
--- /dev/null
+++ b/docs/EventV3.md
@@ -0,0 +1,19 @@
+
+
+# EventV3
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**profileId** | **String** | ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`. |
+**storeIntegrationId** | **String** | The integration ID of the store. You choose this ID when you create a store. | [optional]
+**evaluableCampaignIds** | **List<Long>** | When using the `dry` query parameter, use this property to list the campaign to be evaluated by the Rule Engine. These campaigns will be evaluated, even if they are disabled, allowing you to test specific campaigns before activating them. | [optional]
+**integrationId** | **String** | The unique ID of the current event. Only one event with this ID could be activated, duplicated events are forbidden. |
+**type** | **String** | A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) of type `event` in the Campaign Manager. |
+**attributes** | [**Object**](.md) | Arbitrary additional JSON properties associated with the event. They must be created in the Campaign Manager before setting them with this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-a-custom-attribute). | [optional]
+**connectedSessionID** | **String** | The ID of the session that happened in the past. | [optional]
+**previousEventID** | **String** | The unique identifier of the event that happened in the past. | [optional]
+
+
+
diff --git a/docs/GenerateCampaignSummary.md b/docs/GenerateCampaignSummary.md
new file mode 100644
index 00000000..c4ecd138
--- /dev/null
+++ b/docs/GenerateCampaignSummary.md
@@ -0,0 +1,14 @@
+
+
+# GenerateCampaignSummary
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**campaignID** | **Long** | ID of a campaign. |
+**rulesetID** | **Long** | ID of a ruleset. |
+**currency** | **String** | Currency for the campaign. |
+
+
+
diff --git a/docs/IntegrationApi.md b/docs/IntegrationApi.md
index 71687fe6..eb90399e 100644
--- a/docs/IntegrationApi.md
+++ b/docs/IntegrationApi.md
@@ -4,6 +4,7 @@ All URLs are relative to `https://yourbaseurl.talon.one`.
Method | HTTP request | Description
------------- | ------------- | -------------
+[**activateLoyaltyPoints**](IntegrationApi.md#activateLoyaltyPoints) | **POST** /v1/loyalty_programs/{loyaltyProgramId}/activate_points | Activate loyalty points
[**bestPriorPrice**](IntegrationApi.md#bestPriorPrice) | **POST** /v1/best_prior_price | Fetch best prior price
[**createAudienceV2**](IntegrationApi.md#createAudienceV2) | **POST** /v2/audiences | Create audience
[**createCouponReservation**](IntegrationApi.md#createCouponReservation) | **POST** /v1/coupon_reservations/{couponValue} | Create coupon reservation
@@ -30,6 +31,7 @@ Method | HTTP request | Description
[**returnCartItems**](IntegrationApi.md#returnCartItems) | **POST** /v2/customer_sessions/{customerSessionId}/returns | Return cart items
[**syncCatalog**](IntegrationApi.md#syncCatalog) | **PUT** /v1/catalogs/{catalogId}/sync | Sync cart item catalog
[**trackEventV2**](IntegrationApi.md#trackEventV2) | **POST** /v2/events | Track event
+[**unlinkLoyaltyCardFromProfile**](IntegrationApi.md#unlinkLoyaltyCardFromProfile) | **POST** /v2/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/unlink_profile | Unlink customer profile from a loyalty card
[**updateAudienceCustomersAttributes**](IntegrationApi.md#updateAudienceCustomersAttributes) | **PUT** /v2/audience_customers/{audienceId}/attributes | Update profile attributes for all customers in audience
[**updateAudienceV2**](IntegrationApi.md#updateAudienceV2) | **PUT** /v2/audiences/{audienceId} | Update audience name
[**updateCustomerProfileAudiences**](IntegrationApi.md#updateCustomerProfileAudiences) | **POST** /v2/customer_audiences | Update multiple customer profiles' audiences
@@ -39,6 +41,83 @@ Method | HTTP request | Description
+## activateLoyaltyPoints
+
+> ActivateLoyaltyPointsResponse activateLoyaltyPoints(loyaltyProgramId, body)
+
+Activate loyalty points
+
+Activate points when a defined action occurs. You can activate pending points using one of the following parameters: - `sessionId`: Activates all points earned in the specified session. - `transactionUUIDs`: Activates points earned in the transactions specified by the given UUIDs.
+
+### Example
+
+```java
+// Import classes:
+import one.talon.ApiClient;
+import one.talon.ApiException;
+import one.talon.Configuration;
+import one.talon.auth.*;
+import one.talon.models.*;
+import one.talon.api.IntegrationApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://yourbaseurl.talon.one");
+
+ // Configure API key authorization: api_key_v1
+ ApiKeyAuth api_key_v1 = (ApiKeyAuth) defaultClient.getAuthentication("api_key_v1");
+ api_key_v1.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //api_key_v1.setApiKeyPrefix("Token");
+
+ IntegrationApi apiInstance = new IntegrationApi(defaultClient);
+ Long loyaltyProgramId = 56L; // Long | The identifier for the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
+ ActivateLoyaltyPoints body = new ActivateLoyaltyPoints(); // ActivateLoyaltyPoints | body
+ try {
+ ActivateLoyaltyPointsResponse result = apiInstance.activateLoyaltyPoints(loyaltyProgramId, body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling IntegrationApi#activateLoyaltyPoints");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **loyaltyProgramId** | **Long**| The identifier for the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. |
+ **body** | [**ActivateLoyaltyPoints**](ActivateLoyaltyPoints.md)| body |
+
+### Return type cool
+
+[**ActivateLoyaltyPointsResponse**](ActivateLoyaltyPointsResponse.md)
+
+### Authorization
+
+[api_key_v1](../README.md#api_key_v1)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **400** | Bad request | - |
+| **401** | Unauthorized | - |
+| **404** | Not found | - |
+
+
## bestPriorPrice
> List<BestPriorPrice> bestPriorPrice(body)
@@ -204,7 +283,7 @@ Name | Type | Description | Notes
Create coupon reservation
-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.
+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.
### Example
@@ -229,7 +308,7 @@ public class Example {
//api_key_v1.setApiKeyPrefix("Token");
IntegrationApi apiInstance = new IntegrationApi(defaultClient);
- String couponValue = "couponValue_example"; // String | The code of the coupon.
+ String couponValue = "couponValue_example"; // 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 `SUMMER25%OFF` as `SUMMER25%25OFF`.
CouponReservations body = new CouponReservations(); // CouponReservations | body
try {
Coupon result = apiInstance.createCouponReservation(couponValue, body);
@@ -250,7 +329,7 @@ public class Example {
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **couponValue** | **String**| The code of the coupon. |
+ **couponValue** | **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 `SUMMER25%OFF` as `SUMMER25%25OFF`. |
**body** | [**CouponReservations**](CouponReservations.md)| body |
### Return type cool
@@ -604,7 +683,7 @@ public class Example {
//api_key_v1.setApiKeyPrefix("Token");
IntegrationApi apiInstance = new IntegrationApi(defaultClient);
- String couponValue = "couponValue_example"; // String | The code of the coupon.
+ String couponValue = "couponValue_example"; // 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 `SUMMER25%OFF` as `SUMMER25%25OFF`.
CouponReservations body = new CouponReservations(); // CouponReservations | body
try {
apiInstance.deleteCouponReservation(couponValue, body);
@@ -624,7 +703,7 @@ public class Example {
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **couponValue** | **String**| The code of the coupon. |
+ **couponValue** | **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 `SUMMER25%OFF` as `SUMMER25%25OFF`. |
**body** | [**CouponReservations**](CouponReservations.md)| body |
### Return type cool
@@ -1391,7 +1470,7 @@ Name | Type | Description | Notes
## getLoyaltyCardTransactions
-> InlineResponse2003 getLoyaltyCardTransactions(loyaltyProgramId, loyaltyCardId, subledgerId, loyaltyTransactionType, startDate, endDate, customerSessionIDs, transactionUUIDs, pageSize, skip)
+> InlineResponse2003 getLoyaltyCardTransactions(loyaltyProgramId, loyaltyCardId, subledgerId, loyaltyTransactionType, startDate, endDate, customerSessionIDs, transactionUUIDs, pageSize, skip, awaitsActivation)
List card's transactions
@@ -1430,8 +1509,9 @@ public class Example {
List transactionUUIDs = Arrays.asList(); // List | Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, `?transactionUUIDs=uuid1&transactionUUIDs=uuid2`. The response contains only data associated with the specified transactions.
Long pageSize = 50lL; // Long | The number of items in the response.
Long skip = 56L; // Long | The number of items to skip when paging through large result sets.
+ Boolean awaitsActivation = true; // Boolean | If `true`: Filters results to include only point transactions that have action-based activation and have not expired. If `false`: Returns a `400` response.
try {
- InlineResponse2003 result = apiInstance.getLoyaltyCardTransactions(loyaltyProgramId, loyaltyCardId, subledgerId, loyaltyTransactionType, startDate, endDate, customerSessionIDs, transactionUUIDs, pageSize, skip);
+ InlineResponse2003 result = apiInstance.getLoyaltyCardTransactions(loyaltyProgramId, loyaltyCardId, subledgerId, loyaltyTransactionType, startDate, endDate, customerSessionIDs, transactionUUIDs, pageSize, skip, awaitsActivation);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling IntegrationApi#getLoyaltyCardTransactions");
@@ -1459,6 +1539,7 @@ Name | Type | Description | Notes
**transactionUUIDs** | [**List<String>**](String.md)| Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, `?transactionUUIDs=uuid1&transactionUUIDs=uuid2`. The response contains only data associated with the specified transactions. | [optional]
**pageSize** | **Long**| The number of items in the response. | [optional] [default to 50l]
**skip** | **Long**| The number of items to skip when paging through large result sets. | [optional]
+ **awaitsActivation** | **Boolean**| If `true`: Filters results to include only point transactions that have action-based activation and have not expired. If `false`: Returns a `400` response. | [optional]
### Return type cool
@@ -1575,7 +1656,7 @@ Name | Type | Description | Notes
## getLoyaltyProgramProfileTransactions
-> InlineResponse2004 getLoyaltyProgramProfileTransactions(loyaltyProgramId, integrationId, customerSessionIDs, transactionUUIDs, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip)
+> InlineResponse2004 getLoyaltyProgramProfileTransactions(loyaltyProgramId, integrationId, customerSessionIDs, transactionUUIDs, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip, awaitsActivation)
List customer's loyalty transactions
@@ -1614,8 +1695,9 @@ public class Example {
OffsetDateTime endDate = new OffsetDateTime(); // OffsetDateTime | 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered.
Long pageSize = 50lL; // Long | The number of items in the response.
Long skip = 56L; // Long | The number of items to skip when paging through large result sets.
+ Boolean awaitsActivation = true; // Boolean | If `true`: Filters results to include only point transactions that have action-based activation and have not expired. If `false`: Returns a `400` response.
try {
- InlineResponse2004 result = apiInstance.getLoyaltyProgramProfileTransactions(loyaltyProgramId, integrationId, customerSessionIDs, transactionUUIDs, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip);
+ InlineResponse2004 result = apiInstance.getLoyaltyProgramProfileTransactions(loyaltyProgramId, integrationId, customerSessionIDs, transactionUUIDs, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip, awaitsActivation);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling IntegrationApi#getLoyaltyProgramProfileTransactions");
@@ -1643,6 +1725,7 @@ Name | Type | Description | Notes
**endDate** | **OffsetDateTime**| 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | [optional]
**pageSize** | **Long**| The number of items in the response. | [optional] [default to 50l]
**skip** | **Long**| The number of items to skip when paging through large result sets. | [optional]
+ **awaitsActivation** | **Boolean**| If `true`: Filters results to include only point transactions that have action-based activation and have not expired. If `false`: Returns a `400` response. | [optional]
### Return type cool
@@ -1697,7 +1780,7 @@ public class Example {
//api_key_v1.setApiKeyPrefix("Token");
IntegrationApi apiInstance = new IntegrationApi(defaultClient);
- String couponValue = "couponValue_example"; // String | The code of the coupon.
+ String couponValue = "couponValue_example"; // 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 `SUMMER25%OFF` as `SUMMER25%25OFF`.
try {
InlineResponse200 result = apiInstance.getReservedCustomers(couponValue);
System.out.println(result);
@@ -1717,7 +1800,7 @@ public class Example {
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **couponValue** | **String**| The code of the coupon. |
+ **couponValue** | **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 `SUMMER25%OFF` as `SUMMER25%25OFF`. |
### Return type cool
@@ -1826,7 +1909,7 @@ Name | Type | Description | Notes
Reopen customer session
-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.
+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.
### Example
@@ -2130,6 +2213,85 @@ Name | Type | Description | Notes
| **409** | Too many requests or limit reached - Avoid parallel requests. See the [docs](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one#managing-parallel-requests). | - |
+## unlinkLoyaltyCardFromProfile
+
+> LoyaltyCard unlinkLoyaltyCardFromProfile(loyaltyProgramId, loyaltyCardId, body)
+
+Unlink customer profile from a loyalty card
+
+Unlink a customer profile from a [registered](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card) loyalty card. To get the `integrationId` of a customer profile, you can use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint.
+
+### Example
+
+```java
+// Import classes:
+import one.talon.ApiClient;
+import one.talon.ApiException;
+import one.talon.Configuration;
+import one.talon.auth.*;
+import one.talon.models.*;
+import one.talon.api.IntegrationApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://yourbaseurl.talon.one");
+
+ // Configure API key authorization: api_key_v1
+ ApiKeyAuth api_key_v1 = (ApiKeyAuth) defaultClient.getAuthentication("api_key_v1");
+ api_key_v1.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //api_key_v1.setApiKeyPrefix("Token");
+
+ IntegrationApi apiInstance = new IntegrationApi(defaultClient);
+ Long loyaltyProgramId = 56L; // Long | The identifier of the card-based loyalty program containing the loyalty card. You can get this ID using the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
+ String loyaltyCardId = "loyaltyCardId_example"; // String | The identifier of the loyalty card. You can get this ID using the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint.
+ LoyaltyCardRegistration body = new LoyaltyCardRegistration(); // LoyaltyCardRegistration | body
+ try {
+ LoyaltyCard result = apiInstance.unlinkLoyaltyCardFromProfile(loyaltyProgramId, loyaltyCardId, body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling IntegrationApi#unlinkLoyaltyCardFromProfile");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **loyaltyProgramId** | **Long**| The identifier of the card-based loyalty program containing the loyalty card. You can get this ID using the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. |
+ **loyaltyCardId** | **String**| The identifier of the loyalty card. You can get this ID using the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. |
+ **body** | [**LoyaltyCardRegistration**](LoyaltyCardRegistration.md)| body |
+
+### Return type cool
+
+[**LoyaltyCard**](LoyaltyCard.md)
+
+### Authorization
+
+[api_key_v1](../README.md#api_key_v1)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **400** | Bad request | - |
+| **401** | Unauthorized | - |
+| **404** | Not found | - |
+
+
## updateAudienceCustomersAttributes
> updateAudienceCustomersAttributes(audienceId, body)
diff --git a/docs/IntegrationEventV3Request.md b/docs/IntegrationEventV3Request.md
new file mode 100644
index 00000000..fc0fd486
--- /dev/null
+++ b/docs/IntegrationEventV3Request.md
@@ -0,0 +1,34 @@
+
+
+# IntegrationEventV3Request
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**profileId** | **String** | ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`. |
+**storeIntegrationId** | **String** | The integration ID of the store. You choose this ID when you create a store. | [optional]
+**evaluableCampaignIds** | **List<Long>** | When using the `dry` query parameter, use this property to list the campaign to be evaluated by the Rule Engine. These campaigns will be evaluated, even if they are disabled, allowing you to test specific campaigns before activating them. | [optional]
+**integrationId** | **String** | The unique ID of the current event. Only one event with this ID could be activated, duplicated events are forbidden. |
+**type** | **String** | A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) of type `event` in the Campaign Manager. |
+**attributes** | [**Object**](.md) | Arbitrary additional JSON properties associated with the event. They must be created in the Campaign Manager before setting them with this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-a-custom-attribute). | [optional]
+**connectedSessionID** | **String** | The ID of the session that happened in the past. | [optional]
+**previousEventID** | **String** | The unique identifier of the event that happened in the past. | [optional]
+**loyaltyCards** | **List<String>** | Identifiers of the loyalty cards used during this event. | [optional]
+**responseContent** | [**List<ResponseContentEnum>**](#List<ResponseContentEnum>) | Optional list of requested information to be present on the response related to the tracking custom event. | [optional]
+
+
+
+## Enum: List<ResponseContentEnum>
+
+Name | Value
+---- | -----
+CUSTOMERPROFILE | "customerProfile"
+TRIGGEREDCAMPAIGNS | "triggeredCampaigns"
+LOYALTY | "loyalty"
+EVENT | "event"
+AWARDEDGIVEAWAYS | "awardedGiveaways"
+RULEFAILUREREASONS | "ruleFailureReasons"
+
+
+
diff --git a/docs/IntegrationEventV3Response.md b/docs/IntegrationEventV3Response.md
new file mode 100644
index 00000000..e3bfb448
--- /dev/null
+++ b/docs/IntegrationEventV3Response.md
@@ -0,0 +1,21 @@
+
+
+# IntegrationEventV3Response
+
+This is the response type returned by the trackEventV3 endpoint.
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**customerProfile** | [**CustomerProfile**](CustomerProfile.md) | | [optional]
+**event** | [**EventV3**](EventV3.md) | | [optional]
+**loyalty** | [**Loyalty**](Loyalty.md) | | [optional]
+**triggeredCampaigns** | [**List<Campaign>**](Campaign.md) | | [optional]
+**ruleFailureReasons** | [**List<RuleFailureReason>**](RuleFailureReason.md) | | [optional]
+**awardedGiveaways** | [**List<Giveaway>**](Giveaway.md) | | [optional]
+**effects** | [**List<Effect>**](Effect.md) | The effects generated by the rules in your running campaigns. See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects). |
+**createdCoupons** | [**List<Coupon>**](Coupon.md) | |
+**createdReferrals** | [**List<Referral>**](Referral.md) | |
+
+
+
diff --git a/docs/IntegrationProfileEntityV3.md b/docs/IntegrationProfileEntityV3.md
new file mode 100644
index 00000000..de03ff24
--- /dev/null
+++ b/docs/IntegrationProfileEntityV3.md
@@ -0,0 +1,12 @@
+
+
+# IntegrationProfileEntityV3
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**profileId** | **String** | ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`. |
+
+
+
diff --git a/docs/LedgerPointsEntryIntegrationAPI.md b/docs/LedgerPointsEntryIntegrationAPI.md
index b91bee0c..4d14f317 100644
--- a/docs/LedgerPointsEntryIntegrationAPI.md
+++ b/docs/LedgerPointsEntryIntegrationAPI.md
@@ -17,6 +17,7 @@ Name | Type | Description | Notes
**expiryDate** | **String** | Date when points expire. Possible values are: - `unlimited`: Points have no expiration date. - `timestamp value`: Points expire on the given date and time. |
**subledgerId** | **String** | ID of the subledger. |
**amount** | [**BigDecimal**](BigDecimal.md) | Amount of loyalty points added in the transaction. |
+**validityDuration** | **String** | The duration for which the points remain active, relative to the activation date. **Note**: This only applies to points for which `awaitsActivation` is `true` and `expiryDate` is not set. | [optional]
diff --git a/docs/LedgerTransactionLogEntryIntegrationAPI.md b/docs/LedgerTransactionLogEntryIntegrationAPI.md
index 870d36c8..89553818 100644
--- a/docs/LedgerTransactionLogEntryIntegrationAPI.md
+++ b/docs/LedgerTransactionLogEntryIntegrationAPI.md
@@ -13,7 +13,7 @@ Name | Type | Description | Notes
**customerSessionId** | **String** | ID of the customer session where the transaction occurred. | [optional]
**type** | [**TypeEnum**](#TypeEnum) | Type of transaction. Possible values: - `addition`: Signifies added points. - `subtraction`: Signifies deducted points. |
**name** | **String** | Name or reason of the loyalty ledger transaction. |
-**startDate** | **String** | When points become active. Possible values: - `immediate`: Points are immediately active. - a timestamp value: Points become active at a given date and time. |
+**startDate** | **String** | When points become active. Possible values: - `immediate`: Points are immediately active. - `on_action`: Points become active based on the customer's action. - a timestamp value: Points become active at a given date and time. |
**expiryDate** | **String** | Date when points expire. Possible values are: - `unlimited`: Points have no expiration date. - `timestamp value`: Points expire on the given date. |
**subledgerId** | **String** | ID of the subledger. |
**amount** | [**BigDecimal**](BigDecimal.md) | Amount of loyalty points added or deducted in the transaction. |
@@ -21,6 +21,7 @@ Name | Type | Description | Notes
**rulesetId** | **Long** | The ID of the ruleset containing the rule that triggered this effect. | [optional]
**ruleName** | **String** | The name of the rule that triggered this effect. | [optional]
**flags** | [**LoyaltyLedgerEntryFlags**](LoyaltyLedgerEntryFlags.md) | | [optional]
+**validityDuration** | **String** | The duration for which the points remain active, relative to the activation date. **Note**: This only applies to points for which `awaitsActivation` is `true` and `expiryDate` is not set. | [optional]
diff --git a/docs/LoyaltyLedgerEntry.md b/docs/LoyaltyLedgerEntry.md
index 802bf7c0..231196cd 100644
--- a/docs/LoyaltyLedgerEntry.md
+++ b/docs/LoyaltyLedgerEntry.md
@@ -22,6 +22,7 @@ Name | Type | Description | Notes
**userID** | **Long** | This is the ID of the user who created this entry, if the addition or subtraction was done manually. | [optional]
**archived** | **Boolean** | Indicates if the entry belongs to the archived session. | [optional]
**flags** | [**LoyaltyLedgerEntryFlags**](LoyaltyLedgerEntryFlags.md) | | [optional]
+**validityDuration** | **String** | The duration for which the points remain active, relative to the activation date. **Note**: This only applies to points for which `awaitsActivation` is `true` and `expiryDate` is not set. | [optional]
diff --git a/docs/LoyaltyProgram.md b/docs/LoyaltyProgram.md
index dd1cee66..2afa4220 100644
--- a/docs/LoyaltyProgram.md
+++ b/docs/LoyaltyProgram.md
@@ -30,7 +30,6 @@ Name | Type | Description | Notes
**timezone** | **String** | A string containing an IANA timezone descriptor. |
**cardBased** | **Boolean** | Defines the type of loyalty program: - `true`: the program is a card-based. - `false`: the program is profile-based. |
**canUpdateTiers** | **Boolean** | `True` if the tier definitions can be updated. | [optional]
-**canUpdateJoinPolicy** | **Boolean** | `True` if the program join policy can be updated. | [optional]
**canUpdateTierExpirationPolicy** | **Boolean** | `True` if the tier expiration policy can be updated. | [optional]
**canUpgradeToAdvancedTiers** | **Boolean** | `True` if the program can be upgraded to use the `tiersExpireIn` and `tiersDowngradePolicy` properties. | [optional]
**canUpdateSubledgers** | **Boolean** | `True` if the `allowSubledger` property can be updated in the loyalty program. | [optional]
diff --git a/docs/LoyaltyProgramTransaction.md b/docs/LoyaltyProgramTransaction.md
index 19e4b099..b84cdb1a 100644
--- a/docs/LoyaltyProgramTransaction.md
+++ b/docs/LoyaltyProgramTransaction.md
@@ -14,7 +14,7 @@ Name | Type | Description | Notes
**type** | [**TypeEnum**](#TypeEnum) | Type of transaction. Possible values: - `addition`: Signifies added points. - `subtraction`: Signifies deducted points. |
**amount** | [**BigDecimal**](BigDecimal.md) | Amount of loyalty points added or deducted in the transaction. |
**name** | **String** | Name or reason for the loyalty ledger transaction. |
-**startDate** | **String** | When points become active. Possible values: - `immediate`: Points are immediately active. - a timestamp value: Points become active at a given date and time. |
+**startDate** | **String** | When points become active. Possible values: - `immediate`: Points are immediately active. - `on_action`: Points become active based on the customer's action. - a timestamp value: Points become active at a given date and time. |
**expiryDate** | **String** | When points expire. Possible values: - `unlimited`: Points have no expiration date. - a timestamp value: Points expire at a given date and time. |
**customerProfileId** | **String** | Customer profile integration ID used in the loyalty program. | [optional]
**cardIdentifier** | **String** | The alphanumeric identifier of the loyalty card. | [optional]
@@ -26,6 +26,7 @@ Name | Type | Description | Notes
**rulesetId** | **Long** | ID of the ruleset containing the rule that triggered the effect. Applies only for transactions that resulted from a customer session. | [optional]
**ruleName** | **String** | Name of the rule that triggered the effect. Applies only for transactions that resulted from a customer session. | [optional]
**flags** | [**LoyaltyLedgerEntryFlags**](LoyaltyLedgerEntryFlags.md) | | [optional]
+**validityDuration** | **String** | The duration for which the points remain active, relative to the activation date. **Note**: This only applies to points for which `awaitsActivation` is `true` and `expiryDate` is not set. | [optional]
diff --git a/docs/ManagementApi.md b/docs/ManagementApi.md
index 71777c4d..605ce03a 100644
--- a/docs/ManagementApi.md
+++ b/docs/ManagementApi.md
@@ -106,8 +106,10 @@ Method | HTTP request | Description
[**getLoyaltyCard**](ManagementApi.md#getLoyaltyCard) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId} | Get loyalty card
[**getLoyaltyCardTransactionLogs**](ManagementApi.md#getLoyaltyCardTransactionLogs) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/logs | List card's transactions
[**getLoyaltyCards**](ManagementApi.md#getLoyaltyCards) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/cards | List loyalty cards
+[**getLoyaltyLedgerBalances**](ManagementApi.md#getLoyaltyLedgerBalances) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/ledger_balances | Get customer's loyalty balances
[**getLoyaltyPoints**](ManagementApi.md#getLoyaltyPoints) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId} | Get customer's full loyalty ledger
[**getLoyaltyProgram**](ManagementApi.md#getLoyaltyProgram) | **GET** /v1/loyalty_programs/{loyaltyProgramId} | Get loyalty program
+[**getLoyaltyProgramProfileLedgerTransactions**](ManagementApi.md#getLoyaltyProgramProfileLedgerTransactions) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/ledger_transactions | List customer's loyalty transactions
[**getLoyaltyProgramTransactions**](ManagementApi.md#getLoyaltyProgramTransactions) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/transactions | List loyalty program transactions
[**getLoyaltyPrograms**](ManagementApi.md#getLoyaltyPrograms) | **GET** /v1/loyalty_programs | List loyalty programs
[**getLoyaltyStatistics**](ManagementApi.md#getLoyaltyStatistics) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/statistics | Get loyalty program statistics
@@ -6781,7 +6783,7 @@ Name | Type | Description | Notes
## getAttributes
-> InlineResponse20036 getAttributes(pageSize, skip, sort, entity)
+> InlineResponse20036 getAttributes(pageSize, skip, sort, entity, applicationIds, type, kind, search)
List custom attributes
@@ -6826,8 +6828,12 @@ public class Example {
Long skip = 56L; // Long | The number of items to skip when paging through large result sets.
String sort = "sort_example"; // String | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations.
String entity = "entity_example"; // String | Returned attributes will be filtered by supplied entity.
+ String applicationIds = "applicationIds_example"; // String | Returned attributes will be filtered by supplied application ids
+ String type = "type_example"; // String | Returned attributes will be filtered by supplied type
+ String kind = "kind_example"; // String | Returned attributes will be filtered by supplied kind (builtin or custom)
+ String search = "search_example"; // String | Returned attributes will be filtered by searching case insensitive through Attribute name, description and type
try {
- InlineResponse20036 result = apiInstance.getAttributes(pageSize, skip, sort, entity);
+ InlineResponse20036 result = apiInstance.getAttributes(pageSize, skip, sort, entity, applicationIds, type, kind, search);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling ManagementApi#getAttributes");
@@ -6849,6 +6855,10 @@ Name | Type | Description | Notes
**skip** | **Long**| The number of items to skip when paging through large result sets. | [optional]
**sort** | **String**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. | [optional]
**entity** | **String**| Returned attributes will be filtered by supplied entity. | [optional]
+ **applicationIds** | **String**| Returned attributes will be filtered by supplied application ids | [optional]
+ **type** | **String**| Returned attributes will be filtered by supplied type | [optional]
+ **kind** | **String**| Returned attributes will be filtered by supplied kind (builtin or custom) | [optional] [enum: builtin, custom]
+ **search** | **String**| Returned attributes will be filtered by searching case insensitive through Attribute name, description and type | [optional]
### Return type cool
@@ -7680,7 +7690,7 @@ Name | Type | Description | Notes
## getCampaigns
-> InlineResponse2008 getCampaigns(applicationId, pageSize, skip, sort, campaignState, name, tags, createdBefore, createdAfter, campaignGroupId, templateId, storeId)
+> InlineResponse2008 getCampaigns(applicationId, pageSize, skip, sort, campaignState, name, tags, createdBefore, createdAfter, startBefore, startAfter, endBefore, endAfter, campaignGroupId, templateId, storeId)
List campaigns
@@ -7730,11 +7740,15 @@ public class Example {
String tags = "tags_example"; // String | Filter results performing case-insensitive matching against the tags of the campaign. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values
OffsetDateTime createdBefore = new OffsetDateTime(); // OffsetDateTime | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally.
OffsetDateTime createdAfter = new OffsetDateTime(); // OffsetDateTime | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally.
+ OffsetDateTime startBefore = new OffsetDateTime(); // OffsetDateTime | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign start time timestamp. You can use any time zone setting. Talon.One will convert to UTC internally.
+ OffsetDateTime startAfter = new OffsetDateTime(); // OffsetDateTime | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign start time timestamp. You can use any time zone setting. Talon.One will convert to UTC internally.
+ OffsetDateTime endBefore = new OffsetDateTime(); // OffsetDateTime | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign end time timestamp. You can use any time zone setting. Talon.One will convert to UTC internally.
+ OffsetDateTime endAfter = new OffsetDateTime(); // OffsetDateTime | Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign end time timestamp. You can use any time zone setting. Talon.One will convert to UTC internally.
Long campaignGroupId = 56L; // Long | Filter results to campaigns owned by the specified campaign access group ID.
Long templateId = 56L; // Long | The ID of the campaign template this campaign was created from.
Long storeId = 56L; // Long | Filter results to campaigns linked to the specified store ID.
try {
- InlineResponse2008 result = apiInstance.getCampaigns(applicationId, pageSize, skip, sort, campaignState, name, tags, createdBefore, createdAfter, campaignGroupId, templateId, storeId);
+ InlineResponse2008 result = apiInstance.getCampaigns(applicationId, pageSize, skip, sort, campaignState, name, tags, createdBefore, createdAfter, startBefore, startAfter, endBefore, endAfter, campaignGroupId, templateId, storeId);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling ManagementApi#getCampaigns");
@@ -7761,6 +7775,10 @@ Name | Type | Description | Notes
**tags** | **String**| Filter results performing case-insensitive matching against the tags of the campaign. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values | [optional]
**createdBefore** | **OffsetDateTime**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional]
**createdAfter** | **OffsetDateTime**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional]
+ **startBefore** | **OffsetDateTime**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign start time timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional]
+ **startAfter** | **OffsetDateTime**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign start time timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional]
+ **endBefore** | **OffsetDateTime**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign end time timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional]
+ **endAfter** | **OffsetDateTime**| Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign end time timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional]
**campaignGroupId** | **Long**| Filter results to campaigns owned by the specified campaign access group ID. | [optional]
**templateId** | **Long**| The ID of the campaign template this campaign was created from. | [optional]
**storeId** | **Long**| Filter results to campaigns linked to the specified store ID. | [optional]
@@ -9398,6 +9416,103 @@ Name | Type | Description | Notes
| **401** | Unauthorized | - |
+## getLoyaltyLedgerBalances
+
+> LoyaltyBalancesWithTiers getLoyaltyLedgerBalances(loyaltyProgramId, integrationId, endDate, subledgerId, includeTiers, includeProjectedTier)
+
+Get customer's loyalty balances
+
+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)
+
+### Example
+
+```java
+// Import classes:
+import one.talon.ApiClient;
+import one.talon.ApiException;
+import one.talon.Configuration;
+import one.talon.auth.*;
+import one.talon.models.*;
+import one.talon.api.ManagementApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://yourbaseurl.talon.one");
+
+ // Configure API key authorization: api_key_v1
+ ApiKeyAuth api_key_v1 = (ApiKeyAuth) defaultClient.getAuthentication("api_key_v1");
+ api_key_v1.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //api_key_v1.setApiKeyPrefix("Token");
+
+ // Configure API key authorization: management_key
+ ApiKeyAuth management_key = (ApiKeyAuth) defaultClient.getAuthentication("management_key");
+ management_key.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //management_key.setApiKeyPrefix("Token");
+
+ // Configure API key authorization: manager_auth
+ ApiKeyAuth manager_auth = (ApiKeyAuth) defaultClient.getAuthentication("manager_auth");
+ manager_auth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //manager_auth.setApiKeyPrefix("Token");
+
+ ManagementApi apiInstance = new ManagementApi(defaultClient);
+ Long loyaltyProgramId = 56L; // Long | 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.
+ String integrationId = "integrationId_example"; // 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.
+ OffsetDateTime endDate = new OffsetDateTime(); // OffsetDateTime | 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered.
+ String subledgerId = "subledgerId_example"; // String | The ID of the subledger used to filter the data. Leave this value empty (\"\") to query the main ledger.
+ Boolean includeTiers = false; // Boolean | Indicates whether tier information is included in the response. When set to `true`, the response includes information about the current tier and the number of points required to move to next tier.
+ Boolean includeProjectedTier = false; // Boolean | Indicates whether the customer's projected tier information is included in the response. When set to `true`, the response includes information about the customer's active points and the name of the projected tier. **Note** We recommend filtering by `subledgerId` for better performance.
+ try {
+ LoyaltyBalancesWithTiers result = apiInstance.getLoyaltyLedgerBalances(loyaltyProgramId, integrationId, endDate, subledgerId, includeTiers, includeProjectedTier);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling ManagementApi#getLoyaltyLedgerBalances");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **loyaltyProgramId** | **Long**| 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. |
+ **integrationId** | **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. |
+ **endDate** | **OffsetDateTime**| 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | [optional]
+ **subledgerId** | **String**| The ID of the subledger used to filter the data. Leave this value empty (\"\") to query the main ledger. | [optional]
+ **includeTiers** | **Boolean**| Indicates whether tier information is included in the response. When set to `true`, the response includes information about the current tier and the number of points required to move to next tier. | [optional] [default to false]
+ **includeProjectedTier** | **Boolean**| Indicates whether the customer's projected tier information is included in the response. When set to `true`, the response includes information about the customer's active points and the name of the projected tier. **Note** We recommend filtering by `subledgerId` for better performance. | [optional] [default to false]
+
+### Return type cool
+
+[**LoyaltyBalancesWithTiers**](LoyaltyBalancesWithTiers.md)
+
+### Authorization
+
+[api_key_v1](../README.md#api_key_v1), [management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **400** | Bad request | - |
+| **401** | Unauthorized | - |
+| **404** | Not found | - |
+
+
## getLoyaltyPoints
> LoyaltyLedger getLoyaltyPoints(loyaltyProgramId, integrationId)
@@ -9568,9 +9683,116 @@ Name | Type | Description | Notes
| **200** | OK | - |
+## getLoyaltyProgramProfileLedgerTransactions
+
+> InlineResponse2004 getLoyaltyProgramProfileLedgerTransactions(loyaltyProgramId, integrationId, customerSessionIDs, transactionUUIDs, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip, awaitsActivation)
+
+List customer's loyalty transactions
+
+Retrieve paginated results of loyalty transaction logs for the given Integration ID in the specified loyalty program. You can filter transactions by date or by ledger (subledger or main ledger). 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.
+
+### Example
+
+```java
+// Import classes:
+import one.talon.ApiClient;
+import one.talon.ApiException;
+import one.talon.Configuration;
+import one.talon.auth.*;
+import one.talon.models.*;
+import one.talon.api.ManagementApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://yourbaseurl.talon.one");
+
+ // Configure API key authorization: api_key_v1
+ ApiKeyAuth api_key_v1 = (ApiKeyAuth) defaultClient.getAuthentication("api_key_v1");
+ api_key_v1.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //api_key_v1.setApiKeyPrefix("Token");
+
+ // Configure API key authorization: management_key
+ ApiKeyAuth management_key = (ApiKeyAuth) defaultClient.getAuthentication("management_key");
+ management_key.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //management_key.setApiKeyPrefix("Token");
+
+ // Configure API key authorization: manager_auth
+ ApiKeyAuth manager_auth = (ApiKeyAuth) defaultClient.getAuthentication("manager_auth");
+ manager_auth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //manager_auth.setApiKeyPrefix("Token");
+
+ ManagementApi apiInstance = new ManagementApi(defaultClient);
+ Long loyaltyProgramId = 56L; // Long | 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.
+ String integrationId = "integrationId_example"; // 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.
+ List customerSessionIDs = Arrays.asList(); // List | Filter the results by a list of customer session IDs. To include multiple IDs, repeat the parameter for each one, for example, `?customerSessionIDs=id1&customerSessionIDs=id2`. The response contains only data associated with the specified sessions.
+ List transactionUUIDs = Arrays.asList(); // List | Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, `?transactionUUIDs=uuid1&transactionUUIDs=uuid2`. The response contains only data associated with the specified transactions.
+ String subledgerId = "subledgerId_example"; // String | The ID of the subledger used to filter the data. Leave this value empty (\"\") to query the main ledger.
+ String loyaltyTransactionType = "loyaltyTransactionType_example"; // String | Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file.
+ OffsetDateTime startDate = new OffsetDateTime(); // OffsetDateTime | 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered.
+ OffsetDateTime endDate = new OffsetDateTime(); // OffsetDateTime | 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered.
+ Long pageSize = 50lL; // Long | The number of items in the response.
+ Long skip = 56L; // Long | The number of items to skip when paging through large result sets.
+ Boolean awaitsActivation = true; // Boolean | If `true`: Filters results to include only point transactions that have action-based activation and have not expired. If `false`: Returns a `400` response.
+ try {
+ InlineResponse2004 result = apiInstance.getLoyaltyProgramProfileLedgerTransactions(loyaltyProgramId, integrationId, customerSessionIDs, transactionUUIDs, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip, awaitsActivation);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling ManagementApi#getLoyaltyProgramProfileLedgerTransactions");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **loyaltyProgramId** | **Long**| 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. |
+ **integrationId** | **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. |
+ **customerSessionIDs** | [**List<String>**](String.md)| Filter the results by a list of customer session IDs. To include multiple IDs, repeat the parameter for each one, for example, `?customerSessionIDs=id1&customerSessionIDs=id2`. The response contains only data associated with the specified sessions. | [optional]
+ **transactionUUIDs** | [**List<String>**](String.md)| Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, `?transactionUUIDs=uuid1&transactionUUIDs=uuid2`. The response contains only data associated with the specified transactions. | [optional]
+ **subledgerId** | **String**| The ID of the subledger used to filter the data. Leave this value empty (\"\") to query the main ledger. | [optional]
+ **loyaltyTransactionType** | **String**| Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. | [optional] [enum: manual, session, import]
+ **startDate** | **OffsetDateTime**| 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | [optional]
+ **endDate** | **OffsetDateTime**| 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | [optional]
+ **pageSize** | **Long**| The number of items in the response. | [optional] [default to 50l]
+ **skip** | **Long**| The number of items to skip when paging through large result sets. | [optional]
+ **awaitsActivation** | **Boolean**| If `true`: Filters results to include only point transactions that have action-based activation and have not expired. If `false`: Returns a `400` response. | [optional]
+
+### Return type cool
+
+[**InlineResponse2004**](InlineResponse2004.md)
+
+### Authorization
+
+[api_key_v1](../README.md#api_key_v1), [management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **400** | Bad request | - |
+| **401** | Unauthorized | - |
+| **404** | Not found | - |
+
+
## getLoyaltyProgramTransactions
-> InlineResponse20017 getLoyaltyProgramTransactions(loyaltyProgramId, loyaltyTransactionType, subledgerId, customerSessionIDs, transactionUUIDs, startDate, endDate, pageSize, skip)
+> InlineResponse20017 getLoyaltyProgramTransactions(loyaltyProgramId, loyaltyTransactionType, subledgerId, customerSessionIDs, transactionUUIDs, startDate, endDate, pageSize, skip, awaitsActivation)
List loyalty program transactions
@@ -9620,8 +9842,9 @@ public class Example {
OffsetDateTime endDate = new OffsetDateTime(); // OffsetDateTime | 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered.
Long pageSize = 50lL; // Long | The number of items in the response.
Long skip = 56L; // Long | The number of items to skip when paging through large result sets.
+ Boolean awaitsActivation = true; // Boolean | If `true`: Filters results to include only point transactions that have action-based activation and have not expired. If `false`: Returns a `400` response.
try {
- InlineResponse20017 result = apiInstance.getLoyaltyProgramTransactions(loyaltyProgramId, loyaltyTransactionType, subledgerId, customerSessionIDs, transactionUUIDs, startDate, endDate, pageSize, skip);
+ InlineResponse20017 result = apiInstance.getLoyaltyProgramTransactions(loyaltyProgramId, loyaltyTransactionType, subledgerId, customerSessionIDs, transactionUUIDs, startDate, endDate, pageSize, skip, awaitsActivation);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling ManagementApi#getLoyaltyProgramTransactions");
@@ -9648,6 +9871,7 @@ Name | Type | Description | Notes
**endDate** | **OffsetDateTime**| 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | [optional]
**pageSize** | **Long**| The number of items in the response. | [optional] [default to 50l]
**skip** | **Long**| The number of items to skip when paging through large result sets. | [optional]
+ **awaitsActivation** | **Boolean**| If `true`: Filters results to include only point transactions that have action-based activation and have not expired. If `false`: Returns a `400` response. | [optional]
### Return type cool
@@ -11568,7 +11792,7 @@ Name | Type | Description | Notes
Import loyalty points
-Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. **Note**: If the customer profile does not exist, it will be created. The profile will not be visible in any Application until a session or profile update is received for that profile. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ```
+Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. **Note**: If the customer profile does not exist, it will be created. The profile will not be visible in any Application until a session or profile update is received for that profile. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. This parameter accepts one of the following values: - A timestamp string in RFC3339 format. - `immediate` - `on_action` **Note**: Empty or missing values default to `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. If passed, `validityDuration` should be omitted. - `validityDuration` (optional): The duration for which the points remain active, relative to the activation date. The time format is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. If passed, `expirydate` should be omitted. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ```
### Example
diff --git a/docs/ManagementKey.md b/docs/ManagementKey.md
index ad412ce1..cbbb31d6 100644
--- a/docs/ManagementKey.md
+++ b/docs/ManagementKey.md
@@ -15,6 +15,7 @@ Name | Type | Description | Notes
**accountID** | **Long** | ID of account the key is used for. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The date the management key was created. |
**disabled** | **Boolean** | The management key is disabled (this property is set to `true`) when the user who created the key is disabled or deleted. | [optional]
+**lastUsed** | [**OffsetDateTime**](OffsetDateTime.md) | The last time the management key was used. | [optional]
diff --git a/docs/NewManagementKey.md b/docs/NewManagementKey.md
index 32b741bf..69f4495a 100644
--- a/docs/NewManagementKey.md
+++ b/docs/NewManagementKey.md
@@ -15,6 +15,7 @@ Name | Type | Description | Notes
**accountID** | **Long** | ID of account the key is used for. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The date the management key was created. |
**disabled** | **Boolean** | The management key is disabled (this property is set to `true`) when the user who created the key is disabled or deleted. | [optional]
+**lastUsed** | [**OffsetDateTime**](OffsetDateTime.md) | The last time the management key was used. | [optional]
**key** | **String** | The management key. |
diff --git a/docs/NewMessageTest.md b/docs/NewMessageTest.md
index 823370e2..481c6588 100644
--- a/docs/NewMessageTest.md
+++ b/docs/NewMessageTest.md
@@ -12,6 +12,7 @@ Name | Type | Description | Notes
**payload** | **String** | API payload of this message. | [optional]
**params** | [**List<TemplateArgDef>**](TemplateArgDef.md) | Array of template argument definitions. | [optional]
**applicationIds** | **List<Long>** | The IDs of the Applications in which this webhook is available. An empty array means the webhook is available in `All Applications`. | [optional]
+**authenticationId** | **Long** | The ID of the credential that this webhook is using. | [optional]
diff --git a/docs/PrismaticConfig.md b/docs/PrismaticConfig.md
new file mode 100644
index 00000000..3268d4c0
--- /dev/null
+++ b/docs/PrismaticConfig.md
@@ -0,0 +1,14 @@
+
+
+# PrismaticConfig
+
+Config used for accessing integrations in Prismatic
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**prismaticUrl** | **String** | The url used to integrate the Prismatic Marketplace. |
+**accessToken** | **String** | Access token used to authenticate a user in Talon.One. |
+
+
+
diff --git a/docs/PrismaticEventPayloadCouponBasedNotifications.md b/docs/PrismaticEventPayloadCouponBasedNotifications.md
new file mode 100644
index 00000000..90570f40
--- /dev/null
+++ b/docs/PrismaticEventPayloadCouponBasedNotifications.md
@@ -0,0 +1,31 @@
+
+
+# PrismaticEventPayloadCouponBasedNotifications
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **Long** | |
+**created** | [**OffsetDateTime**](OffsetDateTime.md) | |
+**campaignId** | **Long** | |
+**value** | **String** | |
+**usageLimit** | **Long** | |
+**discountLimit** | **Float** | | [optional]
+**reservationLimit** | **Long** | | [optional]
+**startDate** | [**OffsetDateTime**](OffsetDateTime.md) | | [optional]
+**expiryDate** | [**OffsetDateTime**](OffsetDateTime.md) | | [optional]
+**usageCounter** | **Long** | |
+**discountCounter** | **Float** | | [optional]
+**discountRemainder** | **Float** | | [optional]
+**referralId** | **Long** | | [optional]
+**recipientIntegrationId** | **String** | | [optional]
+**importId** | **Long** | | [optional]
+**batchId** | **String** | | [optional]
+**attributes** | [**Object**](.md) | | [optional]
+**limits** | [**List<PrismaticEventPayloadCouponBasedNotificationsLimits>**](PrismaticEventPayloadCouponBasedNotificationsLimits.md) | | [optional]
+**sourceOfEvent** | **String** | |
+**employeeName** | **String** | |
+
+
+
diff --git a/docs/PrismaticEventPayloadCouponBasedNotificationsLimits.md b/docs/PrismaticEventPayloadCouponBasedNotificationsLimits.md
new file mode 100644
index 00000000..68227bbf
--- /dev/null
+++ b/docs/PrismaticEventPayloadCouponBasedNotificationsLimits.md
@@ -0,0 +1,15 @@
+
+
+# PrismaticEventPayloadCouponBasedNotificationsLimits
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**action** | **String** | |
+**limit** | **Float** | |
+**period** | **String** | | [optional]
+**entities** | **List<String>** | |
+
+
+
diff --git a/docs/PrismaticEventPayloadLoyaltyProfileBasedNotifications.md b/docs/PrismaticEventPayloadLoyaltyProfileBasedNotifications.md
new file mode 100644
index 00000000..ceada409
--- /dev/null
+++ b/docs/PrismaticEventPayloadLoyaltyProfileBasedNotifications.md
@@ -0,0 +1,26 @@
+
+
+# PrismaticEventPayloadLoyaltyProfileBasedNotifications
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**profileIntegrationID** | **String** | |
+**loyaltyProgramID** | **Long** | |
+**subledgerID** | **String** | |
+**sourceOfEvent** | **String** | |
+**employeeName** | **String** | | [optional]
+**userID** | **Long** | | [optional]
+**sessionIntegrationID** | **String** | | [optional]
+**currentTier** | **String** | | [optional]
+**currentPoints** | **Float** | |
+**oldTier** | **String** | | [optional]
+**pointsRequiredToTheNextTier** | **Float** | | [optional]
+**nextTier** | **String** | | [optional]
+**tierExpirationDate** | [**OffsetDateTime**](OffsetDateTime.md) | | [optional]
+**timestampOfTierChange** | [**OffsetDateTime**](OffsetDateTime.md) | | [optional]
+**actions** | [**List<PrismaticEventPayloadLoyaltyProfileBasedNotificationsAction>**](PrismaticEventPayloadLoyaltyProfileBasedNotificationsAction.md) | | [optional]
+
+
+
diff --git a/docs/PrismaticEventPayloadLoyaltyProfileBasedNotificationsAction.md b/docs/PrismaticEventPayloadLoyaltyProfileBasedNotificationsAction.md
new file mode 100644
index 00000000..89653850
--- /dev/null
+++ b/docs/PrismaticEventPayloadLoyaltyProfileBasedNotificationsAction.md
@@ -0,0 +1,25 @@
+
+
+# PrismaticEventPayloadLoyaltyProfileBasedNotificationsAction
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**amount** | **Float** | |
+**reason** | **String** | | [optional]
+**operation** | [**OperationEnum**](#OperationEnum) | |
+**startDate** | [**OffsetDateTime**](OffsetDateTime.md) | | [optional]
+**expiryDate** | [**OffsetDateTime**](OffsetDateTime.md) | | [optional]
+
+
+
+## Enum: OperationEnum
+
+Name | Value
+---- | -----
+ADDITION | "addition"
+DEDUCTION | "deduction"
+
+
+
diff --git a/docs/PrismaticFlow.md b/docs/PrismaticFlow.md
new file mode 100644
index 00000000..ca8c6ae7
--- /dev/null
+++ b/docs/PrismaticFlow.md
@@ -0,0 +1,14 @@
+
+
+# PrismaticFlow
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**applicationID** | **Long** | ID of application the flow is registered for. | [optional]
+**eventType** | **String** | The event type we want to register a flow for. |
+**prismaticFlowUrl** | **String** | The URL of the prismatic flow that we want to trigger for the event. |
+
+
+
diff --git a/docs/PrismaticFlowConfig.md b/docs/PrismaticFlowConfig.md
new file mode 100644
index 00000000..50ad9a2c
--- /dev/null
+++ b/docs/PrismaticFlowConfig.md
@@ -0,0 +1,12 @@
+
+
+# PrismaticFlowConfig
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**apiKey** | **String** | |
+
+
+
diff --git a/docs/PrismaticFlowWithConfig.md b/docs/PrismaticFlowWithConfig.md
new file mode 100644
index 00000000..54f108ad
--- /dev/null
+++ b/docs/PrismaticFlowWithConfig.md
@@ -0,0 +1,15 @@
+
+
+# PrismaticFlowWithConfig
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**applicationID** | **Long** | ID of application the flow is registered for. | [optional]
+**eventType** | **String** | The event type we want to register a flow for. |
+**prismaticFlowUrl** | **String** | The URL of the prismatic flow that we want to trigger for the event. |
+**config** | [**PrismaticFlowConfig**](PrismaticFlowConfig.md) | |
+
+
+
diff --git a/docs/PrismaticPaginatedEventPayload.md b/docs/PrismaticPaginatedEventPayload.md
new file mode 100644
index 00000000..45595917
--- /dev/null
+++ b/docs/PrismaticPaginatedEventPayload.md
@@ -0,0 +1,27 @@
+
+
+# PrismaticPaginatedEventPayload
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**totalResultSize** | **Long** | |
+**eventType** | [**EventTypeEnum**](#EventTypeEnum) | |
+**data** | **List<Object>** | |
+
+
+
+## Enum: EventTypeEnum
+
+Name | Value
+---- | -----
+LOYALTYPOINTSCHANGED | "LoyaltyPointsChanged"
+LOYALTYTIERDOWNGRADE | "LoyaltyTierDowngrade"
+LOYALTYTIERUPGRADE | "LoyaltyTierUpgrade"
+COUPONCREATED | "CouponCreated"
+COUPONUPDATED | "CouponUpdated"
+COUPONDELETED | "CouponDeleted"
+
+
+
diff --git a/docs/ReturnedCartItem.md b/docs/ReturnedCartItem.md
index 095d36f3..534e8271 100644
--- a/docs/ReturnedCartItem.md
+++ b/docs/ReturnedCartItem.md
@@ -6,8 +6,9 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**position** | **Long** | The index of the cart item in the provided customer session's `cartItems` property. |
+**position** | **Long** | The index of the cart item in the provided customer session's `cartItems` property. | [optional]
**quantity** | **Long** | Number of cart items to return. | [optional]
+**sku** | **String** | The SKU of the cart item in the provided customer session's `cartItems` property. | [optional]
diff --git a/docs/RoleV2.md b/docs/RoleV2.md
index f7e5786c..3f5976c1 100644
--- a/docs/RoleV2.md
+++ b/docs/RoleV2.md
@@ -14,6 +14,7 @@ Name | Type | Description | Notes
**description** | **String** | Description of the role. | [optional]
**permissions** | [**RoleV2Permissions**](RoleV2Permissions.md) | | [optional]
**members** | **List<Long>** | A list of user IDs the role is assigned to. | [optional]
+**isReadonly** | **Boolean** | Identifies if the role is read-only. For read-only roles, you can only assign or unassign users. You cannot edit any other properties, such as the name, description, or permissions. The 'isReadonly' property cannot be set for new or existing roles. It is reserved for predefined roles, such as the Talon.One support role. | [optional]
diff --git a/docs/RoleV2Readonly.md b/docs/RoleV2Readonly.md
new file mode 100644
index 00000000..ae91bdda
--- /dev/null
+++ b/docs/RoleV2Readonly.md
@@ -0,0 +1,12 @@
+
+
+# RoleV2Readonly
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**isReadonly** | **Boolean** | Identifies if the role is read-only. For read-only roles, you can only assign or unassign users. You cannot edit any other properties, such as the name, description, or permissions. The 'isReadonly' property cannot be set for new or existing roles. It is reserved for predefined roles, such as the Talon.One support role. | [optional]
+
+
+
diff --git a/docs/SessionCoupons.md b/docs/SessionCoupons.md
new file mode 100644
index 00000000..d5da8072
--- /dev/null
+++ b/docs/SessionCoupons.md
@@ -0,0 +1,13 @@
+
+
+# SessionCoupons
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**sessionIntegrationId** | **String** | The integration ID of the session in which the coupons were applied. |
+**couponCode** | **String** | The coupon codes for which rejection reason is needed. | [optional]
+
+
+
diff --git a/docs/StrikethroughLabelingNotification.md b/docs/StrikethroughLabelingNotification.md
index 0d8cb926..fbbfd1d6 100644
--- a/docs/StrikethroughLabelingNotification.md
+++ b/docs/StrikethroughLabelingNotification.md
@@ -14,7 +14,8 @@ Name | Type | Description | Notes
**totalBatches** | **Long** | The total number of batches for the notification. |
**trigger** | [**StrikethroughTrigger**](StrikethroughTrigger.md) | |
**changedItems** | [**List<StrikethroughChangedItem>**](StrikethroughChangedItem.md) | |
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of notification. |
+**sentAt** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp at which the notification was sent. |
@@ -26,3 +27,11 @@ V2 | "v2"
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+STRIKETHROUGHPRICE | "StrikethroughPrice"
+
+
+
diff --git a/docs/StrikethroughSetDiscountPerItemMemberEffectProps.md b/docs/StrikethroughSetDiscountPerItemMemberEffectProps.md
new file mode 100644
index 00000000..17c8ec8e
--- /dev/null
+++ b/docs/StrikethroughSetDiscountPerItemMemberEffectProps.md
@@ -0,0 +1,14 @@
+
+
+# StrikethroughSetDiscountPerItemMemberEffectProps
+
+setDiscountPerItem member effect in strikethrough pricing payload.
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **String** | effect name. |
+**value** | [**Object**](.md) | discount value. |
+
+
+
diff --git a/docs/UpdateCouponsData.md b/docs/UpdateCouponsData.md
index 9f86f0fe..dd1c8968 100644
--- a/docs/UpdateCouponsData.md
+++ b/docs/UpdateCouponsData.md
@@ -12,7 +12,15 @@ Name | Type | Description | Notes
**typeOfChange** | **String** | |
**operation** | **String** | |
**employeeName** | **String** | |
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
+
+
+
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+COUPONSUPDATED | "CouponsUpdated"
diff --git a/pom.xml b/pom.xml
index cb38e6af..aa53fa2f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
talon-one-client
jar
talon-one-client
- 14.1.0
+ 14.1.1
https://github.com/talon-one/maven-artefacts
Talon.One unified JAVA SDK. It allows for programmatic access to the integration and management API with their respective authentication strategies
diff --git a/src/main/java/one/talon/ApiClient.java b/src/main/java/one/talon/ApiClient.java
index f85429f3..4b672422 100644
--- a/src/main/java/one/talon/ApiClient.java
+++ b/src/main/java/one/talon/ApiClient.java
@@ -132,7 +132,7 @@ private void init() {
json = new JSON();
// Set default User-Agent.
- setUserAgent("OpenAPI-Generator/14.1.0/java");
+ setUserAgent("OpenAPI-Generator/14.1.1/java");
authentications = new HashMap();
}
diff --git a/src/main/java/one/talon/api/IntegrationApi.java b/src/main/java/one/talon/api/IntegrationApi.java
index 23c3df87..ee38f008 100644
--- a/src/main/java/one/talon/api/IntegrationApi.java
+++ b/src/main/java/one/talon/api/IntegrationApi.java
@@ -27,6 +27,8 @@
import java.io.IOException;
+import one.talon.model.ActivateLoyaltyPoints;
+import one.talon.model.ActivateLoyaltyPointsResponse;
import one.talon.model.Audience;
import one.talon.model.BestPriorPrice;
import one.talon.model.BestPriorPriceRequest;
@@ -94,6 +96,138 @@ public void setApiClient(ApiClient apiClient) {
this.localVarApiClient = apiClient;
}
+ /**
+ * Build call for activateLoyaltyPoints
+ * @param loyaltyProgramId The identifier for the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. (required)
+ * @param body body (required)
+ * @param _callback Callback for upload/download progress
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized | - |
+ | 404 | Not found | - |
+
+ */
+ public okhttp3.Call activateLoyaltyPointsCall(Long loyaltyProgramId, ActivateLoyaltyPoints body, final ApiCallback _callback) throws ApiException {
+ Object localVarPostBody = body;
+
+ // create path and map variables
+ String localVarPath = "/v1/loyalty_programs/{loyaltyProgramId}/activate_points"
+ .replaceAll("\\{" + "loyaltyProgramId" + "\\}", localVarApiClient.escapeString(loyaltyProgramId.toString()));
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap();
+ final String[] localVarAccepts = {
+ "application/json"
+ };
+ final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) {
+ localVarHeaderParams.put("Accept", localVarAccept);
+ }
+
+ final String[] localVarContentTypes = {
+ "application/json"
+ };
+ final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+
+ String[] localVarAuthNames = new String[] { "api_key_v1" };
+ return localVarApiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private okhttp3.Call activateLoyaltyPointsValidateBeforeCall(Long loyaltyProgramId, ActivateLoyaltyPoints body, final ApiCallback _callback) throws ApiException {
+
+ // verify the required parameter 'loyaltyProgramId' is set
+ if (loyaltyProgramId == null) {
+ throw new ApiException("Missing the required parameter 'loyaltyProgramId' when calling activateLoyaltyPoints(Async)");
+ }
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ throw new ApiException("Missing the required parameter 'body' when calling activateLoyaltyPoints(Async)");
+ }
+
+
+ okhttp3.Call localVarCall = activateLoyaltyPointsCall(loyaltyProgramId, body, _callback);
+ return localVarCall;
+
+ }
+
+ /**
+ * Activate loyalty points
+ * Activate points when a defined action occurs. You can activate pending points using one of the following parameters: - `sessionId`: Activates all points earned in the specified session. - `transactionUUIDs`: Activates points earned in the transactions specified by the given UUIDs.
+ * @param loyaltyProgramId The identifier for the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. (required)
+ * @param body body (required)
+ * @return ActivateLoyaltyPointsResponse
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized | - |
+ | 404 | Not found | - |
+
+ */
+ public ActivateLoyaltyPointsResponse activateLoyaltyPoints(Long loyaltyProgramId, ActivateLoyaltyPoints body) throws ApiException {
+ ApiResponse localVarResp = activateLoyaltyPointsWithHttpInfo(loyaltyProgramId, body);
+ return localVarResp.getData();
+ }
+
+ /**
+ * Activate loyalty points
+ * Activate points when a defined action occurs. You can activate pending points using one of the following parameters: - `sessionId`: Activates all points earned in the specified session. - `transactionUUIDs`: Activates points earned in the transactions specified by the given UUIDs.
+ * @param loyaltyProgramId The identifier for the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. (required)
+ * @param body body (required)
+ * @return ApiResponse<ActivateLoyaltyPointsResponse>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized | - |
+ | 404 | Not found | - |
+
+ */
+ public ApiResponse activateLoyaltyPointsWithHttpInfo(Long loyaltyProgramId, ActivateLoyaltyPoints body) throws ApiException {
+ okhttp3.Call localVarCall = activateLoyaltyPointsValidateBeforeCall(loyaltyProgramId, body, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * Activate loyalty points (asynchronously)
+ * Activate points when a defined action occurs. You can activate pending points using one of the following parameters: - `sessionId`: Activates all points earned in the specified session. - `transactionUUIDs`: Activates points earned in the transactions specified by the given UUIDs.
+ * @param loyaltyProgramId The identifier for the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. (required)
+ * @param body body (required)
+ * @param _callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized | - |
+ | 404 | Not found | - |
+
+ */
+ public okhttp3.Call activateLoyaltyPointsAsync(Long loyaltyProgramId, ActivateLoyaltyPoints body, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = activateLoyaltyPointsValidateBeforeCall(loyaltyProgramId, body, _callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ return localVarCall;
+ }
/**
* Build call for bestPriorPrice
* @param body body (required)
@@ -328,7 +462,7 @@ public okhttp3.Call createAudienceV2Async(NewAudience body, final ApiCallback createCouponReservationWithHttpInfo(String couponValu
/**
* Create coupon reservation (asynchronously)
- * 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.
- * @param couponValue The code of the coupon. (required)
+ * 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.
+ * @param couponValue 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 `SUMMER25%OFF` as `SUMMER25%25OFF`. (required)
* @param body body (required)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
@@ -942,7 +1076,7 @@ public okhttp3.Call deleteAudienceV2Async(Long audienceId, final ApiCallback deleteCouponReservationWithHttpInfo(String couponValue,
/**
* Delete coupon reservations (asynchronously)
* Remove all the coupon reservations from the provided customer profile integration IDs and the provided coupon code.
- * @param couponValue The code of the coupon. (required)
+ * @param couponValue 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 `SUMMER25%OFF` as `SUMMER25%25OFF`. (required)
* @param body body (required)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
@@ -2456,6 +2590,7 @@ public okhttp3.Call getLoyaltyCardPointsAsync(Long loyaltyProgramId, String loya
* @param transactionUUIDs Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, `?transactionUUIDs=uuid1&transactionUUIDs=uuid2`. The response contains only data associated with the specified transactions. (optional)
* @param pageSize The number of items in the response. (optional, default to 50l)
* @param skip The number of items to skip when paging through large result sets. (optional)
+ * @param awaitsActivation If `true`: Filters results to include only point transactions that have action-based activation and have not expired. If `false`: Returns a `400` response. (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -2468,7 +2603,7 @@ public okhttp3.Call getLoyaltyCardPointsAsync(Long loyaltyProgramId, String loya
| 404 | Not found | - |
*/
- public okhttp3.Call getLoyaltyCardTransactionsCall(Long loyaltyProgramId, String loyaltyCardId, List subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, List customerSessionIDs, List transactionUUIDs, Long pageSize, Long skip, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call getLoyaltyCardTransactionsCall(Long loyaltyProgramId, String loyaltyCardId, List subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, List customerSessionIDs, List transactionUUIDs, Long pageSize, Long skip, Boolean awaitsActivation, final ApiCallback _callback) throws ApiException {
Object localVarPostBody = null;
// create path and map variables
@@ -2510,6 +2645,10 @@ public okhttp3.Call getLoyaltyCardTransactionsCall(Long loyaltyProgramId, String
localVarQueryParams.addAll(localVarApiClient.parameterToPair("skip", skip));
}
+ if (awaitsActivation != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("awaitsActivation", awaitsActivation));
+ }
+
Map localVarHeaderParams = new HashMap();
Map localVarCookieParams = new HashMap();
Map localVarFormParams = new HashMap();
@@ -2532,7 +2671,7 @@ public okhttp3.Call getLoyaltyCardTransactionsCall(Long loyaltyProgramId, String
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call getLoyaltyCardTransactionsValidateBeforeCall(Long loyaltyProgramId, String loyaltyCardId, List subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, List customerSessionIDs, List transactionUUIDs, Long pageSize, Long skip, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call getLoyaltyCardTransactionsValidateBeforeCall(Long loyaltyProgramId, String loyaltyCardId, List subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, List customerSessionIDs, List transactionUUIDs, Long pageSize, Long skip, Boolean awaitsActivation, final ApiCallback _callback) throws ApiException {
// verify the required parameter 'loyaltyProgramId' is set
if (loyaltyProgramId == null) {
@@ -2545,7 +2684,7 @@ private okhttp3.Call getLoyaltyCardTransactionsValidateBeforeCall(Long loyaltyPr
}
- okhttp3.Call localVarCall = getLoyaltyCardTransactionsCall(loyaltyProgramId, loyaltyCardId, subledgerId, loyaltyTransactionType, startDate, endDate, customerSessionIDs, transactionUUIDs, pageSize, skip, _callback);
+ okhttp3.Call localVarCall = getLoyaltyCardTransactionsCall(loyaltyProgramId, loyaltyCardId, subledgerId, loyaltyTransactionType, startDate, endDate, customerSessionIDs, transactionUUIDs, pageSize, skip, awaitsActivation, _callback);
return localVarCall;
}
@@ -2563,6 +2702,7 @@ private okhttp3.Call getLoyaltyCardTransactionsValidateBeforeCall(Long loyaltyPr
* @param transactionUUIDs Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, `?transactionUUIDs=uuid1&transactionUUIDs=uuid2`. The response contains only data associated with the specified transactions. (optional)
* @param pageSize The number of items in the response. (optional, default to 50l)
* @param skip The number of items to skip when paging through large result sets. (optional)
+ * @param awaitsActivation If `true`: Filters results to include only point transactions that have action-based activation and have not expired. If `false`: Returns a `400` response. (optional)
* @return InlineResponse2003
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -2574,8 +2714,8 @@ private okhttp3.Call getLoyaltyCardTransactionsValidateBeforeCall(Long loyaltyPr
| 404 | Not found | - |
*/
- public InlineResponse2003 getLoyaltyCardTransactions(Long loyaltyProgramId, String loyaltyCardId, List subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, List customerSessionIDs, List transactionUUIDs, Long pageSize, Long skip) throws ApiException {
- ApiResponse localVarResp = getLoyaltyCardTransactionsWithHttpInfo(loyaltyProgramId, loyaltyCardId, subledgerId, loyaltyTransactionType, startDate, endDate, customerSessionIDs, transactionUUIDs, pageSize, skip);
+ public InlineResponse2003 getLoyaltyCardTransactions(Long loyaltyProgramId, String loyaltyCardId, List subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, List customerSessionIDs, List transactionUUIDs, Long pageSize, Long skip, Boolean awaitsActivation) throws ApiException {
+ ApiResponse localVarResp = getLoyaltyCardTransactionsWithHttpInfo(loyaltyProgramId, loyaltyCardId, subledgerId, loyaltyTransactionType, startDate, endDate, customerSessionIDs, transactionUUIDs, pageSize, skip, awaitsActivation);
return localVarResp.getData();
}
@@ -2592,6 +2732,7 @@ public InlineResponse2003 getLoyaltyCardTransactions(Long loyaltyProgramId, Stri
* @param transactionUUIDs Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, `?transactionUUIDs=uuid1&transactionUUIDs=uuid2`. The response contains only data associated with the specified transactions. (optional)
* @param pageSize The number of items in the response. (optional, default to 50l)
* @param skip The number of items to skip when paging through large result sets. (optional)
+ * @param awaitsActivation If `true`: Filters results to include only point transactions that have action-based activation and have not expired. If `false`: Returns a `400` response. (optional)
* @return ApiResponse<InlineResponse2003>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -2603,8 +2744,8 @@ public InlineResponse2003 getLoyaltyCardTransactions(Long loyaltyProgramId, Stri
| 404 | Not found | - |
*/
- public ApiResponse getLoyaltyCardTransactionsWithHttpInfo(Long loyaltyProgramId, String loyaltyCardId, List subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, List customerSessionIDs, List transactionUUIDs, Long pageSize, Long skip) throws ApiException {
- okhttp3.Call localVarCall = getLoyaltyCardTransactionsValidateBeforeCall(loyaltyProgramId, loyaltyCardId, subledgerId, loyaltyTransactionType, startDate, endDate, customerSessionIDs, transactionUUIDs, pageSize, skip, null);
+ public ApiResponse getLoyaltyCardTransactionsWithHttpInfo(Long loyaltyProgramId, String loyaltyCardId, List subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, List customerSessionIDs, List transactionUUIDs, Long pageSize, Long skip, Boolean awaitsActivation) throws ApiException {
+ okhttp3.Call localVarCall = getLoyaltyCardTransactionsValidateBeforeCall(loyaltyProgramId, loyaltyCardId, subledgerId, loyaltyTransactionType, startDate, endDate, customerSessionIDs, transactionUUIDs, pageSize, skip, awaitsActivation, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
@@ -2622,6 +2763,7 @@ public ApiResponse getLoyaltyCardTransactionsWithHttpInfo(Lo
* @param transactionUUIDs Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, `?transactionUUIDs=uuid1&transactionUUIDs=uuid2`. The response contains only data associated with the specified transactions. (optional)
* @param pageSize The number of items in the response. (optional, default to 50l)
* @param skip The number of items to skip when paging through large result sets. (optional)
+ * @param awaitsActivation If `true`: Filters results to include only point transactions that have action-based activation and have not expired. If `false`: Returns a `400` response. (optional)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
* @throws ApiException If fail to process the API call, e.g. serializing the request body object
@@ -2634,9 +2776,9 @@ public ApiResponse getLoyaltyCardTransactionsWithHttpInfo(Lo
| 404 | Not found | - |
*/
- public okhttp3.Call getLoyaltyCardTransactionsAsync(Long loyaltyProgramId, String loyaltyCardId, List subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, List customerSessionIDs, List transactionUUIDs, Long pageSize, Long skip, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call getLoyaltyCardTransactionsAsync(Long loyaltyProgramId, String loyaltyCardId, List subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, List customerSessionIDs, List transactionUUIDs, Long pageSize, Long skip, Boolean awaitsActivation, final ApiCallback _callback) throws ApiException {
- okhttp3.Call localVarCall = getLoyaltyCardTransactionsValidateBeforeCall(loyaltyProgramId, loyaltyCardId, subledgerId, loyaltyTransactionType, startDate, endDate, customerSessionIDs, transactionUUIDs, pageSize, skip, _callback);
+ okhttp3.Call localVarCall = getLoyaltyCardTransactionsValidateBeforeCall(loyaltyProgramId, loyaltyCardId, subledgerId, loyaltyTransactionType, startDate, endDate, customerSessionIDs, transactionUUIDs, pageSize, skip, awaitsActivation, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
@@ -2842,6 +2984,7 @@ public okhttp3.Call getLoyaltyProgramProfilePointsAsync(Long loyaltyProgramId, S
* @param endDate 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional)
* @param pageSize The number of items in the response. (optional, default to 50l)
* @param skip The number of items to skip when paging through large result sets. (optional)
+ * @param awaitsActivation If `true`: Filters results to include only point transactions that have action-based activation and have not expired. If `false`: Returns a `400` response. (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -2854,7 +2997,7 @@ public okhttp3.Call getLoyaltyProgramProfilePointsAsync(Long loyaltyProgramId, S
| 404 | Not found | - |
*/
- public okhttp3.Call getLoyaltyProgramProfileTransactionsCall(Long loyaltyProgramId, String integrationId, List customerSessionIDs, List transactionUUIDs, String subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call getLoyaltyProgramProfileTransactionsCall(Long loyaltyProgramId, String integrationId, List customerSessionIDs, List transactionUUIDs, String subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip, Boolean awaitsActivation, final ApiCallback _callback) throws ApiException {
Object localVarPostBody = null;
// create path and map variables
@@ -2896,6 +3039,10 @@ public okhttp3.Call getLoyaltyProgramProfileTransactionsCall(Long loyaltyProgram
localVarQueryParams.addAll(localVarApiClient.parameterToPair("skip", skip));
}
+ if (awaitsActivation != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("awaitsActivation", awaitsActivation));
+ }
+
Map localVarHeaderParams = new HashMap();
Map localVarCookieParams = new HashMap();
Map localVarFormParams = new HashMap();
@@ -2918,7 +3065,7 @@ public okhttp3.Call getLoyaltyProgramProfileTransactionsCall(Long loyaltyProgram
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call getLoyaltyProgramProfileTransactionsValidateBeforeCall(Long loyaltyProgramId, String integrationId, List customerSessionIDs, List transactionUUIDs, String subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call getLoyaltyProgramProfileTransactionsValidateBeforeCall(Long loyaltyProgramId, String integrationId, List customerSessionIDs, List transactionUUIDs, String subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip, Boolean awaitsActivation, final ApiCallback _callback) throws ApiException {
// verify the required parameter 'loyaltyProgramId' is set
if (loyaltyProgramId == null) {
@@ -2931,7 +3078,7 @@ private okhttp3.Call getLoyaltyProgramProfileTransactionsValidateBeforeCall(Long
}
- okhttp3.Call localVarCall = getLoyaltyProgramProfileTransactionsCall(loyaltyProgramId, integrationId, customerSessionIDs, transactionUUIDs, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip, _callback);
+ okhttp3.Call localVarCall = getLoyaltyProgramProfileTransactionsCall(loyaltyProgramId, integrationId, customerSessionIDs, transactionUUIDs, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip, awaitsActivation, _callback);
return localVarCall;
}
@@ -2949,6 +3096,7 @@ private okhttp3.Call getLoyaltyProgramProfileTransactionsValidateBeforeCall(Long
* @param endDate 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional)
* @param pageSize The number of items in the response. (optional, default to 50l)
* @param skip The number of items to skip when paging through large result sets. (optional)
+ * @param awaitsActivation If `true`: Filters results to include only point transactions that have action-based activation and have not expired. If `false`: Returns a `400` response. (optional)
* @return InlineResponse2004
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -2960,8 +3108,8 @@ private okhttp3.Call getLoyaltyProgramProfileTransactionsValidateBeforeCall(Long
| 404 | Not found | - |
*/
- public InlineResponse2004 getLoyaltyProgramProfileTransactions(Long loyaltyProgramId, String integrationId, List customerSessionIDs, List transactionUUIDs, String subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip) throws ApiException {
- ApiResponse localVarResp = getLoyaltyProgramProfileTransactionsWithHttpInfo(loyaltyProgramId, integrationId, customerSessionIDs, transactionUUIDs, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip);
+ public InlineResponse2004 getLoyaltyProgramProfileTransactions(Long loyaltyProgramId, String integrationId, List customerSessionIDs, List transactionUUIDs, String subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip, Boolean awaitsActivation) throws ApiException {
+ ApiResponse localVarResp = getLoyaltyProgramProfileTransactionsWithHttpInfo(loyaltyProgramId, integrationId, customerSessionIDs, transactionUUIDs, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip, awaitsActivation);
return localVarResp.getData();
}
@@ -2978,6 +3126,7 @@ public InlineResponse2004 getLoyaltyProgramProfileTransactions(Long loyaltyProgr
* @param endDate 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional)
* @param pageSize The number of items in the response. (optional, default to 50l)
* @param skip The number of items to skip when paging through large result sets. (optional)
+ * @param awaitsActivation If `true`: Filters results to include only point transactions that have action-based activation and have not expired. If `false`: Returns a `400` response. (optional)
* @return ApiResponse<InlineResponse2004>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -2989,8 +3138,8 @@ public InlineResponse2004 getLoyaltyProgramProfileTransactions(Long loyaltyProgr
| 404 | Not found | - |
*/
- public ApiResponse getLoyaltyProgramProfileTransactionsWithHttpInfo(Long loyaltyProgramId, String integrationId, List customerSessionIDs, List transactionUUIDs, String subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip) throws ApiException {
- okhttp3.Call localVarCall = getLoyaltyProgramProfileTransactionsValidateBeforeCall(loyaltyProgramId, integrationId, customerSessionIDs, transactionUUIDs, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip, null);
+ public ApiResponse getLoyaltyProgramProfileTransactionsWithHttpInfo(Long loyaltyProgramId, String integrationId, List customerSessionIDs, List transactionUUIDs, String subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip, Boolean awaitsActivation) throws ApiException {
+ okhttp3.Call localVarCall = getLoyaltyProgramProfileTransactionsValidateBeforeCall(loyaltyProgramId, integrationId, customerSessionIDs, transactionUUIDs, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip, awaitsActivation, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
@@ -3008,6 +3157,7 @@ public ApiResponse getLoyaltyProgramProfileTransactionsWithH
* @param endDate 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional)
* @param pageSize The number of items in the response. (optional, default to 50l)
* @param skip The number of items to skip when paging through large result sets. (optional)
+ * @param awaitsActivation If `true`: Filters results to include only point transactions that have action-based activation and have not expired. If `false`: Returns a `400` response. (optional)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
* @throws ApiException If fail to process the API call, e.g. serializing the request body object
@@ -3020,16 +3170,16 @@ public ApiResponse getLoyaltyProgramProfileTransactionsWithH
| 404 | Not found | - |
*/
- public okhttp3.Call getLoyaltyProgramProfileTransactionsAsync(Long loyaltyProgramId, String integrationId, List customerSessionIDs, List transactionUUIDs, String subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call getLoyaltyProgramProfileTransactionsAsync(Long loyaltyProgramId, String integrationId, List customerSessionIDs, List transactionUUIDs, String subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip, Boolean awaitsActivation, final ApiCallback _callback) throws ApiException {
- okhttp3.Call localVarCall = getLoyaltyProgramProfileTransactionsValidateBeforeCall(loyaltyProgramId, integrationId, customerSessionIDs, transactionUUIDs, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip, _callback);
+ okhttp3.Call localVarCall = getLoyaltyProgramProfileTransactionsValidateBeforeCall(loyaltyProgramId, integrationId, customerSessionIDs, transactionUUIDs, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip, awaitsActivation, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
/**
* Build call for getReservedCustomers
- * @param couponValue The code of the coupon. (required)
+ * @param couponValue 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 `SUMMER25%OFF` as `SUMMER25%25OFF`. (required)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -3089,7 +3239,7 @@ private okhttp3.Call getReservedCustomersValidateBeforeCall(String couponValue,
/**
* List customers that have this coupon reserved
* Return all customers that have this coupon marked as reserved. This includes hard and soft reservations.
- * @param couponValue The code of the coupon. (required)
+ * @param couponValue 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 `SUMMER25%OFF` as `SUMMER25%25OFF`. (required)
* @return InlineResponse200
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -3109,7 +3259,7 @@ public InlineResponse200 getReservedCustomers(String couponValue) throws ApiExce
/**
* List customers that have this coupon reserved
* Return all customers that have this coupon marked as reserved. This includes hard and soft reservations.
- * @param couponValue The code of the coupon. (required)
+ * @param couponValue 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 `SUMMER25%OFF` as `SUMMER25%25OFF`. (required)
* @return ApiResponse<InlineResponse200>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -3130,7 +3280,7 @@ public ApiResponse getReservedCustomersWithHttpInfo(String co
/**
* List customers that have this coupon reserved (asynchronously)
* Return all customers that have this coupon marked as reserved. This includes hard and soft reservations.
- * @param couponValue The code of the coupon. (required)
+ * @param couponValue 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 `SUMMER25%OFF` as `SUMMER25%25OFF`. (required)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
* @throws ApiException If fail to process the API call, e.g. serializing the request body object
@@ -3352,7 +3502,7 @@ private okhttp3.Call reopenCustomerSessionValidateBeforeCall(String customerSess
/**
* Reopen customer session
- * 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.
+ * 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.
* @param customerSessionId The `integration ID` 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's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. (required)
* @return ReopenSessionResponse
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -3371,7 +3521,7 @@ public ReopenSessionResponse reopenCustomerSession(String customerSessionId) thr
/**
* Reopen customer session
- * 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.
+ * 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.
* @param customerSessionId The `integration ID` 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's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. (required)
* @return ApiResponse<ReopenSessionResponse>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -3391,7 +3541,7 @@ public ApiResponse reopenCustomerSessionWithHttpInfo(Stri
/**
* Reopen customer session (asynchronously)
- * 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.
+ * 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.
* @param customerSessionId The `integration ID` 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's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. (required)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
@@ -3825,6 +3975,148 @@ public okhttp3.Call trackEventV2Async(IntegrationEventV2Request body, String sil
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
+ /**
+ * Build call for unlinkLoyaltyCardFromProfile
+ * @param loyaltyProgramId The identifier of the card-based loyalty program containing the loyalty card. You can get this ID using the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. (required)
+ * @param loyaltyCardId The identifier of the loyalty card. You can get this ID using the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. (required)
+ * @param body body (required)
+ * @param _callback Callback for upload/download progress
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized | - |
+ | 404 | Not found | - |
+
+ */
+ public okhttp3.Call unlinkLoyaltyCardFromProfileCall(Long loyaltyProgramId, String loyaltyCardId, LoyaltyCardRegistration body, final ApiCallback _callback) throws ApiException {
+ Object localVarPostBody = body;
+
+ // create path and map variables
+ String localVarPath = "/v2/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/unlink_profile"
+ .replaceAll("\\{" + "loyaltyProgramId" + "\\}", localVarApiClient.escapeString(loyaltyProgramId.toString()))
+ .replaceAll("\\{" + "loyaltyCardId" + "\\}", localVarApiClient.escapeString(loyaltyCardId.toString()));
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap();
+ final String[] localVarAccepts = {
+ "application/json"
+ };
+ final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) {
+ localVarHeaderParams.put("Accept", localVarAccept);
+ }
+
+ final String[] localVarContentTypes = {
+ "application/json"
+ };
+ final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+
+ String[] localVarAuthNames = new String[] { "api_key_v1" };
+ return localVarApiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private okhttp3.Call unlinkLoyaltyCardFromProfileValidateBeforeCall(Long loyaltyProgramId, String loyaltyCardId, LoyaltyCardRegistration body, final ApiCallback _callback) throws ApiException {
+
+ // verify the required parameter 'loyaltyProgramId' is set
+ if (loyaltyProgramId == null) {
+ throw new ApiException("Missing the required parameter 'loyaltyProgramId' when calling unlinkLoyaltyCardFromProfile(Async)");
+ }
+
+ // verify the required parameter 'loyaltyCardId' is set
+ if (loyaltyCardId == null) {
+ throw new ApiException("Missing the required parameter 'loyaltyCardId' when calling unlinkLoyaltyCardFromProfile(Async)");
+ }
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ throw new ApiException("Missing the required parameter 'body' when calling unlinkLoyaltyCardFromProfile(Async)");
+ }
+
+
+ okhttp3.Call localVarCall = unlinkLoyaltyCardFromProfileCall(loyaltyProgramId, loyaltyCardId, body, _callback);
+ return localVarCall;
+
+ }
+
+ /**
+ * Unlink customer profile from a loyalty card
+ * Unlink a customer profile from a [registered](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card) loyalty card. To get the `integrationId` of a customer profile, you can use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint.
+ * @param loyaltyProgramId The identifier of the card-based loyalty program containing the loyalty card. You can get this ID using the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. (required)
+ * @param loyaltyCardId The identifier of the loyalty card. You can get this ID using the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. (required)
+ * @param body body (required)
+ * @return LoyaltyCard
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized | - |
+ | 404 | Not found | - |
+
+ */
+ public LoyaltyCard unlinkLoyaltyCardFromProfile(Long loyaltyProgramId, String loyaltyCardId, LoyaltyCardRegistration body) throws ApiException {
+ ApiResponse localVarResp = unlinkLoyaltyCardFromProfileWithHttpInfo(loyaltyProgramId, loyaltyCardId, body);
+ return localVarResp.getData();
+ }
+
+ /**
+ * Unlink customer profile from a loyalty card
+ * Unlink a customer profile from a [registered](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card) loyalty card. To get the `integrationId` of a customer profile, you can use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint.
+ * @param loyaltyProgramId The identifier of the card-based loyalty program containing the loyalty card. You can get this ID using the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. (required)
+ * @param loyaltyCardId The identifier of the loyalty card. You can get this ID using the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. (required)
+ * @param body body (required)
+ * @return ApiResponse<LoyaltyCard>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized | - |
+ | 404 | Not found | - |
+
+ */
+ public ApiResponse unlinkLoyaltyCardFromProfileWithHttpInfo(Long loyaltyProgramId, String loyaltyCardId, LoyaltyCardRegistration body) throws ApiException {
+ okhttp3.Call localVarCall = unlinkLoyaltyCardFromProfileValidateBeforeCall(loyaltyProgramId, loyaltyCardId, body, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * Unlink customer profile from a loyalty card (asynchronously)
+ * Unlink a customer profile from a [registered](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card) loyalty card. To get the `integrationId` of a customer profile, you can use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint.
+ * @param loyaltyProgramId The identifier of the card-based loyalty program containing the loyalty card. You can get this ID using the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. (required)
+ * @param loyaltyCardId The identifier of the loyalty card. You can get this ID using the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint. (required)
+ * @param body body (required)
+ * @param _callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized | - |
+ | 404 | Not found | - |
+
+ */
+ public okhttp3.Call unlinkLoyaltyCardFromProfileAsync(Long loyaltyProgramId, String loyaltyCardId, LoyaltyCardRegistration body, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = unlinkLoyaltyCardFromProfileValidateBeforeCall(loyaltyProgramId, loyaltyCardId, body, _callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ return localVarCall;
+ }
/**
* Build call for updateAudienceCustomersAttributes
* @param audienceId The ID of the audience. (required)
diff --git a/src/main/java/one/talon/api/ManagementApi.java b/src/main/java/one/talon/api/ManagementApi.java
index 59cdad88..7b4c6992 100644
--- a/src/main/java/one/talon/api/ManagementApi.java
+++ b/src/main/java/one/talon/api/ManagementApi.java
@@ -87,6 +87,7 @@
import one.talon.model.InlineResponse20037;
import one.talon.model.InlineResponse20038;
import one.talon.model.InlineResponse20039;
+import one.talon.model.InlineResponse2004;
import one.talon.model.InlineResponse20040;
import one.talon.model.InlineResponse20041;
import one.talon.model.InlineResponse20042;
@@ -101,6 +102,7 @@
import one.talon.model.InlineResponse2008;
import one.talon.model.InlineResponse2009;
import one.talon.model.LoginParams;
+import one.talon.model.LoyaltyBalancesWithTiers;
import one.talon.model.LoyaltyCard;
import one.talon.model.LoyaltyCardBatch;
import one.talon.model.LoyaltyCardBatchResponse;
@@ -10053,6 +10055,10 @@ public okhttp3.Call getAttributeAsync(Long attributeId, final ApiCallback 200 | OK | - |
*/
- public okhttp3.Call getAttributesCall(Long pageSize, Long skip, String sort, String entity, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call getAttributesCall(Long pageSize, Long skip, String sort, String entity, String applicationIds, String type, String kind, String search, final ApiCallback _callback) throws ApiException {
Object localVarPostBody = null;
// create path and map variables
@@ -10086,6 +10092,22 @@ public okhttp3.Call getAttributesCall(Long pageSize, Long skip, String sort, Str
localVarQueryParams.addAll(localVarApiClient.parameterToPair("entity", entity));
}
+ if (applicationIds != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("applicationIds", applicationIds));
+ }
+
+ if (type != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("type", type));
+ }
+
+ if (kind != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("kind", kind));
+ }
+
+ if (search != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("search", search));
+ }
+
Map localVarHeaderParams = new HashMap();
Map localVarCookieParams = new HashMap();
Map localVarFormParams = new HashMap();
@@ -10108,10 +10130,10 @@ public okhttp3.Call getAttributesCall(Long pageSize, Long skip, String sort, Str
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call getAttributesValidateBeforeCall(Long pageSize, Long skip, String sort, String entity, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call getAttributesValidateBeforeCall(Long pageSize, Long skip, String sort, String entity, String applicationIds, String type, String kind, String search, final ApiCallback _callback) throws ApiException {
- okhttp3.Call localVarCall = getAttributesCall(pageSize, skip, sort, entity, _callback);
+ okhttp3.Call localVarCall = getAttributesCall(pageSize, skip, sort, entity, applicationIds, type, kind, search, _callback);
return localVarCall;
}
@@ -10123,6 +10145,10 @@ private okhttp3.Call getAttributesValidateBeforeCall(Long pageSize, Long skip, S
* @param skip The number of items to skip when paging through large result sets. (optional)
* @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
* @param entity Returned attributes will be filtered by supplied entity. (optional)
+ * @param applicationIds Returned attributes will be filtered by supplied application ids (optional)
+ * @param type Returned attributes will be filtered by supplied type (optional)
+ * @param kind Returned attributes will be filtered by supplied kind (builtin or custom) (optional)
+ * @param search Returned attributes will be filtered by searching case insensitive through Attribute name, description and type (optional)
* @return InlineResponse20036
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -10131,8 +10157,8 @@ private okhttp3.Call getAttributesValidateBeforeCall(Long pageSize, Long skip, S
| 200 | OK | - |
*/
- public InlineResponse20036 getAttributes(Long pageSize, Long skip, String sort, String entity) throws ApiException {
- ApiResponse localVarResp = getAttributesWithHttpInfo(pageSize, skip, sort, entity);
+ public InlineResponse20036 getAttributes(Long pageSize, Long skip, String sort, String entity, String applicationIds, String type, String kind, String search) throws ApiException {
+ ApiResponse localVarResp = getAttributesWithHttpInfo(pageSize, skip, sort, entity, applicationIds, type, kind, search);
return localVarResp.getData();
}
@@ -10143,6 +10169,10 @@ public InlineResponse20036 getAttributes(Long pageSize, Long skip, String sort,
* @param skip The number of items to skip when paging through large result sets. (optional)
* @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
* @param entity Returned attributes will be filtered by supplied entity. (optional)
+ * @param applicationIds Returned attributes will be filtered by supplied application ids (optional)
+ * @param type Returned attributes will be filtered by supplied type (optional)
+ * @param kind Returned attributes will be filtered by supplied kind (builtin or custom) (optional)
+ * @param search Returned attributes will be filtered by searching case insensitive through Attribute name, description and type (optional)
* @return ApiResponse<InlineResponse20036>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -10151,8 +10181,8 @@ public InlineResponse20036 getAttributes(Long pageSize, Long skip, String sort,
| 200 | OK | - |
*/
- public ApiResponse getAttributesWithHttpInfo(Long pageSize, Long skip, String sort, String entity) throws ApiException {
- okhttp3.Call localVarCall = getAttributesValidateBeforeCall(pageSize, skip, sort, entity, null);
+ public ApiResponse getAttributesWithHttpInfo(Long pageSize, Long skip, String sort, String entity, String applicationIds, String type, String kind, String search) throws ApiException {
+ okhttp3.Call localVarCall = getAttributesValidateBeforeCall(pageSize, skip, sort, entity, applicationIds, type, kind, search, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
@@ -10164,6 +10194,10 @@ public ApiResponse getAttributesWithHttpInfo(Long pageSize,
* @param skip The number of items to skip when paging through large result sets. (optional)
* @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
* @param entity Returned attributes will be filtered by supplied entity. (optional)
+ * @param applicationIds Returned attributes will be filtered by supplied application ids (optional)
+ * @param type Returned attributes will be filtered by supplied type (optional)
+ * @param kind Returned attributes will be filtered by supplied kind (builtin or custom) (optional)
+ * @param search Returned attributes will be filtered by searching case insensitive through Attribute name, description and type (optional)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
* @throws ApiException If fail to process the API call, e.g. serializing the request body object
@@ -10173,9 +10207,9 @@ public ApiResponse getAttributesWithHttpInfo(Long pageSize,
| 200 | OK | - |
*/
- public okhttp3.Call getAttributesAsync(Long pageSize, Long skip, String sort, String entity, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call getAttributesAsync(Long pageSize, Long skip, String sort, String entity, String applicationIds, String type, String kind, String search, final ApiCallback _callback) throws ApiException {
- okhttp3.Call localVarCall = getAttributesValidateBeforeCall(pageSize, skip, sort, entity, _callback);
+ okhttp3.Call localVarCall = getAttributesValidateBeforeCall(pageSize, skip, sort, entity, applicationIds, type, kind, search, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
@@ -11414,6 +11448,10 @@ public okhttp3.Call getCampaignTemplatesAsync(Long pageSize, Long skip, String s
* @param tags Filter results performing case-insensitive matching against the tags of the campaign. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values (optional)
* @param createdBefore Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
* @param createdAfter Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
+ * @param startBefore Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign start time timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
+ * @param startAfter Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign start time timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
+ * @param endBefore Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign end time timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
+ * @param endAfter Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign end time timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
* @param campaignGroupId Filter results to campaigns owned by the specified campaign access group ID. (optional)
* @param templateId The ID of the campaign template this campaign was created from. (optional)
* @param storeId Filter results to campaigns linked to the specified store ID. (optional)
@@ -11427,7 +11465,7 @@ public okhttp3.Call getCampaignTemplatesAsync(Long pageSize, Long skip, String s
| 400 | Bad request | - |
*/
- public okhttp3.Call getCampaignsCall(Long applicationId, Long pageSize, Long skip, String sort, String campaignState, String name, String tags, OffsetDateTime createdBefore, OffsetDateTime createdAfter, Long campaignGroupId, Long templateId, Long storeId, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call getCampaignsCall(Long applicationId, Long pageSize, Long skip, String sort, String campaignState, String name, String tags, OffsetDateTime createdBefore, OffsetDateTime createdAfter, OffsetDateTime startBefore, OffsetDateTime startAfter, OffsetDateTime endBefore, OffsetDateTime endAfter, Long campaignGroupId, Long templateId, Long storeId, final ApiCallback _callback) throws ApiException {
Object localVarPostBody = null;
// create path and map variables
@@ -11468,6 +11506,22 @@ public okhttp3.Call getCampaignsCall(Long applicationId, Long pageSize, Long ski
localVarQueryParams.addAll(localVarApiClient.parameterToPair("createdAfter", createdAfter));
}
+ if (startBefore != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("startBefore", startBefore));
+ }
+
+ if (startAfter != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("startAfter", startAfter));
+ }
+
+ if (endBefore != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("endBefore", endBefore));
+ }
+
+ if (endAfter != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("endAfter", endAfter));
+ }
+
if (campaignGroupId != null) {
localVarQueryParams.addAll(localVarApiClient.parameterToPair("campaignGroupId", campaignGroupId));
}
@@ -11502,7 +11556,7 @@ public okhttp3.Call getCampaignsCall(Long applicationId, Long pageSize, Long ski
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call getCampaignsValidateBeforeCall(Long applicationId, Long pageSize, Long skip, String sort, String campaignState, String name, String tags, OffsetDateTime createdBefore, OffsetDateTime createdAfter, Long campaignGroupId, Long templateId, Long storeId, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call getCampaignsValidateBeforeCall(Long applicationId, Long pageSize, Long skip, String sort, String campaignState, String name, String tags, OffsetDateTime createdBefore, OffsetDateTime createdAfter, OffsetDateTime startBefore, OffsetDateTime startAfter, OffsetDateTime endBefore, OffsetDateTime endAfter, Long campaignGroupId, Long templateId, Long storeId, final ApiCallback _callback) throws ApiException {
// verify the required parameter 'applicationId' is set
if (applicationId == null) {
@@ -11510,7 +11564,7 @@ private okhttp3.Call getCampaignsValidateBeforeCall(Long applicationId, Long pag
}
- okhttp3.Call localVarCall = getCampaignsCall(applicationId, pageSize, skip, sort, campaignState, name, tags, createdBefore, createdAfter, campaignGroupId, templateId, storeId, _callback);
+ okhttp3.Call localVarCall = getCampaignsCall(applicationId, pageSize, skip, sort, campaignState, name, tags, createdBefore, createdAfter, startBefore, startAfter, endBefore, endAfter, campaignGroupId, templateId, storeId, _callback);
return localVarCall;
}
@@ -11527,6 +11581,10 @@ private okhttp3.Call getCampaignsValidateBeforeCall(Long applicationId, Long pag
* @param tags Filter results performing case-insensitive matching against the tags of the campaign. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values (optional)
* @param createdBefore Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
* @param createdAfter Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
+ * @param startBefore Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign start time timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
+ * @param startAfter Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign start time timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
+ * @param endBefore Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign end time timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
+ * @param endAfter Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign end time timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
* @param campaignGroupId Filter results to campaigns owned by the specified campaign access group ID. (optional)
* @param templateId The ID of the campaign template this campaign was created from. (optional)
* @param storeId Filter results to campaigns linked to the specified store ID. (optional)
@@ -11539,8 +11597,8 @@ private okhttp3.Call getCampaignsValidateBeforeCall(Long applicationId, Long pag
| 400 | Bad request | - |
*/
- public InlineResponse2008 getCampaigns(Long applicationId, Long pageSize, Long skip, String sort, String campaignState, String name, String tags, OffsetDateTime createdBefore, OffsetDateTime createdAfter, Long campaignGroupId, Long templateId, Long storeId) throws ApiException {
- ApiResponse localVarResp = getCampaignsWithHttpInfo(applicationId, pageSize, skip, sort, campaignState, name, tags, createdBefore, createdAfter, campaignGroupId, templateId, storeId);
+ public InlineResponse2008 getCampaigns(Long applicationId, Long pageSize, Long skip, String sort, String campaignState, String name, String tags, OffsetDateTime createdBefore, OffsetDateTime createdAfter, OffsetDateTime startBefore, OffsetDateTime startAfter, OffsetDateTime endBefore, OffsetDateTime endAfter, Long campaignGroupId, Long templateId, Long storeId) throws ApiException {
+ ApiResponse localVarResp = getCampaignsWithHttpInfo(applicationId, pageSize, skip, sort, campaignState, name, tags, createdBefore, createdAfter, startBefore, startAfter, endBefore, endAfter, campaignGroupId, templateId, storeId);
return localVarResp.getData();
}
@@ -11556,6 +11614,10 @@ public InlineResponse2008 getCampaigns(Long applicationId, Long pageSize, Long s
* @param tags Filter results performing case-insensitive matching against the tags of the campaign. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values (optional)
* @param createdBefore Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
* @param createdAfter Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
+ * @param startBefore Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign start time timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
+ * @param startAfter Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign start time timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
+ * @param endBefore Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign end time timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
+ * @param endAfter Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign end time timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
* @param campaignGroupId Filter results to campaigns owned by the specified campaign access group ID. (optional)
* @param templateId The ID of the campaign template this campaign was created from. (optional)
* @param storeId Filter results to campaigns linked to the specified store ID. (optional)
@@ -11568,8 +11630,8 @@ public InlineResponse2008 getCampaigns(Long applicationId, Long pageSize, Long s
| 400 | Bad request | - |
*/
- public ApiResponse getCampaignsWithHttpInfo(Long applicationId, Long pageSize, Long skip, String sort, String campaignState, String name, String tags, OffsetDateTime createdBefore, OffsetDateTime createdAfter, Long campaignGroupId, Long templateId, Long storeId) throws ApiException {
- okhttp3.Call localVarCall = getCampaignsValidateBeforeCall(applicationId, pageSize, skip, sort, campaignState, name, tags, createdBefore, createdAfter, campaignGroupId, templateId, storeId, null);
+ public ApiResponse getCampaignsWithHttpInfo(Long applicationId, Long pageSize, Long skip, String sort, String campaignState, String name, String tags, OffsetDateTime createdBefore, OffsetDateTime createdAfter, OffsetDateTime startBefore, OffsetDateTime startAfter, OffsetDateTime endBefore, OffsetDateTime endAfter, Long campaignGroupId, Long templateId, Long storeId) throws ApiException {
+ okhttp3.Call localVarCall = getCampaignsValidateBeforeCall(applicationId, pageSize, skip, sort, campaignState, name, tags, createdBefore, createdAfter, startBefore, startAfter, endBefore, endAfter, campaignGroupId, templateId, storeId, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
@@ -11586,6 +11648,10 @@ public ApiResponse getCampaignsWithHttpInfo(Long application
* @param tags Filter results performing case-insensitive matching against the tags of the campaign. When used in conjunction with the \"name\" query parameter, a logical OR will be performed to search both tags and name for the provided values (optional)
* @param createdBefore Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
* @param createdAfter Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
+ * @param startBefore Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign start time timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
+ * @param startAfter Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign start time timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
+ * @param endBefore Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign end time timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
+ * @param endAfter Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign end time timestamp. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
* @param campaignGroupId Filter results to campaigns owned by the specified campaign access group ID. (optional)
* @param templateId The ID of the campaign template this campaign was created from. (optional)
* @param storeId Filter results to campaigns linked to the specified store ID. (optional)
@@ -11599,9 +11665,9 @@ public ApiResponse getCampaignsWithHttpInfo(Long application
| 400 | Bad request | - |
*/
- public okhttp3.Call getCampaignsAsync(Long applicationId, Long pageSize, Long skip, String sort, String campaignState, String name, String tags, OffsetDateTime createdBefore, OffsetDateTime createdAfter, Long campaignGroupId, Long templateId, Long storeId, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call getCampaignsAsync(Long applicationId, Long pageSize, Long skip, String sort, String campaignState, String name, String tags, OffsetDateTime createdBefore, OffsetDateTime createdAfter, OffsetDateTime startBefore, OffsetDateTime startAfter, OffsetDateTime endBefore, OffsetDateTime endAfter, Long campaignGroupId, Long templateId, Long storeId, final ApiCallback _callback) throws ApiException {
- okhttp3.Call localVarCall = getCampaignsValidateBeforeCall(applicationId, pageSize, skip, sort, campaignState, name, tags, createdBefore, createdAfter, campaignGroupId, templateId, storeId, _callback);
+ okhttp3.Call localVarCall = getCampaignsValidateBeforeCall(applicationId, pageSize, skip, sort, campaignState, name, tags, createdBefore, createdAfter, startBefore, startAfter, endBefore, endAfter, campaignGroupId, templateId, storeId, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
@@ -14270,6 +14336,171 @@ public okhttp3.Call getLoyaltyCardsAsync(Long loyaltyProgramId, Long pageSize, L
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
+ /**
+ * Build call for getLoyaltyLedgerBalances
+ * @param loyaltyProgramId 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. (required)
+ * @param integrationId 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. (required)
+ * @param endDate 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional)
+ * @param subledgerId The ID of the subledger used to filter the data. Leave this value empty (\"\") to query the main ledger. (optional)
+ * @param includeTiers Indicates whether tier information is included in the response. When set to `true`, the response includes information about the current tier and the number of points required to move to next tier. (optional, default to false)
+ * @param includeProjectedTier Indicates whether the customer's projected tier information is included in the response. When set to `true`, the response includes information about the customer's active points and the name of the projected tier. **Note** We recommend filtering by `subledgerId` for better performance. (optional, default to false)
+ * @param _callback Callback for upload/download progress
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized | - |
+ | 404 | Not found | - |
+
+ */
+ public okhttp3.Call getLoyaltyLedgerBalancesCall(Long loyaltyProgramId, String integrationId, OffsetDateTime endDate, String subledgerId, Boolean includeTiers, Boolean includeProjectedTier, final ApiCallback _callback) throws ApiException {
+ Object localVarPostBody = null;
+
+ // create path and map variables
+ String localVarPath = "/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/ledger_balances"
+ .replaceAll("\\{" + "loyaltyProgramId" + "\\}", localVarApiClient.escapeString(loyaltyProgramId.toString()))
+ .replaceAll("\\{" + "integrationId" + "\\}", localVarApiClient.escapeString(integrationId.toString()));
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ if (endDate != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("endDate", endDate));
+ }
+
+ if (subledgerId != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("subledgerId", subledgerId));
+ }
+
+ if (includeTiers != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("includeTiers", includeTiers));
+ }
+
+ if (includeProjectedTier != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("includeProjectedTier", includeProjectedTier));
+ }
+
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap();
+ final String[] localVarAccepts = {
+ "application/json"
+ };
+ final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) {
+ localVarHeaderParams.put("Accept", localVarAccept);
+ }
+
+ final String[] localVarContentTypes = {
+
+ };
+ final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+
+ String[] localVarAuthNames = new String[] { "api_key_v1", "management_key", "manager_auth" };
+ return localVarApiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private okhttp3.Call getLoyaltyLedgerBalancesValidateBeforeCall(Long loyaltyProgramId, String integrationId, OffsetDateTime endDate, String subledgerId, Boolean includeTiers, Boolean includeProjectedTier, final ApiCallback _callback) throws ApiException {
+
+ // verify the required parameter 'loyaltyProgramId' is set
+ if (loyaltyProgramId == null) {
+ throw new ApiException("Missing the required parameter 'loyaltyProgramId' when calling getLoyaltyLedgerBalances(Async)");
+ }
+
+ // verify the required parameter 'integrationId' is set
+ if (integrationId == null) {
+ throw new ApiException("Missing the required parameter 'integrationId' when calling getLoyaltyLedgerBalances(Async)");
+ }
+
+
+ okhttp3.Call localVarCall = getLoyaltyLedgerBalancesCall(loyaltyProgramId, integrationId, endDate, subledgerId, includeTiers, includeProjectedTier, _callback);
+ return localVarCall;
+
+ }
+
+ /**
+ * Get customer's loyalty balances
+ * 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)
+ * @param loyaltyProgramId 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. (required)
+ * @param integrationId 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. (required)
+ * @param endDate 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional)
+ * @param subledgerId The ID of the subledger used to filter the data. Leave this value empty (\"\") to query the main ledger. (optional)
+ * @param includeTiers Indicates whether tier information is included in the response. When set to `true`, the response includes information about the current tier and the number of points required to move to next tier. (optional, default to false)
+ * @param includeProjectedTier Indicates whether the customer's projected tier information is included in the response. When set to `true`, the response includes information about the customer's active points and the name of the projected tier. **Note** We recommend filtering by `subledgerId` for better performance. (optional, default to false)
+ * @return LoyaltyBalancesWithTiers
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized | - |
+ | 404 | Not found | - |
+
+ */
+ public LoyaltyBalancesWithTiers getLoyaltyLedgerBalances(Long loyaltyProgramId, String integrationId, OffsetDateTime endDate, String subledgerId, Boolean includeTiers, Boolean includeProjectedTier) throws ApiException {
+ ApiResponse localVarResp = getLoyaltyLedgerBalancesWithHttpInfo(loyaltyProgramId, integrationId, endDate, subledgerId, includeTiers, includeProjectedTier);
+ return localVarResp.getData();
+ }
+
+ /**
+ * Get customer's loyalty balances
+ * 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)
+ * @param loyaltyProgramId 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. (required)
+ * @param integrationId 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. (required)
+ * @param endDate 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional)
+ * @param subledgerId The ID of the subledger used to filter the data. Leave this value empty (\"\") to query the main ledger. (optional)
+ * @param includeTiers Indicates whether tier information is included in the response. When set to `true`, the response includes information about the current tier and the number of points required to move to next tier. (optional, default to false)
+ * @param includeProjectedTier Indicates whether the customer's projected tier information is included in the response. When set to `true`, the response includes information about the customer's active points and the name of the projected tier. **Note** We recommend filtering by `subledgerId` for better performance. (optional, default to false)
+ * @return ApiResponse<LoyaltyBalancesWithTiers>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized | - |
+ | 404 | Not found | - |
+
+ */
+ public ApiResponse getLoyaltyLedgerBalancesWithHttpInfo(Long loyaltyProgramId, String integrationId, OffsetDateTime endDate, String subledgerId, Boolean includeTiers, Boolean includeProjectedTier) throws ApiException {
+ okhttp3.Call localVarCall = getLoyaltyLedgerBalancesValidateBeforeCall(loyaltyProgramId, integrationId, endDate, subledgerId, includeTiers, includeProjectedTier, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * Get customer's loyalty balances (asynchronously)
+ * 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)
+ * @param loyaltyProgramId 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. (required)
+ * @param integrationId 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. (required)
+ * @param endDate 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional)
+ * @param subledgerId The ID of the subledger used to filter the data. Leave this value empty (\"\") to query the main ledger. (optional)
+ * @param includeTiers Indicates whether tier information is included in the response. When set to `true`, the response includes information about the current tier and the number of points required to move to next tier. (optional, default to false)
+ * @param includeProjectedTier Indicates whether the customer's projected tier information is included in the response. When set to `true`, the response includes information about the customer's active points and the name of the projected tier. **Note** We recommend filtering by `subledgerId` for better performance. (optional, default to false)
+ * @param _callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized | - |
+ | 404 | Not found | - |
+
+ */
+ public okhttp3.Call getLoyaltyLedgerBalancesAsync(Long loyaltyProgramId, String integrationId, OffsetDateTime endDate, String subledgerId, Boolean includeTiers, Boolean includeProjectedTier, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = getLoyaltyLedgerBalancesValidateBeforeCall(loyaltyProgramId, integrationId, endDate, subledgerId, includeTiers, includeProjectedTier, _callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ return localVarCall;
+ }
/**
* Build call for getLoyaltyPoints
* @param loyaltyProgramId The identifier for the loyalty program. (required)
@@ -14282,7 +14513,9 @@ public okhttp3.Call getLoyaltyCardsAsync(Long loyaltyProgramId, Long pageSize, L
| Status Code | Description | Response Headers |
| 200 | OK | - |
+ * @deprecated
*/
+ @Deprecated
public okhttp3.Call getLoyaltyPointsCall(String loyaltyProgramId, String integrationId, final ApiCallback _callback) throws ApiException {
Object localVarPostBody = null;
@@ -14314,6 +14547,7 @@ public okhttp3.Call getLoyaltyPointsCall(String loyaltyProgramId, String integra
return localVarApiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
+ @Deprecated
@SuppressWarnings("rawtypes")
private okhttp3.Call getLoyaltyPointsValidateBeforeCall(String loyaltyProgramId, String integrationId, final ApiCallback _callback) throws ApiException {
@@ -14345,7 +14579,9 @@ private okhttp3.Call getLoyaltyPointsValidateBeforeCall(String loyaltyProgramId,
| Status Code | Description | Response Headers |
| 200 | OK | - |
+ * @deprecated
*/
+ @Deprecated
public LoyaltyLedger getLoyaltyPoints(String loyaltyProgramId, String integrationId) throws ApiException {
ApiResponse localVarResp = getLoyaltyPointsWithHttpInfo(loyaltyProgramId, integrationId);
return localVarResp.getData();
@@ -14363,7 +14599,9 @@ public LoyaltyLedger getLoyaltyPoints(String loyaltyProgramId, String integratio
| Status Code | Description | Response Headers |
| 200 | OK | - |
+ * @deprecated
*/
+ @Deprecated
public ApiResponse getLoyaltyPointsWithHttpInfo(String loyaltyProgramId, String integrationId) throws ApiException {
okhttp3.Call localVarCall = getLoyaltyPointsValidateBeforeCall(loyaltyProgramId, integrationId, null);
Type localVarReturnType = new TypeToken(){}.getType();
@@ -14383,7 +14621,9 @@ public ApiResponse getLoyaltyPointsWithHttpInfo(String loyaltyPro
| Status Code | Description | Response Headers |
| 200 | OK | - |
+ * @deprecated
*/
+ @Deprecated
public okhttp3.Call getLoyaltyPointsAsync(String loyaltyProgramId, String integrationId, final ApiCallback _callback) throws ApiException {
okhttp3.Call localVarCall = getLoyaltyPointsValidateBeforeCall(loyaltyProgramId, integrationId, _callback);
@@ -14502,6 +14742,211 @@ public okhttp3.Call getLoyaltyProgramAsync(Long loyaltyProgramId, final ApiCallb
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
+ /**
+ * Build call for getLoyaltyProgramProfileLedgerTransactions
+ * @param loyaltyProgramId 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. (required)
+ * @param integrationId 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. (required)
+ * @param customerSessionIDs Filter the results by a list of customer session IDs. To include multiple IDs, repeat the parameter for each one, for example, `?customerSessionIDs=id1&customerSessionIDs=id2`. The response contains only data associated with the specified sessions. (optional)
+ * @param transactionUUIDs Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, `?transactionUUIDs=uuid1&transactionUUIDs=uuid2`. The response contains only data associated with the specified transactions. (optional)
+ * @param subledgerId The ID of the subledger used to filter the data. Leave this value empty (\"\") to query the main ledger. (optional)
+ * @param loyaltyTransactionType Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional)
+ * @param startDate 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional)
+ * @param endDate 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional)
+ * @param pageSize The number of items in the response. (optional, default to 50l)
+ * @param skip The number of items to skip when paging through large result sets. (optional)
+ * @param awaitsActivation If `true`: Filters results to include only point transactions that have action-based activation and have not expired. If `false`: Returns a `400` response. (optional)
+ * @param _callback Callback for upload/download progress
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized | - |
+ | 404 | Not found | - |
+
+ */
+ public okhttp3.Call getLoyaltyProgramProfileLedgerTransactionsCall(Long loyaltyProgramId, String integrationId, List customerSessionIDs, List transactionUUIDs, String subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip, Boolean awaitsActivation, final ApiCallback _callback) throws ApiException {
+ Object localVarPostBody = null;
+
+ // create path and map variables
+ String localVarPath = "/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/ledger_transactions"
+ .replaceAll("\\{" + "loyaltyProgramId" + "\\}", localVarApiClient.escapeString(loyaltyProgramId.toString()))
+ .replaceAll("\\{" + "integrationId" + "\\}", localVarApiClient.escapeString(integrationId.toString()));
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ if (customerSessionIDs != null) {
+ localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "customerSessionIDs", customerSessionIDs));
+ }
+
+ if (transactionUUIDs != null) {
+ localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "transactionUUIDs", transactionUUIDs));
+ }
+
+ if (subledgerId != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("subledgerId", subledgerId));
+ }
+
+ if (loyaltyTransactionType != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("loyaltyTransactionType", loyaltyTransactionType));
+ }
+
+ if (startDate != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("startDate", startDate));
+ }
+
+ if (endDate != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("endDate", endDate));
+ }
+
+ if (pageSize != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("pageSize", pageSize));
+ }
+
+ if (skip != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("skip", skip));
+ }
+
+ if (awaitsActivation != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("awaitsActivation", awaitsActivation));
+ }
+
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap();
+ final String[] localVarAccepts = {
+ "application/json"
+ };
+ final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) {
+ localVarHeaderParams.put("Accept", localVarAccept);
+ }
+
+ final String[] localVarContentTypes = {
+
+ };
+ final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+
+ String[] localVarAuthNames = new String[] { "api_key_v1", "management_key", "manager_auth" };
+ return localVarApiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private okhttp3.Call getLoyaltyProgramProfileLedgerTransactionsValidateBeforeCall(Long loyaltyProgramId, String integrationId, List customerSessionIDs, List transactionUUIDs, String subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip, Boolean awaitsActivation, final ApiCallback _callback) throws ApiException {
+
+ // verify the required parameter 'loyaltyProgramId' is set
+ if (loyaltyProgramId == null) {
+ throw new ApiException("Missing the required parameter 'loyaltyProgramId' when calling getLoyaltyProgramProfileLedgerTransactions(Async)");
+ }
+
+ // verify the required parameter 'integrationId' is set
+ if (integrationId == null) {
+ throw new ApiException("Missing the required parameter 'integrationId' when calling getLoyaltyProgramProfileLedgerTransactions(Async)");
+ }
+
+
+ okhttp3.Call localVarCall = getLoyaltyProgramProfileLedgerTransactionsCall(loyaltyProgramId, integrationId, customerSessionIDs, transactionUUIDs, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip, awaitsActivation, _callback);
+ return localVarCall;
+
+ }
+
+ /**
+ * List customer's loyalty transactions
+ * Retrieve paginated results of loyalty transaction logs for the given Integration ID in the specified loyalty program. You can filter transactions by date or by ledger (subledger or main ledger). 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.
+ * @param loyaltyProgramId 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. (required)
+ * @param integrationId 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. (required)
+ * @param customerSessionIDs Filter the results by a list of customer session IDs. To include multiple IDs, repeat the parameter for each one, for example, `?customerSessionIDs=id1&customerSessionIDs=id2`. The response contains only data associated with the specified sessions. (optional)
+ * @param transactionUUIDs Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, `?transactionUUIDs=uuid1&transactionUUIDs=uuid2`. The response contains only data associated with the specified transactions. (optional)
+ * @param subledgerId The ID of the subledger used to filter the data. Leave this value empty (\"\") to query the main ledger. (optional)
+ * @param loyaltyTransactionType Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional)
+ * @param startDate 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional)
+ * @param endDate 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional)
+ * @param pageSize The number of items in the response. (optional, default to 50l)
+ * @param skip The number of items to skip when paging through large result sets. (optional)
+ * @param awaitsActivation If `true`: Filters results to include only point transactions that have action-based activation and have not expired. If `false`: Returns a `400` response. (optional)
+ * @return InlineResponse2004
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized | - |
+ | 404 | Not found | - |
+
+ */
+ public InlineResponse2004 getLoyaltyProgramProfileLedgerTransactions(Long loyaltyProgramId, String integrationId, List customerSessionIDs, List transactionUUIDs, String subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip, Boolean awaitsActivation) throws ApiException {
+ ApiResponse localVarResp = getLoyaltyProgramProfileLedgerTransactionsWithHttpInfo(loyaltyProgramId, integrationId, customerSessionIDs, transactionUUIDs, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip, awaitsActivation);
+ return localVarResp.getData();
+ }
+
+ /**
+ * List customer's loyalty transactions
+ * Retrieve paginated results of loyalty transaction logs for the given Integration ID in the specified loyalty program. You can filter transactions by date or by ledger (subledger or main ledger). 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.
+ * @param loyaltyProgramId 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. (required)
+ * @param integrationId 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. (required)
+ * @param customerSessionIDs Filter the results by a list of customer session IDs. To include multiple IDs, repeat the parameter for each one, for example, `?customerSessionIDs=id1&customerSessionIDs=id2`. The response contains only data associated with the specified sessions. (optional)
+ * @param transactionUUIDs Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, `?transactionUUIDs=uuid1&transactionUUIDs=uuid2`. The response contains only data associated with the specified transactions. (optional)
+ * @param subledgerId The ID of the subledger used to filter the data. Leave this value empty (\"\") to query the main ledger. (optional)
+ * @param loyaltyTransactionType Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional)
+ * @param startDate 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional)
+ * @param endDate 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional)
+ * @param pageSize The number of items in the response. (optional, default to 50l)
+ * @param skip The number of items to skip when paging through large result sets. (optional)
+ * @param awaitsActivation If `true`: Filters results to include only point transactions that have action-based activation and have not expired. If `false`: Returns a `400` response. (optional)
+ * @return ApiResponse<InlineResponse2004>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized | - |
+ | 404 | Not found | - |
+
+ */
+ public ApiResponse getLoyaltyProgramProfileLedgerTransactionsWithHttpInfo(Long loyaltyProgramId, String integrationId, List customerSessionIDs, List transactionUUIDs, String subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip, Boolean awaitsActivation) throws ApiException {
+ okhttp3.Call localVarCall = getLoyaltyProgramProfileLedgerTransactionsValidateBeforeCall(loyaltyProgramId, integrationId, customerSessionIDs, transactionUUIDs, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip, awaitsActivation, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * List customer's loyalty transactions (asynchronously)
+ * Retrieve paginated results of loyalty transaction logs for the given Integration ID in the specified loyalty program. You can filter transactions by date or by ledger (subledger or main ledger). 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.
+ * @param loyaltyProgramId 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. (required)
+ * @param integrationId 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. (required)
+ * @param customerSessionIDs Filter the results by a list of customer session IDs. To include multiple IDs, repeat the parameter for each one, for example, `?customerSessionIDs=id1&customerSessionIDs=id2`. The response contains only data associated with the specified sessions. (optional)
+ * @param transactionUUIDs Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, `?transactionUUIDs=uuid1&transactionUUIDs=uuid2`. The response contains only data associated with the specified transactions. (optional)
+ * @param subledgerId The ID of the subledger used to filter the data. Leave this value empty (\"\") to query the main ledger. (optional)
+ * @param loyaltyTransactionType Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file. (optional)
+ * @param startDate 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional)
+ * @param endDate 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional)
+ * @param pageSize The number of items in the response. (optional, default to 50l)
+ * @param skip The number of items to skip when paging through large result sets. (optional)
+ * @param awaitsActivation If `true`: Filters results to include only point transactions that have action-based activation and have not expired. If `false`: Returns a `400` response. (optional)
+ * @param _callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized | - |
+ | 404 | Not found | - |
+
+ */
+ public okhttp3.Call getLoyaltyProgramProfileLedgerTransactionsAsync(Long loyaltyProgramId, String integrationId, List customerSessionIDs, List transactionUUIDs, String subledgerId, String loyaltyTransactionType, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip, Boolean awaitsActivation, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = getLoyaltyProgramProfileLedgerTransactionsValidateBeforeCall(loyaltyProgramId, integrationId, customerSessionIDs, transactionUUIDs, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip, awaitsActivation, _callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ return localVarCall;
+ }
/**
* Build call for getLoyaltyProgramTransactions
* @param loyaltyProgramId Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. (required)
@@ -14513,6 +14958,7 @@ public okhttp3.Call getLoyaltyProgramAsync(Long loyaltyProgramId, final ApiCallb
* @param endDate 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional)
* @param pageSize The number of items in the response. (optional, default to 50l)
* @param skip The number of items to skip when paging through large result sets. (optional)
+ * @param awaitsActivation If `true`: Filters results to include only point transactions that have action-based activation and have not expired. If `false`: Returns a `400` response. (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -14525,7 +14971,7 @@ public okhttp3.Call getLoyaltyProgramAsync(Long loyaltyProgramId, final ApiCallb
| 404 | Not found | - |
*/
- public okhttp3.Call getLoyaltyProgramTransactionsCall(Long loyaltyProgramId, String loyaltyTransactionType, String subledgerId, List customerSessionIDs, List transactionUUIDs, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call getLoyaltyProgramTransactionsCall(Long loyaltyProgramId, String loyaltyTransactionType, String subledgerId, List customerSessionIDs, List transactionUUIDs, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip, Boolean awaitsActivation, final ApiCallback _callback) throws ApiException {
Object localVarPostBody = null;
// create path and map variables
@@ -14566,6 +15012,10 @@ public okhttp3.Call getLoyaltyProgramTransactionsCall(Long loyaltyProgramId, Str
localVarQueryParams.addAll(localVarApiClient.parameterToPair("skip", skip));
}
+ if (awaitsActivation != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("awaitsActivation", awaitsActivation));
+ }
+
Map localVarHeaderParams = new HashMap();
Map localVarCookieParams = new HashMap();
Map localVarFormParams = new HashMap();
@@ -14588,7 +15038,7 @@ public okhttp3.Call getLoyaltyProgramTransactionsCall(Long loyaltyProgramId, Str
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call getLoyaltyProgramTransactionsValidateBeforeCall(Long loyaltyProgramId, String loyaltyTransactionType, String subledgerId, List customerSessionIDs, List transactionUUIDs, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call getLoyaltyProgramTransactionsValidateBeforeCall(Long loyaltyProgramId, String loyaltyTransactionType, String subledgerId, List customerSessionIDs, List transactionUUIDs, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip, Boolean awaitsActivation, final ApiCallback _callback) throws ApiException {
// verify the required parameter 'loyaltyProgramId' is set
if (loyaltyProgramId == null) {
@@ -14596,7 +15046,7 @@ private okhttp3.Call getLoyaltyProgramTransactionsValidateBeforeCall(Long loyalt
}
- okhttp3.Call localVarCall = getLoyaltyProgramTransactionsCall(loyaltyProgramId, loyaltyTransactionType, subledgerId, customerSessionIDs, transactionUUIDs, startDate, endDate, pageSize, skip, _callback);
+ okhttp3.Call localVarCall = getLoyaltyProgramTransactionsCall(loyaltyProgramId, loyaltyTransactionType, subledgerId, customerSessionIDs, transactionUUIDs, startDate, endDate, pageSize, skip, awaitsActivation, _callback);
return localVarCall;
}
@@ -14613,6 +15063,7 @@ private okhttp3.Call getLoyaltyProgramTransactionsValidateBeforeCall(Long loyalt
* @param endDate 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional)
* @param pageSize The number of items in the response. (optional, default to 50l)
* @param skip The number of items to skip when paging through large result sets. (optional)
+ * @param awaitsActivation If `true`: Filters results to include only point transactions that have action-based activation and have not expired. If `false`: Returns a `400` response. (optional)
* @return InlineResponse20017
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -14624,8 +15075,8 @@ private okhttp3.Call getLoyaltyProgramTransactionsValidateBeforeCall(Long loyalt
| 404 | Not found | - |
*/
- public InlineResponse20017 getLoyaltyProgramTransactions(Long loyaltyProgramId, String loyaltyTransactionType, String subledgerId, List customerSessionIDs, List transactionUUIDs, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip) throws ApiException {
- ApiResponse localVarResp = getLoyaltyProgramTransactionsWithHttpInfo(loyaltyProgramId, loyaltyTransactionType, subledgerId, customerSessionIDs, transactionUUIDs, startDate, endDate, pageSize, skip);
+ public InlineResponse20017 getLoyaltyProgramTransactions(Long loyaltyProgramId, String loyaltyTransactionType, String subledgerId, List customerSessionIDs, List transactionUUIDs, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip, Boolean awaitsActivation) throws ApiException {
+ ApiResponse localVarResp = getLoyaltyProgramTransactionsWithHttpInfo(loyaltyProgramId, loyaltyTransactionType, subledgerId, customerSessionIDs, transactionUUIDs, startDate, endDate, pageSize, skip, awaitsActivation);
return localVarResp.getData();
}
@@ -14641,6 +15092,7 @@ public InlineResponse20017 getLoyaltyProgramTransactions(Long loyaltyProgramId,
* @param endDate 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional)
* @param pageSize The number of items in the response. (optional, default to 50l)
* @param skip The number of items to skip when paging through large result sets. (optional)
+ * @param awaitsActivation If `true`: Filters results to include only point transactions that have action-based activation and have not expired. If `false`: Returns a `400` response. (optional)
* @return ApiResponse<InlineResponse20017>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -14652,8 +15104,8 @@ public InlineResponse20017 getLoyaltyProgramTransactions(Long loyaltyProgramId,
| 404 | Not found | - |
*/
- public ApiResponse getLoyaltyProgramTransactionsWithHttpInfo(Long loyaltyProgramId, String loyaltyTransactionType, String subledgerId, List customerSessionIDs, List transactionUUIDs, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip) throws ApiException {
- okhttp3.Call localVarCall = getLoyaltyProgramTransactionsValidateBeforeCall(loyaltyProgramId, loyaltyTransactionType, subledgerId, customerSessionIDs, transactionUUIDs, startDate, endDate, pageSize, skip, null);
+ public ApiResponse getLoyaltyProgramTransactionsWithHttpInfo(Long loyaltyProgramId, String loyaltyTransactionType, String subledgerId, List customerSessionIDs, List transactionUUIDs, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip, Boolean awaitsActivation) throws ApiException {
+ okhttp3.Call localVarCall = getLoyaltyProgramTransactionsValidateBeforeCall(loyaltyProgramId, loyaltyTransactionType, subledgerId, customerSessionIDs, transactionUUIDs, startDate, endDate, pageSize, skip, awaitsActivation, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
@@ -14670,6 +15122,7 @@ public ApiResponse getLoyaltyProgramTransactionsWithHttpInf
* @param endDate 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, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional)
* @param pageSize The number of items in the response. (optional, default to 50l)
* @param skip The number of items to skip when paging through large result sets. (optional)
+ * @param awaitsActivation If `true`: Filters results to include only point transactions that have action-based activation and have not expired. If `false`: Returns a `400` response. (optional)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
* @throws ApiException If fail to process the API call, e.g. serializing the request body object
@@ -14682,9 +15135,9 @@ public ApiResponse getLoyaltyProgramTransactionsWithHttpInf
| 404 | Not found | - |
*/
- public okhttp3.Call getLoyaltyProgramTransactionsAsync(Long loyaltyProgramId, String loyaltyTransactionType, String subledgerId, List customerSessionIDs, List transactionUUIDs, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call getLoyaltyProgramTransactionsAsync(Long loyaltyProgramId, String loyaltyTransactionType, String subledgerId, List customerSessionIDs, List transactionUUIDs, OffsetDateTime startDate, OffsetDateTime endDate, Long pageSize, Long skip, Boolean awaitsActivation, final ApiCallback _callback) throws ApiException {
- okhttp3.Call localVarCall = getLoyaltyProgramTransactionsValidateBeforeCall(loyaltyProgramId, loyaltyTransactionType, subledgerId, customerSessionIDs, transactionUUIDs, startDate, endDate, pageSize, skip, _callback);
+ okhttp3.Call localVarCall = getLoyaltyProgramTransactionsValidateBeforeCall(loyaltyProgramId, loyaltyTransactionType, subledgerId, customerSessionIDs, transactionUUIDs, startDate, endDate, pageSize, skip, awaitsActivation, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
@@ -17630,7 +18083,7 @@ private okhttp3.Call importLoyaltyPointsValidateBeforeCall(Long loyaltyProgramId
/**
* Import loyalty points
- * Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. **Note**: If the customer profile does not exist, it will be created. The profile will not be visible in any Application until a session or profile update is received for that profile. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ```
+ * Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. **Note**: If the customer profile does not exist, it will be created. The profile will not be visible in any Application until a session or profile update is received for that profile. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. This parameter accepts one of the following values: - A timestamp string in RFC3339 format. - `immediate` - `on_action` **Note**: Empty or missing values default to `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. If passed, `validityDuration` should be omitted. - `validityDuration` (optional): The duration for which the points remain active, relative to the activation date. The time format is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. If passed, `expirydate` should be omitted. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ```
* @param loyaltyProgramId Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. (required)
* @param notificationsEnabled Indicates whether the points import triggers notifications about its effects. For example, a notification is sent if the import upgrades a customer's tier or offsets their negative points balance. This parameter is optional and defaults to `true`. (optional)
* @param upFile The file containing the data that is being imported. (optional)
@@ -17649,7 +18102,7 @@ public ModelImport importLoyaltyPoints(Long loyaltyProgramId, Boolean notificati
/**
* Import loyalty points
- * Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. **Note**: If the customer profile does not exist, it will be created. The profile will not be visible in any Application until a session or profile update is received for that profile. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ```
+ * Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. **Note**: If the customer profile does not exist, it will be created. The profile will not be visible in any Application until a session or profile update is received for that profile. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. This parameter accepts one of the following values: - A timestamp string in RFC3339 format. - `immediate` - `on_action` **Note**: Empty or missing values default to `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. If passed, `validityDuration` should be omitted. - `validityDuration` (optional): The duration for which the points remain active, relative to the activation date. The time format is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. If passed, `expirydate` should be omitted. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ```
* @param loyaltyProgramId Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. (required)
* @param notificationsEnabled Indicates whether the points import triggers notifications about its effects. For example, a notification is sent if the import upgrades a customer's tier or offsets their negative points balance. This parameter is optional and defaults to `true`. (optional)
* @param upFile The file containing the data that is being imported. (optional)
@@ -17669,7 +18122,7 @@ public ApiResponse importLoyaltyPointsWithHttpInfo(Long loyaltyProg
/**
* Import loyalty points (asynchronously)
- * Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. **Note**: If the customer profile does not exist, it will be created. The profile will not be visible in any Application until a session or profile update is received for that profile. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ```
+ * Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. **Note**: If the customer profile does not exist, it will be created. The profile will not be visible in any Application until a session or profile update is received for that profile. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. This parameter accepts one of the following values: - A timestamp string in RFC3339 format. - `immediate` - `on_action` **Note**: Empty or missing values default to `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. If passed, `validityDuration` should be omitted. - `validityDuration` (optional): The duration for which the points remain active, relative to the activation date. The time format is an **integer** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. If passed, `expirydate` should be omitted. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ```
* @param loyaltyProgramId Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. (required)
* @param notificationsEnabled Indicates whether the points import triggers notifications about its effects. For example, a notification is sent if the import upgrades a customer's tier or offsets their negative points balance. This parameter is optional and defaults to `true`. (optional)
* @param upFile The file containing the data that is being imported. (optional)
diff --git a/src/main/java/one/talon/model/ActivateLoyaltyPoints.java b/src/main/java/one/talon/model/ActivateLoyaltyPoints.java
new file mode 100644
index 00000000..46d2ec7f
--- /dev/null
+++ b/src/main/java/one/talon/model/ActivateLoyaltyPoints.java
@@ -0,0 +1,140 @@
+/*
+ * Talon.One API
+ * 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}`
+ *
+ * The version of the OpenAPI document:
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package one.talon.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.google.gson.TypeAdapter;
+import com.google.gson.annotations.JsonAdapter;
+import com.google.gson.annotations.SerializedName;
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonWriter;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+/**
+ * Activate loyalty points
+ */
+@ApiModel(description = "Activate loyalty points")
+
+public class ActivateLoyaltyPoints {
+ public static final String SERIALIZED_NAME_TRANSACTION_U_U_I_DS = "transactionUUIDs";
+ @SerializedName(SERIALIZED_NAME_TRANSACTION_U_U_I_DS)
+ private List transactionUUIDs = null;
+
+ public static final String SERIALIZED_NAME_SESSION_ID = "sessionId";
+ @SerializedName(SERIALIZED_NAME_SESSION_ID)
+ private String sessionId;
+
+
+ public ActivateLoyaltyPoints transactionUUIDs(List transactionUUIDs) {
+
+ this.transactionUUIDs = transactionUUIDs;
+ return this;
+ }
+
+ public ActivateLoyaltyPoints addTransactionUUIDsItem(UUID transactionUUIDsItem) {
+ if (this.transactionUUIDs == null) {
+ this.transactionUUIDs = new ArrayList();
+ }
+ this.transactionUUIDs.add(transactionUUIDsItem);
+ return this;
+ }
+
+ /**
+ * An array of transaction UUIDs used to activate specific pending point transactions. If provided, do not include the `sessionId` parameter.
+ * @return transactionUUIDs
+ **/
+ @javax.annotation.Nullable
+ @ApiModelProperty(value = "An array of transaction UUIDs used to activate specific pending point transactions. If provided, do not include the `sessionId` parameter. ")
+
+ public List getTransactionUUIDs() {
+ return transactionUUIDs;
+ }
+
+
+ public void setTransactionUUIDs(List transactionUUIDs) {
+ this.transactionUUIDs = transactionUUIDs;
+ }
+
+
+ public ActivateLoyaltyPoints sessionId(String sessionId) {
+
+ this.sessionId = sessionId;
+ return this;
+ }
+
+ /**
+ * The ID of the session containing the pending point transactions to activate. If provided, do not include the `transactionUUIDs` parameter.
+ * @return sessionId
+ **/
+ @javax.annotation.Nullable
+ @ApiModelProperty(value = "The ID of the session containing the pending point transactions to activate. If provided, do not include the `transactionUUIDs` parameter. ")
+
+ public String getSessionId() {
+ return sessionId;
+ }
+
+
+ public void setSessionId(String sessionId) {
+ this.sessionId = sessionId;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ActivateLoyaltyPoints activateLoyaltyPoints = (ActivateLoyaltyPoints) o;
+ return Objects.equals(this.transactionUUIDs, activateLoyaltyPoints.transactionUUIDs) &&
+ Objects.equals(this.sessionId, activateLoyaltyPoints.sessionId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(transactionUUIDs, sessionId);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ActivateLoyaltyPoints {\n");
+ sb.append(" transactionUUIDs: ").append(toIndentedString(transactionUUIDs)).append("\n");
+ sb.append(" sessionId: ").append(toIndentedString(sessionId)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/src/main/java/one/talon/model/ActivateLoyaltyPointsResponse.java b/src/main/java/one/talon/model/ActivateLoyaltyPointsResponse.java
new file mode 100644
index 00000000..bd98fadb
--- /dev/null
+++ b/src/main/java/one/talon/model/ActivateLoyaltyPointsResponse.java
@@ -0,0 +1,110 @@
+/*
+ * Talon.One API
+ * 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}`
+ *
+ * The version of the OpenAPI document:
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package one.talon.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.google.gson.TypeAdapter;
+import com.google.gson.annotations.JsonAdapter;
+import com.google.gson.annotations.SerializedName;
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonWriter;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import one.talon.model.LoyaltyLedgerEntry;
+
+/**
+ * ActivateLoyaltyPointsResponse
+ */
+
+public class ActivateLoyaltyPointsResponse {
+ public static final String SERIALIZED_NAME_LEDGER_ENTRIES = "ledgerEntries";
+ @SerializedName(SERIALIZED_NAME_LEDGER_ENTRIES)
+ private List ledgerEntries = null;
+
+
+ public ActivateLoyaltyPointsResponse ledgerEntries(List ledgerEntries) {
+
+ this.ledgerEntries = ledgerEntries;
+ return this;
+ }
+
+ public ActivateLoyaltyPointsResponse addLedgerEntriesItem(LoyaltyLedgerEntry ledgerEntriesItem) {
+ if (this.ledgerEntries == null) {
+ this.ledgerEntries = new ArrayList();
+ }
+ this.ledgerEntries.add(ledgerEntriesItem);
+ return this;
+ }
+
+ /**
+ * Updated ledger entries after activation.
+ * @return ledgerEntries
+ **/
+ @javax.annotation.Nullable
+ @ApiModelProperty(value = "Updated ledger entries after activation.")
+
+ public List getLedgerEntries() {
+ return ledgerEntries;
+ }
+
+
+ public void setLedgerEntries(List ledgerEntries) {
+ this.ledgerEntries = ledgerEntries;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ActivateLoyaltyPointsResponse activateLoyaltyPointsResponse = (ActivateLoyaltyPointsResponse) o;
+ return Objects.equals(this.ledgerEntries, activateLoyaltyPointsResponse.ledgerEntries);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(ledgerEntries);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ActivateLoyaltyPointsResponse {\n");
+ sb.append(" ledgerEntries: ").append(toIndentedString(ledgerEntries)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/src/main/java/one/talon/model/AddLoyaltyPoints.java b/src/main/java/one/talon/model/AddLoyaltyPoints.java
index 24549b64..883ce446 100644
--- a/src/main/java/one/talon/model/AddLoyaltyPoints.java
+++ b/src/main/java/one/talon/model/AddLoyaltyPoints.java
@@ -118,11 +118,11 @@ public AddLoyaltyPoints validityDuration(String validityDuration) {
}
/**
- * The time format is either: - `immediate` or, - an **integer** followed by one letter indicating the time unit. Examples: `immediate`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. If passed, `validUntil` should be omitted.
+ * The time format is either: - `unlimited` or, - an **integer** followed by one letter indicating the time unit. Examples: `unlimited`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. If passed, `validUntil` should be omitted.
* @return validityDuration
**/
@javax.annotation.Nullable
- @ApiModelProperty(example = "5D", value = "The time format is either: - `immediate` or, - an **integer** followed by one letter indicating the time unit. Examples: `immediate`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. If passed, `validUntil` should be omitted. ")
+ @ApiModelProperty(example = "5D", value = "The time format is either: - `unlimited` or, - an **integer** followed by one letter indicating the time unit. Examples: `unlimited`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. If passed, `validUntil` should be omitted. ")
public String getValidityDuration() {
return validityDuration;
diff --git a/src/main/java/one/talon/model/AddLoyaltyPointsEffectProps.java b/src/main/java/one/talon/model/AddLoyaltyPointsEffectProps.java
index 3014a578..40fdafb7 100644
--- a/src/main/java/one/talon/model/AddLoyaltyPointsEffectProps.java
+++ b/src/main/java/one/talon/model/AddLoyaltyPointsEffectProps.java
@@ -88,6 +88,14 @@ public class AddLoyaltyPointsEffectProps {
@SerializedName(SERIALIZED_NAME_BUNDLE_NAME)
private String bundleName;
+ public static final String SERIALIZED_NAME_AWAITS_ACTIVATION = "awaitsActivation";
+ @SerializedName(SERIALIZED_NAME_AWAITS_ACTIVATION)
+ private Boolean awaitsActivation;
+
+ public static final String SERIALIZED_NAME_VALIDITY_DURATION = "validityDuration";
+ @SerializedName(SERIALIZED_NAME_VALIDITY_DURATION)
+ private String validityDuration;
+
public AddLoyaltyPointsEffectProps name(String name) {
@@ -405,6 +413,52 @@ public void setBundleName(String bundleName) {
}
+ public AddLoyaltyPointsEffectProps awaitsActivation(Boolean awaitsActivation) {
+
+ this.awaitsActivation = awaitsActivation;
+ return this;
+ }
+
+ /**
+ * If `true`, the loyalty points remain pending until a specific action is complete. The `startDate` parameter automatically sets to `on_action`.
+ * @return awaitsActivation
+ **/
+ @javax.annotation.Nullable
+ @ApiModelProperty(value = "If `true`, the loyalty points remain pending until a specific action is complete. The `startDate` parameter automatically sets to `on_action`. ")
+
+ public Boolean getAwaitsActivation() {
+ return awaitsActivation;
+ }
+
+
+ public void setAwaitsActivation(Boolean awaitsActivation) {
+ this.awaitsActivation = awaitsActivation;
+ }
+
+
+ public AddLoyaltyPointsEffectProps validityDuration(String validityDuration) {
+
+ this.validityDuration = validityDuration;
+ return this;
+ }
+
+ /**
+ * The duration for which the points remain active, calculated relative to the activation date. **Note**: This value is returned only if `awaitsActivation` is `true` and `expiryDate` is not set.
+ * @return validityDuration
+ **/
+ @javax.annotation.Nullable
+ @ApiModelProperty(value = "The duration for which the points remain active, calculated relative to the activation date. **Note**: This value is returned only if `awaitsActivation` is `true` and `expiryDate` is not set. ")
+
+ public String getValidityDuration() {
+ return validityDuration;
+ }
+
+
+ public void setValidityDuration(String validityDuration) {
+ this.validityDuration = validityDuration;
+ }
+
+
@Override
public boolean equals(java.lang.Object o) {
if (this == o) {
@@ -427,12 +481,14 @@ public boolean equals(java.lang.Object o) {
Objects.equals(this.cartItemSubPosition, addLoyaltyPointsEffectProps.cartItemSubPosition) &&
Objects.equals(this.cardIdentifier, addLoyaltyPointsEffectProps.cardIdentifier) &&
Objects.equals(this.bundleIndex, addLoyaltyPointsEffectProps.bundleIndex) &&
- Objects.equals(this.bundleName, addLoyaltyPointsEffectProps.bundleName);
+ Objects.equals(this.bundleName, addLoyaltyPointsEffectProps.bundleName) &&
+ Objects.equals(this.awaitsActivation, addLoyaltyPointsEffectProps.awaitsActivation) &&
+ Objects.equals(this.validityDuration, addLoyaltyPointsEffectProps.validityDuration);
}
@Override
public int hashCode() {
- return Objects.hash(name, programId, subLedgerId, value, desiredValue, recipientIntegrationId, startDate, expiryDate, transactionUUID, cartItemPosition, cartItemSubPosition, cardIdentifier, bundleIndex, bundleName);
+ return Objects.hash(name, programId, subLedgerId, value, desiredValue, recipientIntegrationId, startDate, expiryDate, transactionUUID, cartItemPosition, cartItemSubPosition, cardIdentifier, bundleIndex, bundleName, awaitsActivation, validityDuration);
}
@@ -454,6 +510,8 @@ public String toString() {
sb.append(" cardIdentifier: ").append(toIndentedString(cardIdentifier)).append("\n");
sb.append(" bundleIndex: ").append(toIndentedString(bundleIndex)).append("\n");
sb.append(" bundleName: ").append(toIndentedString(bundleName)).append("\n");
+ sb.append(" awaitsActivation: ").append(toIndentedString(awaitsActivation)).append("\n");
+ sb.append(" validityDuration: ").append(toIndentedString(validityDuration)).append("\n");
sb.append("}");
return sb.toString();
}
diff --git a/src/main/java/one/talon/model/AddedDeductedPointsBalancesAction.java b/src/main/java/one/talon/model/AddedDeductedPointsBalancesAction.java
new file mode 100644
index 00000000..2b27b33b
--- /dev/null
+++ b/src/main/java/one/talon/model/AddedDeductedPointsBalancesAction.java
@@ -0,0 +1,261 @@
+/*
+ * Talon.One API
+ * 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}`
+ *
+ * The version of the OpenAPI document:
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package one.talon.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.google.gson.TypeAdapter;
+import com.google.gson.annotations.JsonAdapter;
+import com.google.gson.annotations.SerializedName;
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonWriter;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.IOException;
+import java.math.BigDecimal;
+import org.threeten.bp.OffsetDateTime;
+
+/**
+ * AddedDeductedPointsBalancesAction
+ */
+
+public class AddedDeductedPointsBalancesAction {
+ public static final String SERIALIZED_NAME_AMOUNT = "Amount";
+ @SerializedName(SERIALIZED_NAME_AMOUNT)
+ private BigDecimal amount;
+
+ public static final String SERIALIZED_NAME_REASON = "Reason";
+ @SerializedName(SERIALIZED_NAME_REASON)
+ private String reason;
+
+ /**
+ * The action (addition or deduction) made with loyalty points.
+ */
+ @JsonAdapter(OperationEnum.Adapter.class)
+ public enum OperationEnum {
+ ADDITION("addition"),
+
+ DEDUCTION("deduction");
+
+ private String value;
+
+ OperationEnum(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static OperationEnum fromValue(String value) {
+ for (OperationEnum b : OperationEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+
+ public static class Adapter extends TypeAdapter {
+ @Override
+ public void write(final JsonWriter jsonWriter, final OperationEnum enumeration) throws IOException {
+ jsonWriter.value(enumeration.getValue());
+ }
+
+ @Override
+ public OperationEnum read(final JsonReader jsonReader) throws IOException {
+ String value = jsonReader.nextString();
+ return OperationEnum.fromValue(value);
+ }
+ }
+ }
+
+ public static final String SERIALIZED_NAME_OPERATION = "Operation";
+ @SerializedName(SERIALIZED_NAME_OPERATION)
+ private OperationEnum operation;
+
+ public static final String SERIALIZED_NAME_START_DATE = "StartDate";
+ @SerializedName(SERIALIZED_NAME_START_DATE)
+ private OffsetDateTime startDate;
+
+ public static final String SERIALIZED_NAME_EXPIRY_DATE = "ExpiryDate";
+ @SerializedName(SERIALIZED_NAME_EXPIRY_DATE)
+ private OffsetDateTime expiryDate;
+
+
+ public AddedDeductedPointsBalancesAction amount(BigDecimal amount) {
+
+ this.amount = amount;
+ return this;
+ }
+
+ /**
+ * The amount of added or deducted loyalty points.
+ * @return amount
+ **/
+ @ApiModelProperty(example = "10.99", required = true, value = "The amount of added or deducted loyalty points.")
+
+ public BigDecimal getAmount() {
+ return amount;
+ }
+
+
+ public void setAmount(BigDecimal amount) {
+ this.amount = amount;
+ }
+
+
+ public AddedDeductedPointsBalancesAction reason(String reason) {
+
+ this.reason = reason;
+ return this;
+ }
+
+ /**
+ * The reason for the points addition or deduction.
+ * @return reason
+ **/
+ @ApiModelProperty(example = "Compensation", required = true, value = "The reason for the points addition or deduction.")
+
+ public String getReason() {
+ return reason;
+ }
+
+
+ public void setReason(String reason) {
+ this.reason = reason;
+ }
+
+
+ public AddedDeductedPointsBalancesAction operation(OperationEnum operation) {
+
+ this.operation = operation;
+ return this;
+ }
+
+ /**
+ * The action (addition or deduction) made with loyalty points.
+ * @return operation
+ **/
+ @ApiModelProperty(required = true, value = "The action (addition or deduction) made with loyalty points.")
+
+ public OperationEnum getOperation() {
+ return operation;
+ }
+
+
+ public void setOperation(OperationEnum operation) {
+ this.operation = operation;
+ }
+
+
+ public AddedDeductedPointsBalancesAction startDate(OffsetDateTime startDate) {
+
+ this.startDate = startDate;
+ return this;
+ }
+
+ /**
+ * The start date for loyalty points.
+ * @return startDate
+ **/
+ @javax.annotation.Nullable
+ @ApiModelProperty(example = "2023-01-24T14:15:22Z", value = "The start date for loyalty points.")
+
+ public OffsetDateTime getStartDate() {
+ return startDate;
+ }
+
+
+ public void setStartDate(OffsetDateTime startDate) {
+ this.startDate = startDate;
+ }
+
+
+ public AddedDeductedPointsBalancesAction expiryDate(OffsetDateTime expiryDate) {
+
+ this.expiryDate = expiryDate;
+ return this;
+ }
+
+ /**
+ * The expiration date for loyalty points.
+ * @return expiryDate
+ **/
+ @javax.annotation.Nullable
+ @ApiModelProperty(example = "2024-01-24T14:15:22Z", value = "The expiration date for loyalty points.")
+
+ public OffsetDateTime getExpiryDate() {
+ return expiryDate;
+ }
+
+
+ public void setExpiryDate(OffsetDateTime expiryDate) {
+ this.expiryDate = expiryDate;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AddedDeductedPointsBalancesAction addedDeductedPointsBalancesAction = (AddedDeductedPointsBalancesAction) o;
+ return Objects.equals(this.amount, addedDeductedPointsBalancesAction.amount) &&
+ Objects.equals(this.reason, addedDeductedPointsBalancesAction.reason) &&
+ Objects.equals(this.operation, addedDeductedPointsBalancesAction.operation) &&
+ Objects.equals(this.startDate, addedDeductedPointsBalancesAction.startDate) &&
+ Objects.equals(this.expiryDate, addedDeductedPointsBalancesAction.expiryDate);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(amount, reason, operation, startDate, expiryDate);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AddedDeductedPointsBalancesAction {\n");
+ sb.append(" amount: ").append(toIndentedString(amount)).append("\n");
+ sb.append(" reason: ").append(toIndentedString(reason)).append("\n");
+ sb.append(" operation: ").append(toIndentedString(operation)).append("\n");
+ sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n");
+ sb.append(" expiryDate: ").append(toIndentedString(expiryDate)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/src/main/java/one/talon/model/AddedDeductedPointsBalancesNotification.java b/src/main/java/one/talon/model/AddedDeductedPointsBalancesNotification.java
new file mode 100644
index 00000000..5b34a782
--- /dev/null
+++ b/src/main/java/one/talon/model/AddedDeductedPointsBalancesNotification.java
@@ -0,0 +1,454 @@
+/*
+ * Talon.One API
+ * 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}`
+ *
+ * The version of the OpenAPI document:
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package one.talon.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.google.gson.TypeAdapter;
+import com.google.gson.annotations.JsonAdapter;
+import com.google.gson.annotations.SerializedName;
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonWriter;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+import one.talon.model.AddedDeductedPointsBalancesAction;
+
+/**
+ * AddedDeductedPointsBalancesNotification
+ */
+
+public class AddedDeductedPointsBalancesNotification {
+ public static final String SERIALIZED_NAME_EMPLOYEE_NAME = "EmployeeName";
+ @SerializedName(SERIALIZED_NAME_EMPLOYEE_NAME)
+ private String employeeName;
+
+ public static final String SERIALIZED_NAME_LOYALTY_PROGRAM_I_D = "LoyaltyProgramID";
+ @SerializedName(SERIALIZED_NAME_LOYALTY_PROGRAM_I_D)
+ private Long loyaltyProgramID;
+
+ /**
+ * The type of notification.
+ */
+ @JsonAdapter(NotificationTypeEnum.Adapter.class)
+ public enum NotificationTypeEnum {
+ LOYALTYADDEDDEDUCTEDPOINTSBALANCES("LoyaltyAddedDeductedPointsBalances");
+
+ private String value;
+
+ NotificationTypeEnum(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static NotificationTypeEnum fromValue(String value) {
+ for (NotificationTypeEnum b : NotificationTypeEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+
+ public static class Adapter extends TypeAdapter {
+ @Override
+ public void write(final JsonWriter jsonWriter, final NotificationTypeEnum enumeration) throws IOException {
+ jsonWriter.value(enumeration.getValue());
+ }
+
+ @Override
+ public NotificationTypeEnum read(final JsonReader jsonReader) throws IOException {
+ String value = jsonReader.nextString();
+ return NotificationTypeEnum.fromValue(value);
+ }
+ }
+ }
+
+ public static final String SERIALIZED_NAME_NOTIFICATION_TYPE = "NotificationType";
+ @SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE)
+ private NotificationTypeEnum notificationType;
+
+ public static final String SERIALIZED_NAME_PROFILE_INTEGRATION_I_D = "ProfileIntegrationID";
+ @SerializedName(SERIALIZED_NAME_PROFILE_INTEGRATION_I_D)
+ private String profileIntegrationID;
+
+ public static final String SERIALIZED_NAME_SESSION_INTEGRATION_I_D = "SessionIntegrationID";
+ @SerializedName(SERIALIZED_NAME_SESSION_INTEGRATION_I_D)
+ private String sessionIntegrationID;
+
+ public static final String SERIALIZED_NAME_SUBLEDGER_I_D = "SubledgerID";
+ @SerializedName(SERIALIZED_NAME_SUBLEDGER_I_D)
+ private String subledgerID;
+
+ /**
+ * The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters)
+ */
+ @JsonAdapter(TypeOfChangeEnum.Adapter.class)
+ public enum TypeOfChangeEnum {
+ CAMPAIGN_MANAGER("campaign_manager"),
+
+ RULE_ENGINE("rule_engine"),
+
+ MANAGEMENT_API("management_api");
+
+ private String value;
+
+ TypeOfChangeEnum(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static TypeOfChangeEnum fromValue(String value) {
+ for (TypeOfChangeEnum b : TypeOfChangeEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+
+ public static class Adapter extends TypeAdapter {
+ @Override
+ public void write(final JsonWriter jsonWriter, final TypeOfChangeEnum enumeration) throws IOException {
+ jsonWriter.value(enumeration.getValue());
+ }
+
+ @Override
+ public TypeOfChangeEnum read(final JsonReader jsonReader) throws IOException {
+ String value = jsonReader.nextString();
+ return TypeOfChangeEnum.fromValue(value);
+ }
+ }
+ }
+
+ public static final String SERIALIZED_NAME_TYPE_OF_CHANGE = "TypeOfChange";
+ @SerializedName(SERIALIZED_NAME_TYPE_OF_CHANGE)
+ private TypeOfChangeEnum typeOfChange;
+
+ public static final String SERIALIZED_NAME_USER_I_D = "UserID";
+ @SerializedName(SERIALIZED_NAME_USER_I_D)
+ private Long userID;
+
+ public static final String SERIALIZED_NAME_ACTIONS = "Actions";
+ @SerializedName(SERIALIZED_NAME_ACTIONS)
+ private List actions = new ArrayList();
+
+ public static final String SERIALIZED_NAME_CURRENT_POINTS = "CurrentPoints";
+ @SerializedName(SERIALIZED_NAME_CURRENT_POINTS)
+ private BigDecimal currentPoints;
+
+
+ public AddedDeductedPointsBalancesNotification employeeName(String employeeName) {
+
+ this.employeeName = employeeName;
+ return this;
+ }
+
+ /**
+ * The name of the employee who added or deducted points.
+ * @return employeeName
+ **/
+ @ApiModelProperty(example = "Franziska Schneider", required = true, value = "The name of the employee who added or deducted points.")
+
+ public String getEmployeeName() {
+ return employeeName;
+ }
+
+
+ public void setEmployeeName(String employeeName) {
+ this.employeeName = employeeName;
+ }
+
+
+ public AddedDeductedPointsBalancesNotification loyaltyProgramID(Long loyaltyProgramID) {
+
+ this.loyaltyProgramID = loyaltyProgramID;
+ return this;
+ }
+
+ /**
+ * The ID of the loyalty program.
+ * minimum: 1
+ * @return loyaltyProgramID
+ **/
+ @ApiModelProperty(example = "5", required = true, value = "The ID of the loyalty program.")
+
+ public Long getLoyaltyProgramID() {
+ return loyaltyProgramID;
+ }
+
+
+ public void setLoyaltyProgramID(Long loyaltyProgramID) {
+ this.loyaltyProgramID = loyaltyProgramID;
+ }
+
+
+ public AddedDeductedPointsBalancesNotification notificationType(NotificationTypeEnum notificationType) {
+
+ this.notificationType = notificationType;
+ return this;
+ }
+
+ /**
+ * The type of notification.
+ * @return notificationType
+ **/
+ @ApiModelProperty(required = true, value = "The type of notification.")
+
+ public NotificationTypeEnum getNotificationType() {
+ return notificationType;
+ }
+
+
+ public void setNotificationType(NotificationTypeEnum notificationType) {
+ this.notificationType = notificationType;
+ }
+
+
+ public AddedDeductedPointsBalancesNotification profileIntegrationID(String profileIntegrationID) {
+
+ this.profileIntegrationID = profileIntegrationID;
+ return this;
+ }
+
+ /**
+ * The integration ID of the customer profile to whom points were added or deducted.
+ * @return profileIntegrationID
+ **/
+ @ApiModelProperty(example = "URNGV8294NV", required = true, value = "The integration ID of the customer profile to whom points were added or deducted.")
+
+ public String getProfileIntegrationID() {
+ return profileIntegrationID;
+ }
+
+
+ public void setProfileIntegrationID(String profileIntegrationID) {
+ this.profileIntegrationID = profileIntegrationID;
+ }
+
+
+ public AddedDeductedPointsBalancesNotification sessionIntegrationID(String sessionIntegrationID) {
+
+ this.sessionIntegrationID = sessionIntegrationID;
+ return this;
+ }
+
+ /**
+ * The integration ID of the session through which the points were earned or lost.
+ * @return sessionIntegrationID
+ **/
+ @ApiModelProperty(example = "cc53e4fa-547f-4f5e-8333-76e05c381f67", required = true, value = "The integration ID of the session through which the points were earned or lost.")
+
+ public String getSessionIntegrationID() {
+ return sessionIntegrationID;
+ }
+
+
+ public void setSessionIntegrationID(String sessionIntegrationID) {
+ this.sessionIntegrationID = sessionIntegrationID;
+ }
+
+
+ public AddedDeductedPointsBalancesNotification subledgerID(String subledgerID) {
+
+ this.subledgerID = subledgerID;
+ return this;
+ }
+
+ /**
+ * The ID of the subledger within the loyalty program where these points were added.
+ * @return subledgerID
+ **/
+ @ApiModelProperty(example = "sub-123", required = true, value = "The ID of the subledger within the loyalty program where these points were added.")
+
+ public String getSubledgerID() {
+ return subledgerID;
+ }
+
+
+ public void setSubledgerID(String subledgerID) {
+ this.subledgerID = subledgerID;
+ }
+
+
+ public AddedDeductedPointsBalancesNotification typeOfChange(TypeOfChangeEnum typeOfChange) {
+
+ this.typeOfChange = typeOfChange;
+ return this;
+ }
+
+ /**
+ * The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters)
+ * @return typeOfChange
+ **/
+ @ApiModelProperty(required = true, value = "The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters) ")
+
+ public TypeOfChangeEnum getTypeOfChange() {
+ return typeOfChange;
+ }
+
+
+ public void setTypeOfChange(TypeOfChangeEnum typeOfChange) {
+ this.typeOfChange = typeOfChange;
+ }
+
+
+ public AddedDeductedPointsBalancesNotification userID(Long userID) {
+
+ this.userID = userID;
+ return this;
+ }
+
+ /**
+ * The ID of the employee who added or deducted points.
+ * @return userID
+ **/
+ @ApiModelProperty(example = "25", required = true, value = "The ID of the employee who added or deducted points.")
+
+ public Long getUserID() {
+ return userID;
+ }
+
+
+ public void setUserID(Long userID) {
+ this.userID = userID;
+ }
+
+
+ public AddedDeductedPointsBalancesNotification actions(List actions) {
+
+ this.actions = actions;
+ return this;
+ }
+
+ public AddedDeductedPointsBalancesNotification addActionsItem(AddedDeductedPointsBalancesAction actionsItem) {
+ this.actions.add(actionsItem);
+ return this;
+ }
+
+ /**
+ * The list of actions that have been triggered in the loyalty program.
+ * @return actions
+ **/
+ @ApiModelProperty(required = true, value = "The list of actions that have been triggered in the loyalty program.")
+
+ public List getActions() {
+ return actions;
+ }
+
+
+ public void setActions(List actions) {
+ this.actions = actions;
+ }
+
+
+ public AddedDeductedPointsBalancesNotification currentPoints(BigDecimal currentPoints) {
+
+ this.currentPoints = currentPoints;
+ return this;
+ }
+
+ /**
+ * The current points balance.
+ * @return currentPoints
+ **/
+ @ApiModelProperty(example = "10.99", required = true, value = "The current points balance.")
+
+ public BigDecimal getCurrentPoints() {
+ return currentPoints;
+ }
+
+
+ public void setCurrentPoints(BigDecimal currentPoints) {
+ this.currentPoints = currentPoints;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AddedDeductedPointsBalancesNotification addedDeductedPointsBalancesNotification = (AddedDeductedPointsBalancesNotification) o;
+ return Objects.equals(this.employeeName, addedDeductedPointsBalancesNotification.employeeName) &&
+ Objects.equals(this.loyaltyProgramID, addedDeductedPointsBalancesNotification.loyaltyProgramID) &&
+ Objects.equals(this.notificationType, addedDeductedPointsBalancesNotification.notificationType) &&
+ Objects.equals(this.profileIntegrationID, addedDeductedPointsBalancesNotification.profileIntegrationID) &&
+ Objects.equals(this.sessionIntegrationID, addedDeductedPointsBalancesNotification.sessionIntegrationID) &&
+ Objects.equals(this.subledgerID, addedDeductedPointsBalancesNotification.subledgerID) &&
+ Objects.equals(this.typeOfChange, addedDeductedPointsBalancesNotification.typeOfChange) &&
+ Objects.equals(this.userID, addedDeductedPointsBalancesNotification.userID) &&
+ Objects.equals(this.actions, addedDeductedPointsBalancesNotification.actions) &&
+ Objects.equals(this.currentPoints, addedDeductedPointsBalancesNotification.currentPoints);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(employeeName, loyaltyProgramID, notificationType, profileIntegrationID, sessionIntegrationID, subledgerID, typeOfChange, userID, actions, currentPoints);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AddedDeductedPointsBalancesNotification {\n");
+ sb.append(" employeeName: ").append(toIndentedString(employeeName)).append("\n");
+ sb.append(" loyaltyProgramID: ").append(toIndentedString(loyaltyProgramID)).append("\n");
+ sb.append(" notificationType: ").append(toIndentedString(notificationType)).append("\n");
+ sb.append(" profileIntegrationID: ").append(toIndentedString(profileIntegrationID)).append("\n");
+ sb.append(" sessionIntegrationID: ").append(toIndentedString(sessionIntegrationID)).append("\n");
+ sb.append(" subledgerID: ").append(toIndentedString(subledgerID)).append("\n");
+ sb.append(" typeOfChange: ").append(toIndentedString(typeOfChange)).append("\n");
+ sb.append(" userID: ").append(toIndentedString(userID)).append("\n");
+ sb.append(" actions: ").append(toIndentedString(actions)).append("\n");
+ sb.append(" currentPoints: ").append(toIndentedString(currentPoints)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/src/main/java/one/talon/model/AddedDeductedPointsNotification.java b/src/main/java/one/talon/model/AddedDeductedPointsNotification.java
index 477fbb8f..e46d30ff 100644
--- a/src/main/java/one/talon/model/AddedDeductedPointsNotification.java
+++ b/src/main/java/one/talon/model/AddedDeductedPointsNotification.java
@@ -31,26 +31,77 @@
*/
public class AddedDeductedPointsNotification {
- public static final String SERIALIZED_NAME_PROFILE_INTEGRATION_I_D = "ProfileIntegrationID";
- @SerializedName(SERIALIZED_NAME_PROFILE_INTEGRATION_I_D)
- private String profileIntegrationID;
+ public static final String SERIALIZED_NAME_EMPLOYEE_NAME = "EmployeeName";
+ @SerializedName(SERIALIZED_NAME_EMPLOYEE_NAME)
+ private String employeeName;
public static final String SERIALIZED_NAME_LOYALTY_PROGRAM_I_D = "LoyaltyProgramID";
@SerializedName(SERIALIZED_NAME_LOYALTY_PROGRAM_I_D)
private Long loyaltyProgramID;
+ /**
+ * The type of notification.
+ */
+ @JsonAdapter(NotificationTypeEnum.Adapter.class)
+ public enum NotificationTypeEnum {
+ LOYALTYPOINTSDEDUCTED("LoyaltyPointsDeducted"),
+
+ LOYALTYPOINTSADDED("LoyaltyPointsAdded");
+
+ private String value;
+
+ NotificationTypeEnum(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static NotificationTypeEnum fromValue(String value) {
+ for (NotificationTypeEnum b : NotificationTypeEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+
+ public static class Adapter extends TypeAdapter {
+ @Override
+ public void write(final JsonWriter jsonWriter, final NotificationTypeEnum enumeration) throws IOException {
+ jsonWriter.value(enumeration.getValue());
+ }
+
+ @Override
+ public NotificationTypeEnum read(final JsonReader jsonReader) throws IOException {
+ String value = jsonReader.nextString();
+ return NotificationTypeEnum.fromValue(value);
+ }
+ }
+ }
+
+ public static final String SERIALIZED_NAME_NOTIFICATION_TYPE = "NotificationType";
+ @SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE)
+ private NotificationTypeEnum notificationType;
+
+ public static final String SERIALIZED_NAME_PROFILE_INTEGRATION_I_D = "ProfileIntegrationID";
+ @SerializedName(SERIALIZED_NAME_PROFILE_INTEGRATION_I_D)
+ private String profileIntegrationID;
+
+ public static final String SERIALIZED_NAME_SESSION_INTEGRATION_I_D = "SessionIntegrationID";
+ @SerializedName(SERIALIZED_NAME_SESSION_INTEGRATION_I_D)
+ private String sessionIntegrationID;
+
public static final String SERIALIZED_NAME_SUBLEDGER_I_D = "SubledgerID";
@SerializedName(SERIALIZED_NAME_SUBLEDGER_I_D)
private String subledgerID;
- public static final String SERIALIZED_NAME_AMOUNT = "Amount";
- @SerializedName(SERIALIZED_NAME_AMOUNT)
- private BigDecimal amount;
-
- public static final String SERIALIZED_NAME_REASON = "Reason";
- @SerializedName(SERIALIZED_NAME_REASON)
- private String reason;
-
/**
* The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters)
*/
@@ -104,14 +155,18 @@ public TypeOfChangeEnum read(final JsonReader jsonReader) throws IOException {
@SerializedName(SERIALIZED_NAME_TYPE_OF_CHANGE)
private TypeOfChangeEnum typeOfChange;
- public static final String SERIALIZED_NAME_EMPLOYEE_NAME = "EmployeeName";
- @SerializedName(SERIALIZED_NAME_EMPLOYEE_NAME)
- private String employeeName;
-
public static final String SERIALIZED_NAME_USER_I_D = "UserID";
@SerializedName(SERIALIZED_NAME_USER_I_D)
private Long userID;
+ public static final String SERIALIZED_NAME_AMOUNT = "Amount";
+ @SerializedName(SERIALIZED_NAME_AMOUNT)
+ private BigDecimal amount;
+
+ public static final String SERIALIZED_NAME_EXPIRY_DATE = "ExpiryDate";
+ @SerializedName(SERIALIZED_NAME_EXPIRY_DATE)
+ private OffsetDateTime expiryDate;
+
/**
* The action (addition or deduction) made with loyalty points.
*/
@@ -163,89 +218,34 @@ public OperationEnum read(final JsonReader jsonReader) throws IOException {
@SerializedName(SERIALIZED_NAME_OPERATION)
private OperationEnum operation;
+ public static final String SERIALIZED_NAME_REASON = "Reason";
+ @SerializedName(SERIALIZED_NAME_REASON)
+ private String reason;
+
public static final String SERIALIZED_NAME_START_DATE = "StartDate";
@SerializedName(SERIALIZED_NAME_START_DATE)
private OffsetDateTime startDate;
- public static final String SERIALIZED_NAME_EXPIRY_DATE = "ExpiryDate";
- @SerializedName(SERIALIZED_NAME_EXPIRY_DATE)
- private OffsetDateTime expiryDate;
-
- public static final String SERIALIZED_NAME_SESSION_INTEGRATION_I_D = "SessionIntegrationID";
- @SerializedName(SERIALIZED_NAME_SESSION_INTEGRATION_I_D)
- private String sessionIntegrationID;
-
- /**
- * The type of notification.
- */
- @JsonAdapter(NotificationTypeEnum.Adapter.class)
- public enum NotificationTypeEnum {
- LOYALTYPOINTSDEDUCTED("LoyaltyPointsDeducted"),
-
- LOYALTYPOINTSADDED("LoyaltyPointsAdded");
- private String value;
-
- NotificationTypeEnum(String value) {
- this.value = value;
- }
-
- public String getValue() {
- return value;
- }
-
- @Override
- public String toString() {
- return String.valueOf(value);
- }
-
- public static NotificationTypeEnum fromValue(String value) {
- for (NotificationTypeEnum b : NotificationTypeEnum.values()) {
- if (b.value.equals(value)) {
- return b;
- }
- }
- throw new IllegalArgumentException("Unexpected value '" + value + "'");
- }
-
- public static class Adapter extends TypeAdapter {
- @Override
- public void write(final JsonWriter jsonWriter, final NotificationTypeEnum enumeration) throws IOException {
- jsonWriter.value(enumeration.getValue());
- }
-
- @Override
- public NotificationTypeEnum read(final JsonReader jsonReader) throws IOException {
- String value = jsonReader.nextString();
- return NotificationTypeEnum.fromValue(value);
- }
- }
- }
-
- public static final String SERIALIZED_NAME_NOTIFICATION_TYPE = "NotificationType";
- @SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE)
- private NotificationTypeEnum notificationType;
-
-
- public AddedDeductedPointsNotification profileIntegrationID(String profileIntegrationID) {
+ public AddedDeductedPointsNotification employeeName(String employeeName) {
- this.profileIntegrationID = profileIntegrationID;
+ this.employeeName = employeeName;
return this;
}
/**
- * The integration ID of the customer profile to whom points were added or deducted.
- * @return profileIntegrationID
+ * The name of the employee who added or deducted points.
+ * @return employeeName
**/
- @ApiModelProperty(example = "URNGV8294NV", required = true, value = "The integration ID of the customer profile to whom points were added or deducted.")
+ @ApiModelProperty(example = "Franziska Schneider", required = true, value = "The name of the employee who added or deducted points.")
- public String getProfileIntegrationID() {
- return profileIntegrationID;
+ public String getEmployeeName() {
+ return employeeName;
}
- public void setProfileIntegrationID(String profileIntegrationID) {
- this.profileIntegrationID = profileIntegrationID;
+ public void setEmployeeName(String employeeName) {
+ this.employeeName = employeeName;
}
@@ -272,113 +272,113 @@ public void setLoyaltyProgramID(Long loyaltyProgramID) {
}
- public AddedDeductedPointsNotification subledgerID(String subledgerID) {
+ public AddedDeductedPointsNotification notificationType(NotificationTypeEnum notificationType) {
- this.subledgerID = subledgerID;
+ this.notificationType = notificationType;
return this;
}
/**
- * The ID of the subledger within the loyalty program where these points were added.
- * @return subledgerID
+ * The type of notification.
+ * @return notificationType
**/
- @ApiModelProperty(example = "sub-123", required = true, value = "The ID of the subledger within the loyalty program where these points were added.")
+ @ApiModelProperty(required = true, value = "The type of notification.")
- public String getSubledgerID() {
- return subledgerID;
+ public NotificationTypeEnum getNotificationType() {
+ return notificationType;
}
- public void setSubledgerID(String subledgerID) {
- this.subledgerID = subledgerID;
+ public void setNotificationType(NotificationTypeEnum notificationType) {
+ this.notificationType = notificationType;
}
- public AddedDeductedPointsNotification amount(BigDecimal amount) {
+ public AddedDeductedPointsNotification profileIntegrationID(String profileIntegrationID) {
- this.amount = amount;
+ this.profileIntegrationID = profileIntegrationID;
return this;
}
/**
- * The amount of added or deducted loyalty points.
- * @return amount
+ * The integration ID of the customer profile to whom points were added or deducted.
+ * @return profileIntegrationID
**/
- @ApiModelProperty(example = "10.99", required = true, value = "The amount of added or deducted loyalty points.")
+ @ApiModelProperty(example = "URNGV8294NV", required = true, value = "The integration ID of the customer profile to whom points were added or deducted.")
- public BigDecimal getAmount() {
- return amount;
+ public String getProfileIntegrationID() {
+ return profileIntegrationID;
}
- public void setAmount(BigDecimal amount) {
- this.amount = amount;
+ public void setProfileIntegrationID(String profileIntegrationID) {
+ this.profileIntegrationID = profileIntegrationID;
}
- public AddedDeductedPointsNotification reason(String reason) {
+ public AddedDeductedPointsNotification sessionIntegrationID(String sessionIntegrationID) {
- this.reason = reason;
+ this.sessionIntegrationID = sessionIntegrationID;
return this;
}
/**
- * The reason for the points addition or deduction.
- * @return reason
+ * The integration ID of the session through which the points were earned or lost.
+ * @return sessionIntegrationID
**/
- @ApiModelProperty(example = "Compensation", required = true, value = "The reason for the points addition or deduction.")
+ @ApiModelProperty(example = "cc53e4fa-547f-4f5e-8333-76e05c381f67", required = true, value = "The integration ID of the session through which the points were earned or lost.")
- public String getReason() {
- return reason;
+ public String getSessionIntegrationID() {
+ return sessionIntegrationID;
}
- public void setReason(String reason) {
- this.reason = reason;
+ public void setSessionIntegrationID(String sessionIntegrationID) {
+ this.sessionIntegrationID = sessionIntegrationID;
}
- public AddedDeductedPointsNotification typeOfChange(TypeOfChangeEnum typeOfChange) {
+ public AddedDeductedPointsNotification subledgerID(String subledgerID) {
- this.typeOfChange = typeOfChange;
+ this.subledgerID = subledgerID;
return this;
}
/**
- * The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters)
- * @return typeOfChange
+ * The ID of the subledger within the loyalty program where these points were added.
+ * @return subledgerID
**/
- @ApiModelProperty(required = true, value = "The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters) ")
+ @ApiModelProperty(example = "sub-123", required = true, value = "The ID of the subledger within the loyalty program where these points were added.")
- public TypeOfChangeEnum getTypeOfChange() {
- return typeOfChange;
+ public String getSubledgerID() {
+ return subledgerID;
}
- public void setTypeOfChange(TypeOfChangeEnum typeOfChange) {
- this.typeOfChange = typeOfChange;
+ public void setSubledgerID(String subledgerID) {
+ this.subledgerID = subledgerID;
}
- public AddedDeductedPointsNotification employeeName(String employeeName) {
+ public AddedDeductedPointsNotification typeOfChange(TypeOfChangeEnum typeOfChange) {
- this.employeeName = employeeName;
+ this.typeOfChange = typeOfChange;
return this;
}
/**
- * The name of the employee who added or deducted points.
- * @return employeeName
+ * The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters)
+ * @return typeOfChange
**/
- @ApiModelProperty(example = "Franziska Schneider", required = true, value = "The name of the employee who added or deducted points.")
+ @ApiModelProperty(required = true, value = "The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters) ")
- public String getEmployeeName() {
- return employeeName;
+ public TypeOfChangeEnum getTypeOfChange() {
+ return typeOfChange;
}
- public void setEmployeeName(String employeeName) {
- this.employeeName = employeeName;
+ public void setTypeOfChange(TypeOfChangeEnum typeOfChange) {
+ this.typeOfChange = typeOfChange;
}
@@ -390,7 +390,6 @@ public AddedDeductedPointsNotification userID(Long userID) {
/**
* The ID of the employee who added or deducted points.
- * minimum: 1
* @return userID
**/
@ApiModelProperty(example = "25", required = true, value = "The ID of the employee who added or deducted points.")
@@ -405,115 +404,115 @@ public void setUserID(Long userID) {
}
- public AddedDeductedPointsNotification operation(OperationEnum operation) {
+ public AddedDeductedPointsNotification amount(BigDecimal amount) {
- this.operation = operation;
+ this.amount = amount;
return this;
}
/**
- * The action (addition or deduction) made with loyalty points.
- * @return operation
+ * The amount of added or deducted loyalty points.
+ * @return amount
**/
- @ApiModelProperty(required = true, value = "The action (addition or deduction) made with loyalty points.")
+ @ApiModelProperty(example = "10.99", required = true, value = "The amount of added or deducted loyalty points.")
- public OperationEnum getOperation() {
- return operation;
+ public BigDecimal getAmount() {
+ return amount;
}
- public void setOperation(OperationEnum operation) {
- this.operation = operation;
+ public void setAmount(BigDecimal amount) {
+ this.amount = amount;
}
- public AddedDeductedPointsNotification startDate(OffsetDateTime startDate) {
+ public AddedDeductedPointsNotification expiryDate(OffsetDateTime expiryDate) {
- this.startDate = startDate;
+ this.expiryDate = expiryDate;
return this;
}
/**
- * The start date for loyalty points.
- * @return startDate
+ * The expiration date for loyalty points.
+ * @return expiryDate
**/
@javax.annotation.Nullable
- @ApiModelProperty(example = "2023-01-24T14:15:22Z", value = "The start date for loyalty points.")
+ @ApiModelProperty(example = "2024-01-24T14:15:22Z", value = "The expiration date for loyalty points.")
- public OffsetDateTime getStartDate() {
- return startDate;
+ public OffsetDateTime getExpiryDate() {
+ return expiryDate;
}
- public void setStartDate(OffsetDateTime startDate) {
- this.startDate = startDate;
+ public void setExpiryDate(OffsetDateTime expiryDate) {
+ this.expiryDate = expiryDate;
}
- public AddedDeductedPointsNotification expiryDate(OffsetDateTime expiryDate) {
+ public AddedDeductedPointsNotification operation(OperationEnum operation) {
- this.expiryDate = expiryDate;
+ this.operation = operation;
return this;
}
/**
- * The expiration date for loyalty points.
- * @return expiryDate
+ * The action (addition or deduction) made with loyalty points.
+ * @return operation
**/
- @javax.annotation.Nullable
- @ApiModelProperty(example = "2024-01-24T14:15:22Z", value = "The expiration date for loyalty points.")
+ @ApiModelProperty(required = true, value = "The action (addition or deduction) made with loyalty points.")
- public OffsetDateTime getExpiryDate() {
- return expiryDate;
+ public OperationEnum getOperation() {
+ return operation;
}
- public void setExpiryDate(OffsetDateTime expiryDate) {
- this.expiryDate = expiryDate;
+ public void setOperation(OperationEnum operation) {
+ this.operation = operation;
}
- public AddedDeductedPointsNotification sessionIntegrationID(String sessionIntegrationID) {
+ public AddedDeductedPointsNotification reason(String reason) {
- this.sessionIntegrationID = sessionIntegrationID;
+ this.reason = reason;
return this;
}
/**
- * The integration ID of the session through which the points were earned or lost.
- * @return sessionIntegrationID
+ * The reason for the points addition or deduction.
+ * @return reason
**/
- @ApiModelProperty(example = "cc53e4fa-547f-4f5e-8333-76e05c381f67", required = true, value = "The integration ID of the session through which the points were earned or lost.")
+ @ApiModelProperty(example = "Compensation", required = true, value = "The reason for the points addition or deduction.")
- public String getSessionIntegrationID() {
- return sessionIntegrationID;
+ public String getReason() {
+ return reason;
}
- public void setSessionIntegrationID(String sessionIntegrationID) {
- this.sessionIntegrationID = sessionIntegrationID;
+ public void setReason(String reason) {
+ this.reason = reason;
}
- public AddedDeductedPointsNotification notificationType(NotificationTypeEnum notificationType) {
+ public AddedDeductedPointsNotification startDate(OffsetDateTime startDate) {
- this.notificationType = notificationType;
+ this.startDate = startDate;
return this;
}
/**
- * The type of notification.
- * @return notificationType
+ * The start date for loyalty points.
+ * @return startDate
**/
- @ApiModelProperty(required = true, value = "The type of notification.")
+ @javax.annotation.Nullable
+ @ApiModelProperty(example = "2023-01-24T14:15:22Z", value = "The start date for loyalty points.")
- public NotificationTypeEnum getNotificationType() {
- return notificationType;
+ public OffsetDateTime getStartDate() {
+ return startDate;
}
- public void setNotificationType(NotificationTypeEnum notificationType) {
- this.notificationType = notificationType;
+ public void setStartDate(OffsetDateTime startDate) {
+ this.startDate = startDate;
}
@@ -526,24 +525,24 @@ public boolean equals(java.lang.Object o) {
return false;
}
AddedDeductedPointsNotification addedDeductedPointsNotification = (AddedDeductedPointsNotification) o;
- return Objects.equals(this.profileIntegrationID, addedDeductedPointsNotification.profileIntegrationID) &&
+ return Objects.equals(this.employeeName, addedDeductedPointsNotification.employeeName) &&
Objects.equals(this.loyaltyProgramID, addedDeductedPointsNotification.loyaltyProgramID) &&
+ Objects.equals(this.notificationType, addedDeductedPointsNotification.notificationType) &&
+ Objects.equals(this.profileIntegrationID, addedDeductedPointsNotification.profileIntegrationID) &&
+ Objects.equals(this.sessionIntegrationID, addedDeductedPointsNotification.sessionIntegrationID) &&
Objects.equals(this.subledgerID, addedDeductedPointsNotification.subledgerID) &&
- Objects.equals(this.amount, addedDeductedPointsNotification.amount) &&
- Objects.equals(this.reason, addedDeductedPointsNotification.reason) &&
Objects.equals(this.typeOfChange, addedDeductedPointsNotification.typeOfChange) &&
- Objects.equals(this.employeeName, addedDeductedPointsNotification.employeeName) &&
Objects.equals(this.userID, addedDeductedPointsNotification.userID) &&
- Objects.equals(this.operation, addedDeductedPointsNotification.operation) &&
- Objects.equals(this.startDate, addedDeductedPointsNotification.startDate) &&
+ Objects.equals(this.amount, addedDeductedPointsNotification.amount) &&
Objects.equals(this.expiryDate, addedDeductedPointsNotification.expiryDate) &&
- Objects.equals(this.sessionIntegrationID, addedDeductedPointsNotification.sessionIntegrationID) &&
- Objects.equals(this.notificationType, addedDeductedPointsNotification.notificationType);
+ Objects.equals(this.operation, addedDeductedPointsNotification.operation) &&
+ Objects.equals(this.reason, addedDeductedPointsNotification.reason) &&
+ Objects.equals(this.startDate, addedDeductedPointsNotification.startDate);
}
@Override
public int hashCode() {
- return Objects.hash(profileIntegrationID, loyaltyProgramID, subledgerID, amount, reason, typeOfChange, employeeName, userID, operation, startDate, expiryDate, sessionIntegrationID, notificationType);
+ return Objects.hash(employeeName, loyaltyProgramID, notificationType, profileIntegrationID, sessionIntegrationID, subledgerID, typeOfChange, userID, amount, expiryDate, operation, reason, startDate);
}
@@ -551,19 +550,19 @@ public int hashCode() {
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class AddedDeductedPointsNotification {\n");
- sb.append(" profileIntegrationID: ").append(toIndentedString(profileIntegrationID)).append("\n");
+ sb.append(" employeeName: ").append(toIndentedString(employeeName)).append("\n");
sb.append(" loyaltyProgramID: ").append(toIndentedString(loyaltyProgramID)).append("\n");
+ sb.append(" notificationType: ").append(toIndentedString(notificationType)).append("\n");
+ sb.append(" profileIntegrationID: ").append(toIndentedString(profileIntegrationID)).append("\n");
+ sb.append(" sessionIntegrationID: ").append(toIndentedString(sessionIntegrationID)).append("\n");
sb.append(" subledgerID: ").append(toIndentedString(subledgerID)).append("\n");
- sb.append(" amount: ").append(toIndentedString(amount)).append("\n");
- sb.append(" reason: ").append(toIndentedString(reason)).append("\n");
sb.append(" typeOfChange: ").append(toIndentedString(typeOfChange)).append("\n");
- sb.append(" employeeName: ").append(toIndentedString(employeeName)).append("\n");
sb.append(" userID: ").append(toIndentedString(userID)).append("\n");
+ sb.append(" amount: ").append(toIndentedString(amount)).append("\n");
+ sb.append(" expiryDate: ").append(toIndentedString(expiryDate)).append("\n");
sb.append(" operation: ").append(toIndentedString(operation)).append("\n");
+ sb.append(" reason: ").append(toIndentedString(reason)).append("\n");
sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n");
- sb.append(" expiryDate: ").append(toIndentedString(expiryDate)).append("\n");
- sb.append(" sessionIntegrationID: ").append(toIndentedString(sessionIntegrationID)).append("\n");
- sb.append(" notificationType: ").append(toIndentedString(notificationType)).append("\n");
sb.append("}");
return sb.toString();
}
diff --git a/src/main/java/one/talon/model/AsyncCouponsData.java b/src/main/java/one/talon/model/AsyncCouponsData.java
index f9382cb2..f712d92f 100644
--- a/src/main/java/one/talon/model/AsyncCouponsData.java
+++ b/src/main/java/one/talon/model/AsyncCouponsData.java
@@ -45,9 +45,54 @@ public class AsyncCouponsData {
@SerializedName(SERIALIZED_NAME_EMPLOYEE_NAME)
private String employeeName;
+ /**
+ * The type of the notification
+ */
+ @JsonAdapter(NotificationTypeEnum.Adapter.class)
+ public enum NotificationTypeEnum {
+ ASYNCCOUPONSCREATED("AsyncCouponsCreated");
+
+ private String value;
+
+ NotificationTypeEnum(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static NotificationTypeEnum fromValue(String value) {
+ for (NotificationTypeEnum b : NotificationTypeEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+
+ public static class Adapter extends TypeAdapter