diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES
index 618ff789..6005749c 100644
--- a/.openapi-generator/FILES
+++ b/.openapi-generator/FILES
@@ -166,6 +166,7 @@ docs/CardLedgerTransactionLogEntryIntegrationAPI.md
docs/CartItem.md
docs/CartItemFilterTemplate.md
docs/Catalog.md
+docs/CatalogAction.md
docs/CatalogActionFilter.md
docs/CatalogItem.md
docs/CatalogRule.md
@@ -245,6 +246,9 @@ docs/EventAttributesEntity.md
docs/EventType.md
docs/EventV2.md
docs/EventV3.md
+docs/EventV3Connections.md
+docs/EventV3Entity.md
+docs/EventV3RequestEntity.md
docs/Experiment.md
docs/ExperimentCampaignCopy.md
docs/ExperimentCopy.md
@@ -277,6 +281,7 @@ docs/Export.md
docs/ExtendLoyaltyPointsExpiryDateEffectProps.md
docs/ExtendedCoupon.md
docs/FeatureFlag.md
+docs/FeatureFlagUpdate.md
docs/FeaturesFeed.md
docs/FuncArgDef.md
docs/FunctionDef.md
@@ -347,6 +352,7 @@ docs/IncreaseAchievementProgressEffectProps.md
docs/InfluencingCampaignDetails.md
docs/IntegrationApi.md
docs/IntegrationCampaign.md
+docs/IntegrationCampaignBase.md
docs/IntegrationCoupon.md
docs/IntegrationCustomerProfileAudienceRequest.md
docs/IntegrationCustomerProfileAudienceRequestItem.md
@@ -367,6 +373,7 @@ docs/IntegrationHubEventPayloadLoyaltyProfileBasedPointsChangedNotificationActio
docs/IntegrationHubEventPayloadLoyaltyProfileBasedTierDowngradeNotification.md
docs/IntegrationHubEventPayloadLoyaltyProfileBasedTierUpgradeNotification.md
docs/IntegrationHubEventRecord.md
+docs/IntegrationHubEventStatusUpdate.md
docs/IntegrationHubFlow.md
docs/IntegrationHubFlowConfig.md
docs/IntegrationHubFlowConfigResponse.md
@@ -483,6 +490,7 @@ docs/NewCustomerSession.md
docs/NewCustomerSessionV2.md
docs/NewEvent.md
docs/NewEventType.md
+docs/NewEventV3Entity.md
docs/NewExperiment.md
docs/NewExperimentVariant.md
docs/NewExperimentVariantArray.md
@@ -509,6 +517,7 @@ docs/NewReferralsForMultipleAdvocates.md
docs/NewReturn.md
docs/NewRevisionVersion.md
docs/NewReward.md
+docs/NewRiskNotification.md
docs/NewRole.md
docs/NewRoleV2.md
docs/NewRuleset.md
@@ -577,6 +586,8 @@ docs/RevisionActivation.md
docs/RevisionActivationRequest.md
docs/RevisionVersion.md
docs/Reward.md
+docs/RewardPointsRequired.md
+docs/RiskNotification.md
docs/Role.md
docs/RoleAssign.md
docs/RoleMembership.md
@@ -599,6 +610,7 @@ docs/RuleEligibility.md
docs/RuleEligibilityFailureDetails.md
docs/RuleFailureReason.md
docs/RuleMetadata.md
+docs/RuleMetadataEligibility.md
docs/Ruleset.md
docs/SSOConfig.md
docs/SamlConnection.md
@@ -649,6 +661,8 @@ docs/StrikethroughSetDiscountPerItemMemberEffectProps.md
docs/StrikethroughTrigger.md
docs/SummarizeCampaignStoreBudget200Response.md
docs/SummaryCampaignStoreBudget.md
+docs/SupportRequest.md
+docs/SupportRequestInput.md
docs/TalangAttribute.md
docs/TalangAttributeVisibility.md
docs/TemplateArgDef.md
@@ -706,6 +720,7 @@ docs/UpdateReferralBatch.md
docs/UpdateReward.md
docs/UpdateRole.md
docs/UpdateStore.md
+docs/UpdateSupportRequest.md
docs/UpdateUser.md
docs/User.md
docs/UserEntity.md
@@ -900,6 +915,7 @@ src/main/java/one/talon/model/CardLedgerTransactionLogEntryIntegrationAPI.java
src/main/java/one/talon/model/CartItem.java
src/main/java/one/talon/model/CartItemFilterTemplate.java
src/main/java/one/talon/model/Catalog.java
+src/main/java/one/talon/model/CatalogAction.java
src/main/java/one/talon/model/CatalogActionFilter.java
src/main/java/one/talon/model/CatalogItem.java
src/main/java/one/talon/model/CatalogRule.java
@@ -979,6 +995,9 @@ src/main/java/one/talon/model/EventAttributesEntity.java
src/main/java/one/talon/model/EventType.java
src/main/java/one/talon/model/EventV2.java
src/main/java/one/talon/model/EventV3.java
+src/main/java/one/talon/model/EventV3Connections.java
+src/main/java/one/talon/model/EventV3Entity.java
+src/main/java/one/talon/model/EventV3RequestEntity.java
src/main/java/one/talon/model/Experiment.java
src/main/java/one/talon/model/ExperimentCampaignCopy.java
src/main/java/one/talon/model/ExperimentCopy.java
@@ -1011,6 +1030,7 @@ src/main/java/one/talon/model/Export.java
src/main/java/one/talon/model/ExtendLoyaltyPointsExpiryDateEffectProps.java
src/main/java/one/talon/model/ExtendedCoupon.java
src/main/java/one/talon/model/FeatureFlag.java
+src/main/java/one/talon/model/FeatureFlagUpdate.java
src/main/java/one/talon/model/FeaturesFeed.java
src/main/java/one/talon/model/FuncArgDef.java
src/main/java/one/talon/model/FunctionDef.java
@@ -1080,6 +1100,7 @@ src/main/java/one/talon/model/ImportEntity.java
src/main/java/one/talon/model/IncreaseAchievementProgressEffectProps.java
src/main/java/one/talon/model/InfluencingCampaignDetails.java
src/main/java/one/talon/model/IntegrationCampaign.java
+src/main/java/one/talon/model/IntegrationCampaignBase.java
src/main/java/one/talon/model/IntegrationCoupon.java
src/main/java/one/talon/model/IntegrationCustomerProfileAudienceRequest.java
src/main/java/one/talon/model/IntegrationCustomerProfileAudienceRequestItem.java
@@ -1100,6 +1121,7 @@ src/main/java/one/talon/model/IntegrationHubEventPayloadLoyaltyProfileBasedPoint
src/main/java/one/talon/model/IntegrationHubEventPayloadLoyaltyProfileBasedTierDowngradeNotification.java
src/main/java/one/talon/model/IntegrationHubEventPayloadLoyaltyProfileBasedTierUpgradeNotification.java
src/main/java/one/talon/model/IntegrationHubEventRecord.java
+src/main/java/one/talon/model/IntegrationHubEventStatusUpdate.java
src/main/java/one/talon/model/IntegrationHubFlow.java
src/main/java/one/talon/model/IntegrationHubFlowConfig.java
src/main/java/one/talon/model/IntegrationHubFlowConfigResponse.java
@@ -1215,6 +1237,7 @@ src/main/java/one/talon/model/NewCustomerSession.java
src/main/java/one/talon/model/NewCustomerSessionV2.java
src/main/java/one/talon/model/NewEvent.java
src/main/java/one/talon/model/NewEventType.java
+src/main/java/one/talon/model/NewEventV3Entity.java
src/main/java/one/talon/model/NewExperiment.java
src/main/java/one/talon/model/NewExperimentVariant.java
src/main/java/one/talon/model/NewExperimentVariantArray.java
@@ -1241,6 +1264,7 @@ src/main/java/one/talon/model/NewReferralsForMultipleAdvocates.java
src/main/java/one/talon/model/NewReturn.java
src/main/java/one/talon/model/NewRevisionVersion.java
src/main/java/one/talon/model/NewReward.java
+src/main/java/one/talon/model/NewRiskNotification.java
src/main/java/one/talon/model/NewRole.java
src/main/java/one/talon/model/NewRoleV2.java
src/main/java/one/talon/model/NewRuleset.java
@@ -1309,6 +1333,8 @@ src/main/java/one/talon/model/RevisionActivation.java
src/main/java/one/talon/model/RevisionActivationRequest.java
src/main/java/one/talon/model/RevisionVersion.java
src/main/java/one/talon/model/Reward.java
+src/main/java/one/talon/model/RewardPointsRequired.java
+src/main/java/one/talon/model/RiskNotification.java
src/main/java/one/talon/model/Role.java
src/main/java/one/talon/model/RoleAssign.java
src/main/java/one/talon/model/RoleMembership.java
@@ -1331,6 +1357,7 @@ src/main/java/one/talon/model/RuleEligibility.java
src/main/java/one/talon/model/RuleEligibilityFailureDetails.java
src/main/java/one/talon/model/RuleFailureReason.java
src/main/java/one/talon/model/RuleMetadata.java
+src/main/java/one/talon/model/RuleMetadataEligibility.java
src/main/java/one/talon/model/Ruleset.java
src/main/java/one/talon/model/SSOConfig.java
src/main/java/one/talon/model/SamlConnection.java
@@ -1381,6 +1408,8 @@ src/main/java/one/talon/model/StrikethroughSetDiscountPerItemMemberEffectProps.j
src/main/java/one/talon/model/StrikethroughTrigger.java
src/main/java/one/talon/model/SummarizeCampaignStoreBudget200Response.java
src/main/java/one/talon/model/SummaryCampaignStoreBudget.java
+src/main/java/one/talon/model/SupportRequest.java
+src/main/java/one/talon/model/SupportRequestInput.java
src/main/java/one/talon/model/TalangAttribute.java
src/main/java/one/talon/model/TalangAttributeVisibility.java
src/main/java/one/talon/model/TemplateArgDef.java
@@ -1438,6 +1467,7 @@ src/main/java/one/talon/model/UpdateReferralBatch.java
src/main/java/one/talon/model/UpdateReward.java
src/main/java/one/talon/model/UpdateRole.java
src/main/java/one/talon/model/UpdateStore.java
+src/main/java/one/talon/model/UpdateSupportRequest.java
src/main/java/one/talon/model/UpdateUser.java
src/main/java/one/talon/model/User.java
src/main/java/one/talon/model/UserEntity.java
@@ -1605,6 +1635,7 @@ src/test/java/one/talon/model/CardLedgerTransactionLogEntryTest.java
src/test/java/one/talon/model/CartItemFilterTemplateTest.java
src/test/java/one/talon/model/CartItemTest.java
src/test/java/one/talon/model/CatalogActionFilterTest.java
+src/test/java/one/talon/model/CatalogActionTest.java
src/test/java/one/talon/model/CatalogItemTest.java
src/test/java/one/talon/model/CatalogRuleTest.java
src/test/java/one/talon/model/CatalogSyncRequestTest.java
@@ -1683,6 +1714,9 @@ src/test/java/one/talon/model/EventAttributesEntityTest.java
src/test/java/one/talon/model/EventTest.java
src/test/java/one/talon/model/EventTypeTest.java
src/test/java/one/talon/model/EventV2Test.java
+src/test/java/one/talon/model/EventV3ConnectionsTest.java
+src/test/java/one/talon/model/EventV3EntityTest.java
+src/test/java/one/talon/model/EventV3RequestEntityTest.java
src/test/java/one/talon/model/EventV3Test.java
src/test/java/one/talon/model/ExperimentCampaignCopyTest.java
src/test/java/one/talon/model/ExperimentCopyExperimentTest.java
@@ -1716,6 +1750,7 @@ src/test/java/one/talon/model/ExportTest.java
src/test/java/one/talon/model/ExtendLoyaltyPointsExpiryDateEffectPropsTest.java
src/test/java/one/talon/model/ExtendedCouponTest.java
src/test/java/one/talon/model/FeatureFlagTest.java
+src/test/java/one/talon/model/FeatureFlagUpdateTest.java
src/test/java/one/talon/model/FeaturesFeedTest.java
src/test/java/one/talon/model/FuncArgDefTest.java
src/test/java/one/talon/model/FunctionDefTest.java
@@ -1784,6 +1819,7 @@ src/test/java/one/talon/model/IdentifiableEntityTest.java
src/test/java/one/talon/model/ImportEntityTest.java
src/test/java/one/talon/model/IncreaseAchievementProgressEffectPropsTest.java
src/test/java/one/talon/model/InfluencingCampaignDetailsTest.java
+src/test/java/one/talon/model/IntegrationCampaignBaseTest.java
src/test/java/one/talon/model/IntegrationCampaignTest.java
src/test/java/one/talon/model/IntegrationCouponTest.java
src/test/java/one/talon/model/IntegrationCustomerProfileAudienceRequestItemTest.java
@@ -1805,6 +1841,7 @@ src/test/java/one/talon/model/IntegrationHubEventPayloadLoyaltyProfileBasedPoint
src/test/java/one/talon/model/IntegrationHubEventPayloadLoyaltyProfileBasedTierDowngradeNotificationTest.java
src/test/java/one/talon/model/IntegrationHubEventPayloadLoyaltyProfileBasedTierUpgradeNotificationTest.java
src/test/java/one/talon/model/IntegrationHubEventRecordTest.java
+src/test/java/one/talon/model/IntegrationHubEventStatusUpdateTest.java
src/test/java/one/talon/model/IntegrationHubFlowConfigResponseTest.java
src/test/java/one/talon/model/IntegrationHubFlowConfigTest.java
src/test/java/one/talon/model/IntegrationHubFlowResponseTest.java
@@ -1920,6 +1957,7 @@ src/test/java/one/talon/model/NewCustomerSessionTest.java
src/test/java/one/talon/model/NewCustomerSessionV2Test.java
src/test/java/one/talon/model/NewEventTest.java
src/test/java/one/talon/model/NewEventTypeTest.java
+src/test/java/one/talon/model/NewEventV3EntityTest.java
src/test/java/one/talon/model/NewExperimentTest.java
src/test/java/one/talon/model/NewExperimentVariantArrayTest.java
src/test/java/one/talon/model/NewExperimentVariantTest.java
@@ -1946,6 +1984,7 @@ src/test/java/one/talon/model/NewReferralsForMultipleAdvocatesTest.java
src/test/java/one/talon/model/NewReturnTest.java
src/test/java/one/talon/model/NewRevisionVersionTest.java
src/test/java/one/talon/model/NewRewardTest.java
+src/test/java/one/talon/model/NewRiskNotificationTest.java
src/test/java/one/talon/model/NewRoleTest.java
src/test/java/one/talon/model/NewRoleV2Test.java
src/test/java/one/talon/model/NewRulesetTest.java
@@ -2013,7 +2052,9 @@ src/test/java/one/talon/model/RevisionActivationRequestTest.java
src/test/java/one/talon/model/RevisionActivationTest.java
src/test/java/one/talon/model/RevisionTest.java
src/test/java/one/talon/model/RevisionVersionTest.java
+src/test/java/one/talon/model/RewardPointsRequiredTest.java
src/test/java/one/talon/model/RewardTest.java
+src/test/java/one/talon/model/RiskNotificationTest.java
src/test/java/one/talon/model/RoleAssignTest.java
src/test/java/one/talon/model/RoleMembershipTest.java
src/test/java/one/talon/model/RoleTest.java
@@ -2034,6 +2075,7 @@ src/test/java/one/talon/model/RollbackReferralEffectPropsTest.java
src/test/java/one/talon/model/RuleEligibilityFailureDetailsTest.java
src/test/java/one/talon/model/RuleEligibilityTest.java
src/test/java/one/talon/model/RuleFailureReasonTest.java
+src/test/java/one/talon/model/RuleMetadataEligibilityTest.java
src/test/java/one/talon/model/RuleMetadataTest.java
src/test/java/one/talon/model/RuleTest.java
src/test/java/one/talon/model/RulesetTest.java
@@ -2086,6 +2128,8 @@ src/test/java/one/talon/model/StrikethroughSetDiscountPerItemMemberEffectPropsTe
src/test/java/one/talon/model/StrikethroughTriggerTest.java
src/test/java/one/talon/model/SummarizeCampaignStoreBudget200ResponseTest.java
src/test/java/one/talon/model/SummaryCampaignStoreBudgetTest.java
+src/test/java/one/talon/model/SupportRequestInputTest.java
+src/test/java/one/talon/model/SupportRequestTest.java
src/test/java/one/talon/model/TalangAttributeTest.java
src/test/java/one/talon/model/TalangAttributeVisibilityTest.java
src/test/java/one/talon/model/TemplateArgDefTest.java
@@ -2143,6 +2187,7 @@ src/test/java/one/talon/model/UpdateReferralTest.java
src/test/java/one/talon/model/UpdateRewardTest.java
src/test/java/one/talon/model/UpdateRoleTest.java
src/test/java/one/talon/model/UpdateStoreTest.java
+src/test/java/one/talon/model/UpdateSupportRequestTest.java
src/test/java/one/talon/model/UpdateUserTest.java
src/test/java/one/talon/model/UserEntityTest.java
src/test/java/one/talon/model/UserTest.java
diff --git a/README.md b/README.md
index 3347f606..98b7a563 100644
--- a/README.md
+++ b/README.md
@@ -42,7 +42,7 @@ Add this dependency to your project's POM:
one.talontalon-one-client
- 26.09.0
+ 26.11.0compile
```
@@ -52,7 +52,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:26.09.0"
+compile "one.talon:talon-one-client:26.11.0"
```
### Others
@@ -349,12 +349,12 @@ Class | Method | HTTP request | Description
*ManagementApi* | [**getExperiment**](docs/ManagementApi.md#getExperiment) | **GET** /v1/applications/{applicationId}/experiments/{experimentId} | Get experiment in Application
*ManagementApi* | [**getExports**](docs/ManagementApi.md#getExports) | **GET** /v1/exports | Get exports
*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* | [**getLoyaltyCardTransactionLogs**](docs/ManagementApi.md#getLoyaltyCardTransactionLogs) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/logs | List card's transactions (Management API)
*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* | [**getLoyaltyLedgerBalances**](docs/ManagementApi.md#getLoyaltyLedgerBalances) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/ledger_balances | Get customer's loyalty balances (Management API)
*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* | [**getLoyaltyProgramProfileLedgerTransactions**](docs/ManagementApi.md#getLoyaltyProgramProfileLedgerTransactions) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/ledger_transactions | List customer's loyalty transactions (Management API)
*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
@@ -584,6 +584,7 @@ Class | Method | HTTP request | Description
- [CartItem](docs/CartItem.md)
- [CartItemFilterTemplate](docs/CartItemFilterTemplate.md)
- [Catalog](docs/Catalog.md)
+- [CatalogAction](docs/CatalogAction.md)
- [CatalogActionFilter](docs/CatalogActionFilter.md)
- [CatalogItem](docs/CatalogItem.md)
- [CatalogRule](docs/CatalogRule.md)
@@ -663,6 +664,9 @@ Class | Method | HTTP request | Description
- [EventType](docs/EventType.md)
- [EventV2](docs/EventV2.md)
- [EventV3](docs/EventV3.md)
+- [EventV3Connections](docs/EventV3Connections.md)
+- [EventV3Entity](docs/EventV3Entity.md)
+- [EventV3RequestEntity](docs/EventV3RequestEntity.md)
- [Experiment](docs/Experiment.md)
- [ExperimentCampaignCopy](docs/ExperimentCampaignCopy.md)
- [ExperimentCopy](docs/ExperimentCopy.md)
@@ -695,6 +699,7 @@ Class | Method | HTTP request | Description
- [ExtendLoyaltyPointsExpiryDateEffectProps](docs/ExtendLoyaltyPointsExpiryDateEffectProps.md)
- [ExtendedCoupon](docs/ExtendedCoupon.md)
- [FeatureFlag](docs/FeatureFlag.md)
+- [FeatureFlagUpdate](docs/FeatureFlagUpdate.md)
- [FeaturesFeed](docs/FeaturesFeed.md)
- [FuncArgDef](docs/FuncArgDef.md)
- [FunctionDef](docs/FunctionDef.md)
@@ -764,6 +769,7 @@ Class | Method | HTTP request | Description
- [IncreaseAchievementProgressEffectProps](docs/IncreaseAchievementProgressEffectProps.md)
- [InfluencingCampaignDetails](docs/InfluencingCampaignDetails.md)
- [IntegrationCampaign](docs/IntegrationCampaign.md)
+- [IntegrationCampaignBase](docs/IntegrationCampaignBase.md)
- [IntegrationCoupon](docs/IntegrationCoupon.md)
- [IntegrationCustomerProfileAudienceRequest](docs/IntegrationCustomerProfileAudienceRequest.md)
- [IntegrationCustomerProfileAudienceRequestItem](docs/IntegrationCustomerProfileAudienceRequestItem.md)
@@ -784,6 +790,7 @@ Class | Method | HTTP request | Description
- [IntegrationHubEventPayloadLoyaltyProfileBasedTierDowngradeNotification](docs/IntegrationHubEventPayloadLoyaltyProfileBasedTierDowngradeNotification.md)
- [IntegrationHubEventPayloadLoyaltyProfileBasedTierUpgradeNotification](docs/IntegrationHubEventPayloadLoyaltyProfileBasedTierUpgradeNotification.md)
- [IntegrationHubEventRecord](docs/IntegrationHubEventRecord.md)
+- [IntegrationHubEventStatusUpdate](docs/IntegrationHubEventStatusUpdate.md)
- [IntegrationHubFlow](docs/IntegrationHubFlow.md)
- [IntegrationHubFlowConfig](docs/IntegrationHubFlowConfig.md)
- [IntegrationHubFlowConfigResponse](docs/IntegrationHubFlowConfigResponse.md)
@@ -899,6 +906,7 @@ Class | Method | HTTP request | Description
- [NewCustomerSessionV2](docs/NewCustomerSessionV2.md)
- [NewEvent](docs/NewEvent.md)
- [NewEventType](docs/NewEventType.md)
+- [NewEventV3Entity](docs/NewEventV3Entity.md)
- [NewExperiment](docs/NewExperiment.md)
- [NewExperimentVariant](docs/NewExperimentVariant.md)
- [NewExperimentVariantArray](docs/NewExperimentVariantArray.md)
@@ -925,6 +933,7 @@ Class | Method | HTTP request | Description
- [NewReturn](docs/NewReturn.md)
- [NewRevisionVersion](docs/NewRevisionVersion.md)
- [NewReward](docs/NewReward.md)
+- [NewRiskNotification](docs/NewRiskNotification.md)
- [NewRole](docs/NewRole.md)
- [NewRoleV2](docs/NewRoleV2.md)
- [NewRuleset](docs/NewRuleset.md)
@@ -993,6 +1002,8 @@ Class | Method | HTTP request | Description
- [RevisionActivationRequest](docs/RevisionActivationRequest.md)
- [RevisionVersion](docs/RevisionVersion.md)
- [Reward](docs/Reward.md)
+- [RewardPointsRequired](docs/RewardPointsRequired.md)
+- [RiskNotification](docs/RiskNotification.md)
- [Role](docs/Role.md)
- [RoleAssign](docs/RoleAssign.md)
- [RoleMembership](docs/RoleMembership.md)
@@ -1015,6 +1026,7 @@ Class | Method | HTTP request | Description
- [RuleEligibilityFailureDetails](docs/RuleEligibilityFailureDetails.md)
- [RuleFailureReason](docs/RuleFailureReason.md)
- [RuleMetadata](docs/RuleMetadata.md)
+- [RuleMetadataEligibility](docs/RuleMetadataEligibility.md)
- [Ruleset](docs/Ruleset.md)
- [SSOConfig](docs/SSOConfig.md)
- [SamlConnection](docs/SamlConnection.md)
@@ -1065,6 +1077,8 @@ Class | Method | HTTP request | Description
- [StrikethroughTrigger](docs/StrikethroughTrigger.md)
- [SummarizeCampaignStoreBudget200Response](docs/SummarizeCampaignStoreBudget200Response.md)
- [SummaryCampaignStoreBudget](docs/SummaryCampaignStoreBudget.md)
+- [SupportRequest](docs/SupportRequest.md)
+- [SupportRequestInput](docs/SupportRequestInput.md)
- [TalangAttribute](docs/TalangAttribute.md)
- [TalangAttributeVisibility](docs/TalangAttributeVisibility.md)
- [TemplateArgDef](docs/TemplateArgDef.md)
@@ -1122,6 +1136,7 @@ Class | Method | HTTP request | Description
- [UpdateReward](docs/UpdateReward.md)
- [UpdateRole](docs/UpdateRole.md)
- [UpdateStore](docs/UpdateStore.md)
+- [UpdateSupportRequest](docs/UpdateSupportRequest.md)
- [UpdateUser](docs/UpdateUser.md)
- [User](docs/User.md)
- [UserEntity](docs/UserEntity.md)
diff --git a/api/openapi.yaml b/api/openapi.yaml
index 53b8abfb..3f25b9d9 100644
--- a/api/openapi.yaml
+++ b/api/openapi.yaml
@@ -1475,21 +1475,15 @@ paths:
To use this endpoint:
- 1. Define a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event)
+ 1. [Create a custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event)
in the Campaign Manager.
- 1. Update or create a rule to check for this event.
- 1. Trigger the event with this endpoint. After you have successfully sent an
- event to Talon.One, you can list the received events in the **Events** view
- in the Campaign Manager.
-
- Talon.One also offers a set of [built-in
- events](https://docs.talon.one/docs/dev/concepts/entities/events). Ensure
- you do not create a custom event when you can use a built-in event.
+ 1. In a rule, add the **Check for event types** [condition](https://docs.talon.one/docs/dev/concepts/entities/events#use-an-event-in-a-rule) and select the event you created.
+ 1. Trigger the event with this endpoint.
- For example, use this endpoint to trigger an event when a customer shares a
- link to a product.
+ You can [list](https://docs.talon.one/docs/product/applications/display-events#list-events) the received events in the **Events** view of the Campaign Manager.
- See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing).
+ For example, you can use this endpoint to trigger an event when a customer shares a
+ link to a product. See our [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing).
> [!note] **Note**
> - `profileId` is required even though the schema does not specify it.
@@ -2447,8 +2441,10 @@ paths:
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.
+ > [!note] **Note**
+ > - For most use cases, especially real-time integrations, use the Integration API endpoint:
+ [Get customer's loyalty balances](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyBalances).
+ > - 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
@@ -2563,7 +2559,7 @@ paths:
schema:
$ref: "#/components/schemas/ErrorResponseWithStatus"
description: Not found
- summary: Get customer's loyalty balances
+ summary: Get customer's loyalty balances (Management API)
tags:
- management
x-accepts:
@@ -2942,9 +2938,11 @@ paths:
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.
+ > [!note] **Note**
+ > - For most use cases, especially real-time integrations, use the Integration API endpoint:
+ > [List customer's loyalty transactions](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions).
+ > - 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: |
@@ -3109,7 +3107,7 @@ paths:
schema:
$ref: "#/components/schemas/ErrorResponseWithStatus"
description: Not found
- summary: List customer's loyalty transactions
+ summary: List customer's loyalty transactions (Management API)
tags:
- management
x-accepts:
@@ -5433,7 +5431,7 @@ paths:
- `customerprofileid`: The integration ID of the customer profile to whom
the tier should be assigned.
- `tiername`: The name of an existing tier to assign to the customer.
- - `expirydate`: The expiration date of the tier when the tier is
+ - `expirydate`: The expiry date of the tier when the tier is
reevaluated. It should be a future date.
About customer assignment to a tier:
@@ -5441,9 +5439,11 @@ paths:
- If the customer isn't already in a tier, the customer is assigned to the
specified tier during the tier import.
- If the customer is already in the tier that's specified in the CSV file,
- only the expiration date is updated.
+ only the expiry date is updated.
- > [!note] We recommend not using this endpoint to update the tier of a customer.
+ > [!note] We recommend importing customers into the tier that matches their
+ > current balance. If a customer is imported into a lower tier, any session
+ > or points update automatically upgrades them to the tier they qualify for.
To update a customer's tier, you can
[add](/management-api#tag/Loyalty/operation/addLoyaltyPoints) or
@@ -6321,7 +6321,7 @@ paths:
identifiers of the customer profiles linked to the loyalty card. The
identifiers should be separated with a semicolon (;).
- > [!note] We recommend limiting your file size to 500MB.
+ > [!note] Your CSV file must contain less than 500,000 rows. Requests time out after 30 seconds.
## Example
@@ -7217,8 +7217,14 @@ paths:
get:
description: |
Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview)
- within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied.
- If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned.
+ within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types)
+ with filtering options applied.
+
+ > [!note] For most use cases, especially real-time integrations, use the Integration API endpoint:
+ > [List card's transactions](https://docs.talon.one/integration-api#tag/Loyalty-cards/operation/getLoyaltyCardTransactions).
+
+ If no filtering options are applied, the last 50 loyalty transactions for
+ the given loyalty card are returned.
operationId: getLoyaltyCardTransactionLogs
parameters:
- description: |
@@ -7344,7 +7350,7 @@ paths:
schema:
$ref: "#/components/schemas/ErrorResponseWithStatus"
description: Not found
- summary: List card's transactions
+ summary: List card's transactions (Management API)
tags:
- management
x-accepts:
@@ -13869,6 +13875,20 @@ components:
$ref: "#/components/schemas/NewStore"
description: body
required: true
+ NewSupportRequest:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/SupportRequestInput"
+ description: body
+ required: true
+ UpdateSupportRequest:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/UpdateSupportRequest"
+ description: body
+ required: true
NewReward:
content:
application/json:
@@ -14216,7 +14236,8 @@ components:
description: The strikethrough labels notification for an application.
properties:
version:
- description: The version of the strikethrough pricing notification.
+ description: |
+ The version of the strikethrough pricing notification. Set for **scheduled** strikethrough pricing updates only.
enum:
- v2
type: string
@@ -14835,7 +14856,7 @@ components:
total:
description: "The total value of cart items and additional costs in the\
\ session, before any discounts are applied."
- example: 119.99
+ example: 134.99
title: Session Total
type: number
cartItemTotal:
@@ -14850,6 +14871,13 @@ components:
example: 20
title: Additional Costs Total
type: number
+ cartItemAdditionalCostTotal:
+ description: "The total value of additional costs applied to individual\
+ \ items, before any discounts are applied."
+ example: 15
+ readOnly: true
+ title: Cart Item Additional Cost Total
+ type: number
updated:
description: Timestamp of the most recent event received on this session.
example: 2020-02-08T14:15:22Z
@@ -14858,6 +14886,7 @@ components:
type: string
required:
- additionalCostTotal
+ - cartItemAdditionalCostTotal
- cartItemTotal
- firstSession
- total
@@ -14866,6 +14895,7 @@ components:
example:
couponCodes:
- XMAS-20-2021
+ cartItemAdditionalCostTotal: 15
updateCount: 3
created: 2020-02-07T08:15:22Z
identifiers:
@@ -14876,7 +14906,7 @@ components:
variantID: 2
- experimentID: 1
variantID: 2
- total: 119.99
+ total: 134.99
loyaltyCards:
- loyalty-card-1
additionalCosts:
@@ -16092,6 +16122,7 @@ components:
customerSession:
couponCodes:
- XMAS-20-2021
+ cartItemAdditionalCostTotal: 15
updateCount: 3
created: 2020-02-07T08:15:22Z
identifiers:
@@ -16102,7 +16133,7 @@ components:
variantID: 2
- experimentID: 1
variantID: 2
- total: 119.99
+ total: 134.99
loyaltyCards:
- loyalty-card-1
additionalCosts:
@@ -17157,6 +17188,7 @@ components:
- giveaways
- strikethrough
- achievements
+ - advancedEvents
type: string
type: array
couponSettings:
@@ -17628,128 +17660,15 @@ components:
lastActivity: 2022-11-10T23:00:00Z
endTime: 2021-09-22T22:00:00Z
referralRedemptionCount: 3
- RuleEligibilityFailureDetails:
- description: The details about why the customer was not eligible for the rule
- in the current session.
- properties:
- failureCode:
- description: A code identifying why the customer was not eligible for the
- rule in the current session.
- enum:
- - CONDITION_NOT_MET
- - EFFECT_FAILED
- type: string
- couponID:
- description: |
- The ID of the coupon that was being evaluated when the rule failed.
- example: 4928
- format: int64
- type: integer
- couponValue:
- description: |
- The coupon code that was being evaluated when the rule failed.
- type: string
- referralID:
- description: |
- The ID of the referral that was being evaluated when the rule failed.
- format: int64
- type: integer
- referralValue:
- description: |
- The referral code that was being evaluated when the rule failed.
- type: string
- conditionIndex:
- description: The index of the condition that caused the rule to fail.
- format: int64
- type: integer
- effectIndex:
- description: The index of the effect that caused the rule to fail.
- format: int64
- type: integer
- details:
- description: Additional details about the failure.
- type: string
- required:
- - details
- - failureCode
- RuleEligibility:
- description: "The customer's eligibility for a rule in the current session,\
- \ based on whether all of the rule's conditions were met."
- example:
- details: ""
- passed: true
- couponCode: couponCode
- properties:
- passed:
- description: "Indicates whether the customer was eligible for the rule in\
- \ the current session, based on whether all of the rule's conditions were\
- \ met."
- example: true
- type: boolean
- couponCode:
- description: "The coupon code used to check a customer's eligibility for\
- \ the rule in the current session, if applicable."
- type: string
- details:
- allOf:
- - $ref: "#/components/schemas/RuleEligibilityFailureDetails"
- description: The details about why the customer was not eligible for the
- rule in the current session. Only returned when `passed` is `false`.
- required:
- - passed
- RuleMetadata:
- example:
- displayDescription: Get a 20% discount on all shoes during Thanksgiving! Offer
- valid till Dec 5 only.
- displayName: 20% off all shoes!
- eligibility:
- - details: ""
- passed: true
- couponCode: couponCode
- - details: ""
- passed: true
- couponCode: couponCode
- relatedData: https://example.com/discounts/20-off-shoes.png
- title: Give discount via coupon
- properties:
- title:
- description: A short description of the rule.
- example: Give discount via coupon
- type: string
- displayName:
- description: A customer-facing name for the rule.
- example: 20% off all shoes!
- type: string
- displayDescription:
- description: "A customer-facing description that explains the details of\
- \ the rule. \n\nFor example, this property can contain details about eligibility\
- \ requirements, reward timelines, or terms and conditions.\n"
- example: Get a 20% discount on all shoes during Thanksgiving! Offer valid
- till Dec 5 only.
- type: string
- relatedData:
- description: |
- Any additional data associated with the rule, such as an image URL, vendor name, or a content management system (CMS) ID.
- example: https://example.com/discounts/20-off-shoes.png
- type: string
- eligibility:
- items:
- $ref: "#/components/schemas/RuleEligibility"
- type: array
- required:
- - title
- IntegrationCampaign:
+ IntegrationCampaignBase:
allOf:
+ - $ref: "#/components/schemas/ApplicationEntity"
- properties:
id:
description: Unique ID of Campaign.
example: 4
format: int64
type: integer
- required:
- - id
- - $ref: "#/components/schemas/ApplicationEntity"
- - properties:
name:
description: The name of the campaign.
example: Summer promotions
@@ -17772,7 +17691,7 @@ components:
format: date-time
type: string
attributes:
- $ref: "#/components/schemas/IntegrationCampaign_allOf_attributes"
+ $ref: "#/components/schemas/IntegrationCampaignBase_allOf_attributes"
state:
default: enabled
description: |
@@ -17806,56 +17725,12 @@ components:
- achievements
type: string
type: array
- rules:
- description: A list of rules containing customer-facing details of the
- rewards defined in the campaign.
- items:
- $ref: "#/components/schemas/RuleMetadata"
- type: array
required:
- features
+ - id
- name
- state
- tags
- example:
- features:
- - coupons
- - referrals
- name: Summer promotions
- description: Campaign for all summer 2021 promotions
- startTime: 2021-07-20T22:00:00Z
- attributes: null
- rules:
- - displayDescription: Get a 20% discount on all shoes during Thanksgiving!
- Offer valid till Dec 5 only.
- displayName: 20% off all shoes!
- eligibility:
- - details: ""
- passed: true
- couponCode: couponCode
- - details: ""
- passed: true
- couponCode: couponCode
- relatedData: https://example.com/discounts/20-off-shoes.png
- title: Give discount via coupon
- - displayDescription: Get a 20% discount on all shoes during Thanksgiving!
- Offer valid till Dec 5 only.
- displayName: 20% off all shoes!
- eligibility:
- - details: ""
- passed: true
- couponCode: couponCode
- - details: ""
- passed: true
- couponCode: couponCode
- relatedData: https://example.com/discounts/20-off-shoes.png
- title: Give discount via coupon
- id: 4
- endTime: 2021-09-22T22:00:00Z
- state: enabled
- applicationId: 322
- tags:
- - summer
CampaignEligibilityFailureDetails:
description: The details about why the customer was not eligible for the campaign
in the current session.
@@ -17891,9 +17766,131 @@ components:
campaign in the current session. Only returned when `passed` is `false`.
required:
- passed
+ RuleMetadata:
+ example:
+ displayDescription: Get a 20% discount on all shoes during Thanksgiving! Offer
+ valid till Dec 5 only.
+ displayName: 20% off all shoes!
+ relatedData: https://example.com/discounts/20-off-shoes.png
+ title: Give discount via coupon
+ properties:
+ title:
+ description: A short description of the rule.
+ example: Give discount via coupon
+ type: string
+ displayName:
+ description: A customer-facing name for the rule.
+ example: 20% off all shoes!
+ type: string
+ displayDescription:
+ description: "A customer-facing description that explains the details of\
+ \ the rule. \n\nFor example, this property can contain details about eligibility\
+ \ requirements, reward timelines, or terms and conditions.\n"
+ example: Get a 20% discount on all shoes during Thanksgiving! Offer valid
+ till Dec 5 only.
+ type: string
+ relatedData:
+ description: |
+ Any additional data associated with the rule, such as an image URL, vendor name, or a content management system (CMS) ID.
+ example: https://example.com/discounts/20-off-shoes.png
+ type: string
+ required:
+ - title
+ RuleEligibilityFailureDetails:
+ description: The details about why the customer was not eligible for the rule
+ in the current session.
+ properties:
+ failureCode:
+ description: A code identifying why the customer was not eligible for the
+ rule in the current session.
+ enum:
+ - CONDITION_NOT_MET
+ - EFFECT_FAILED
+ type: string
+ couponID:
+ description: |
+ The ID of the coupon that was being evaluated when the rule failed.
+ example: 4928
+ format: int64
+ type: integer
+ couponValue:
+ description: |
+ The coupon code that was being evaluated when the rule failed.
+ type: string
+ referralID:
+ description: |
+ The ID of the referral that was being evaluated when the rule failed.
+ format: int64
+ type: integer
+ referralValue:
+ description: |
+ The referral code that was being evaluated when the rule failed.
+ type: string
+ conditionIndex:
+ description: The index of the condition that caused the rule to fail.
+ format: int64
+ type: integer
+ effectIndex:
+ description: The index of the effect that caused the rule to fail.
+ format: int64
+ type: integer
+ details:
+ description: Additional details about the failure.
+ type: string
+ required:
+ - details
+ - failureCode
+ RuleEligibility:
+ description: "The customer's eligibility for a rule in the current session,\
+ \ based on whether all of the rule's conditions were met."
+ example:
+ details: ""
+ passed: true
+ couponCode: couponCode
+ properties:
+ passed:
+ description: "Indicates whether the customer was eligible for the rule in\
+ \ the current session, based on whether all of the rule's conditions were\
+ \ met."
+ example: true
+ type: boolean
+ couponCode:
+ description: "The coupon code used to check a customer's eligibility for\
+ \ the rule in the current session, if applicable."
+ type: string
+ details:
+ allOf:
+ - $ref: "#/components/schemas/RuleEligibilityFailureDetails"
+ description: The details about why the customer was not eligible for the
+ rule in the current session. Only returned when `passed` is `false`.
+ required:
+ - passed
+ RuleMetadataEligibility:
+ allOf:
+ - $ref: "#/components/schemas/RuleMetadata"
+ - properties:
+ eligibility:
+ items:
+ $ref: "#/components/schemas/RuleEligibility"
+ type: array
+ required:
+ - eligibility
+ example:
+ displayDescription: Get a 20% discount on all shoes during Thanksgiving! Offer
+ valid till Dec 5 only.
+ displayName: 20% off all shoes!
+ eligibility:
+ - details: ""
+ passed: true
+ couponCode: couponCode
+ - details: ""
+ passed: true
+ couponCode: couponCode
+ relatedData: https://example.com/discounts/20-off-shoes.png
+ title: Give discount via coupon
CampaignEligibility:
allOf:
- - $ref: "#/components/schemas/IntegrationCampaign"
+ - $ref: "#/components/schemas/IntegrationCampaignBase"
- description: "A list of campaigns and their evaluation status for the current\
\ customer session.\n\n**Note**:\n\n- This response can **only** be included\
\ if the `dry` parameter in the query is set to `true`. \n- Do not include\
@@ -17906,8 +17903,15 @@ components:
items:
$ref: "#/components/schemas/CampaignEligibilityDetails"
type: array
+ rules:
+ description: A list of rules containing customer-facing details of the
+ rewards defined in the campaign.
+ items:
+ $ref: "#/components/schemas/RuleMetadataEligibility"
+ type: array
required:
- eligibility
+ - rules
example:
features:
- coupons
@@ -18538,8 +18542,8 @@ components:
- $ref: "#/components/schemas/IntegrationStoreEntity"
- properties:
type:
- description: A string representing the event. Must not be a reserved event
- name.
+ description: "The name of the event. Must be a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#custom-events),\
+ \ not a built-in event."
example: pageViewed
minLength: 1
title: Event Type
@@ -18549,6 +18553,14 @@ components:
required:
- attributes
- type
+ EventV3Entity:
+ properties:
+ integrationId:
+ description: |
+ The unique ID of the event. Only one event with this ID can be registered.
+ example: 175KJPS947296
+ minLength: 1
+ type: string
LedgerEntry:
allOf:
- $ref: "#/components/schemas/Entity"
@@ -18710,6 +18722,7 @@ components:
- $ref: "#/components/schemas/Entity"
- $ref: "#/components/schemas/ApplicationEntity"
- $ref: "#/components/schemas/IntegrationEvent"
+ - $ref: "#/components/schemas/EventV3Entity"
- properties:
sessionId:
description: The ID of the session that this event occurred in.
@@ -18773,56 +18786,38 @@ components:
loyaltyProgramId: 323414846
id: 6
referenceId: 6
+ integrationId: 175KJPS947296
attributes: "{myAttribute=myValue}"
id: 6
sessionId: 175KJPS947296
applicationId: 322
type: pageViewed
- IntegrationProfileEntityV3:
+ EventV3Connections:
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
+ connectedSessionId:
+ description: "The ID of the session to reference. The session must be in\
+ \ `closed` state. Otherwise, the API call will fail."
+ example: 175KJPS947296
+ minLength: 1
type: string
- required:
- - profileId
EventV3:
allOf:
- - $ref: "#/components/schemas/IntegrationProfileEntityV3"
- - $ref: "#/components/schemas/IntegrationStoreEntity"
- - $ref: "#/components/schemas/EvaluableCampaignIds"
+ - $ref: "#/components/schemas/EventV3Connections"
+ - $ref: "#/components/schemas/Entity"
+ - $ref: "#/components/schemas/ApplicationEntity"
+ - $ref: "#/components/schemas/IntegrationEvent"
+ - $ref: "#/components/schemas/EventV3Entity"
- properties:
- 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:
+ effects:
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:
- $ref: "#/components/schemas/EventV3_allOf_attributes"
- 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
+ An array of effects generated by the rules of the enabled campaigns of the Application.
+
+ You decide how to apply them in your system. See the list of [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects).
+ items:
+ type: object
+ type: array
required:
- - integrationId
- - type
+ - effects
AccountEntity:
properties:
accountId:
@@ -20423,6 +20418,7 @@ components:
loyaltyProgramId: 323414846
id: 6
referenceId: 6
+ integrationId: 175KJPS947296
attributes: "{myAttribute=myValue}"
id: 6
sessionId: 175KJPS947296
@@ -20927,6 +20923,43 @@ components:
items:
$ref: "#/components/schemas/IntegrationCustomerProfileAudienceRequestItem"
type: array
+ IntegrationCampaign:
+ allOf:
+ - $ref: "#/components/schemas/IntegrationCampaignBase"
+ - properties:
+ rules:
+ description: A list of rules containing customer-facing details of the
+ rewards defined in the campaign.
+ items:
+ $ref: "#/components/schemas/RuleMetadata"
+ type: array
+ required:
+ - rules
+ example:
+ features:
+ - coupons
+ - referrals
+ name: Summer promotions
+ description: Campaign for all summer 2021 promotions
+ startTime: 2021-07-20T22:00:00Z
+ attributes: null
+ rules:
+ - displayDescription: Get a 20% discount on all shoes during Thanksgiving!
+ Offer valid till Dec 5 only.
+ displayName: 20% off all shoes!
+ relatedData: https://example.com/discounts/20-off-shoes.png
+ title: Give discount via coupon
+ - displayDescription: Get a 20% discount on all shoes during Thanksgiving!
+ Offer valid till Dec 5 only.
+ displayName: 20% off all shoes!
+ relatedData: https://example.com/discounts/20-off-shoes.png
+ title: Give discount via coupon
+ id: 4
+ endTime: 2021-09-22T22:00:00Z
+ state: enabled
+ applicationId: 322
+ tags:
+ - summer
NewAttribute:
allOf:
- properties:
@@ -21206,8 +21239,8 @@ components:
EventAttributesEntity:
properties:
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.
+ description: "The name of the event. Must be a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#custom-events),\
+ \ not a built-in event."
example: pageViewed
minLength: 1
title: Event Type
@@ -24386,6 +24419,7 @@ components:
- giveaways
- strikethrough
- achievements
+ - advancedEvents
type: string
type: array
couponAttributes:
@@ -24845,6 +24879,7 @@ components:
- giveaways
- strikethrough
- achievements
+ - advancedEvents
type: string
type: array
couponSettings:
@@ -25894,11 +25929,13 @@ components:
description: setDiscountPerItem effect in strikethrough pricing payload.
properties:
name:
- description: effect name.
+ description: The effect name.
example: 1EuroOff
type: string
value: {}
excludedFromPriceHistory:
+ description: "When set to `true`, the applied discount is excluded from\
+ \ the item's price history."
type: boolean
required:
- name
@@ -25927,7 +25964,7 @@ components:
description: setDiscountPerItem member effect in strikethrough pricing payload.
properties:
name:
- description: effect name.
+ description: The effect name.
example: 10% off members only
type: string
value: {}
@@ -27482,6 +27519,7 @@ components:
- giveaways
- strikethrough
- achievements
+ - advancedEvents
type: string
type: array
couponSettings:
@@ -27786,6 +27824,7 @@ components:
- giveaways
- strikethrough
- achievements
+ - advancedEvents
type: string
type: array
couponSettings:
@@ -28064,14 +28103,33 @@ components:
items:
$ref: "#/components/schemas/ExperimentVariant"
type: array
+ goalType:
+ description: |
+ The goal of the experiment. Determines which single metric is used to decide the winning variant. When set to `other`, multiple metrics are used.
+ enum:
+ - other
+ - maximize_revenue
+ - optimize_discount_efficiency
+ - maximize_items_sold
+ type: string
+ goalDescription:
+ description: |
+ A description of the experiment goal. Provides context for the AI summary and helps it interpret the outcome of the experiment against the stated goal.
+ example: Offering free shipping will increase average order revenue more
+ than a 10% discount
+ type: string
deletedat:
description: |
The date and time the experiment was deleted.
format: date-time
type: string
required:
+ - goalType
- state
example:
+ goalType: other
+ goalDescription: Offering free shipping will increase average order revenue
+ more than a 10% discount
deletedat: 2000-01-23T04:56:07.000+00:00
created: 2020-06-10T09:05:27.993483Z
campaign:
@@ -28600,8 +28658,25 @@ components:
type: boolean
campaign:
$ref: "#/components/schemas/NewCampaign"
+ goalType:
+ default: other
+ description: |
+ The goal of the experiment. Determines which single metric is used to decide the winning variant. When set to `other`, multiple metrics are used.
+ enum:
+ - other
+ - maximize_revenue
+ - maximize_items_sold
+ - optimize_discount_efficiency
+ type: string
+ goalDescription:
+ description: |
+ A description of the experiment goal. Provides context for the AI summary and helps it interpret the outcome of the experiment against the stated goal.
+ example: Offering free shipping will increase average order revenue more
+ than a 10% discount
+ type: string
required:
- campaign
+ - goalType
- isVariantAssignmentExternal
ExperimentListResultsRequest:
properties:
@@ -28721,6 +28796,21 @@ components:
type: boolean
campaign:
$ref: "#/components/schemas/UpdateCampaign"
+ goalType:
+ description: |
+ The goal of the experiment. Determines which single metric is used to decide the winning variant. When set to `other`, multiple metrics are used. If omitted, the current value is preserved.
+ enum:
+ - other
+ - maximize_revenue
+ - maximize_items_sold
+ - optimize_discount_efficiency
+ type: string
+ goalDescription:
+ description: |
+ A description of the experiment goal. Provides context for the AI summary and helps it interpret the outcome of the experiment against the stated goal. If omitted, the current value is preserved.
+ example: Offering free shipping will increase average order revenue more
+ than a 10% discount
+ type: string
required:
- campaign
- isVariantAssignmentExternal
@@ -31768,6 +31858,7 @@ components:
- $ref: "#/components/schemas/ApplicationCustomerEntity"
- $ref: "#/components/schemas/ApplicationStoreEntity"
- $ref: "#/components/schemas/IntegrationStoreEntity"
+ - $ref: "#/components/schemas/EventV3Entity"
- properties:
sessionId:
description: The globally unique Talon.One ID of the session that contains
@@ -31775,8 +31866,8 @@ components:
format: int64
type: integer
type:
- description: A string representing the event. Must not be a reserved event
- name.
+ description: "The name of the event. Must be a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#custom-events),\
+ \ not a built-in event."
type: string
attributes:
$ref: "#/components/schemas/ApplicationEvent_allOf_attributes"
@@ -31835,6 +31926,7 @@ components:
storeIntegrationId: STORE-001
created: 2020-06-10T09:05:27.993483Z
profileId: 138
+ integrationId: 175KJPS947296
attributes: null
id: 6
sessionId: 6
@@ -32509,9 +32601,12 @@ components:
discountValue: 6.027456183070403
- campaignId: 0
discountValue: 6.027456183070403
- observedAt: 2020-11-10T23:00:00Z
+ observedAt: 2025-11-10T23:00:00Z
price: 99.99
- contextId: Summer Sale 2025
+ contextIds:
+ - SpringSale
+ - SummerSale2025
+ contextId: ""
id: 1
sku: NVR-GN-GV-UUP
target: "{}"
@@ -32527,13 +32622,23 @@ components:
type: string
observedAt:
description: The date and time when the price was observed.
- example: 2020-11-10T23:00:00Z
+ example: 2025-11-10T23:00:00Z
format: date-time
type: string
+ contextIds:
+ description: |
+ The identifiers of the relevant context at the time the price was observed. Includes the context IDs of any price adjustments and of the campaigns that influenced the final price.
+ example:
+ - SpringSale
+ - SummerSale2025
+ items:
+ type: string
+ type: array
contextId:
+ default: ""
description: |
- The context ID of the context active at the time of observation.
- example: Summer Sale 2025
+ This property is **deprecated**. Use `contextIds` instead. Defaults to an empty string.
+ example: ""
type: string
price:
description: Price of the item.
@@ -32544,7 +32649,7 @@ components:
target:
type: object
required:
- - contextId
+ - contextIds
- id
- metadata
- observedAt
@@ -32593,9 +32698,12 @@ components:
discountValue: 6.027456183070403
- campaignId: 0
discountValue: 6.027456183070403
- observedAt: 2020-11-10T23:00:00Z
+ observedAt: 2025-11-10T23:00:00Z
price: 99.99
- contextId: Summer Sale 2025
+ contextIds:
+ - SpringSale
+ - SummerSale2025
+ contextId: ""
id: 1
target: "{}"
properties:
@@ -32606,13 +32714,23 @@ components:
type: integer
observedAt:
description: The date and time when the price was observed.
- example: 2020-11-10T23:00:00Z
+ example: 2025-11-10T23:00:00Z
format: date-time
type: string
+ contextIds:
+ description: |
+ The identifiers of the relevant context at the time the price was observed. Includes the context IDs of any price adjustments and of the campaigns that influenced the final price.
+ example:
+ - SpringSale
+ - SummerSale2025
+ items:
+ type: string
+ type: array
contextId:
+ default: ""
description: |
- Identifier of the relevant context at the time the price was observed (e.g. summer sale).
- example: Summer Sale 2025
+ This property is **deprecated**. Use `contextIds` instead. Defaults to an empty string.
+ example: ""
type: string
price:
description: Price of the item.
@@ -32623,7 +32741,7 @@ components:
target:
type: object
required:
- - contextId
+ - contextIds
- id
- metadata
- observedAt
@@ -32639,9 +32757,12 @@ components:
discountValue: 6.027456183070403
- campaignId: 0
discountValue: 6.027456183070403
- observedAt: 2020-11-10T23:00:00Z
+ observedAt: 2025-11-10T23:00:00Z
price: 99.99
- contextId: Summer Sale 2025
+ contextIds:
+ - SpringSale
+ - SummerSale2025
+ contextId: ""
id: 1
target: "{}"
- metadata:
@@ -32651,9 +32772,12 @@ components:
discountValue: 6.027456183070403
- campaignId: 0
discountValue: 6.027456183070403
- observedAt: 2020-11-10T23:00:00Z
+ observedAt: 2025-11-10T23:00:00Z
price: 99.99
- contextId: Summer Sale 2025
+ contextIds:
+ - SpringSale
+ - SummerSale2025
+ contextId: ""
id: 1
target: "{}"
sku:
@@ -32697,6 +32821,8 @@ components:
- Session
- Store
- Achievements
+ - AdvancedEvent
+ - AdvancedEventConnectedSession
type: string
name:
description: |
@@ -33059,18 +33185,39 @@ components:
CatalogAction:
description: Definition of all the properties that are needed for a single catalog
sync action.
+ example:
+ payload: "{}"
+ type: ADD
+ properties:
+ type:
+ description: The type of sync action.
+ enum:
+ - ADD
+ - PATCH
+ - PATCH_MANY
+ - REMOVE
+ - REMOVE_MANY
+ - ADD_PRICE_ADJUSTMENT
+ example: ADD
+ type: string
+ payload:
+ type: object
required:
- payload
- type
- type: object
CatalogSyncRequest:
example:
actions:
- - null
- - null
- - null
- - null
- - null
+ - payload: "{}"
+ type: ADD
+ - payload: "{}"
+ type: ADD
+ - payload: "{}"
+ type: ADD
+ - payload: "{}"
+ type: ADD
+ - payload: "{}"
+ type: ADD
version: 244
properties:
actions:
@@ -34098,6 +34245,68 @@ components:
required:
- name
- value
+ FeatureFlagUpdate:
+ properties:
+ name:
+ description: The name of the feature flag.
+ example: canCreateCampaignFromTemplate
+ type: string
+ value:
+ description: The value of the feature flag.
+ example: "true"
+ type: string
+ required:
+ - name
+ - value
+ NewRiskNotification:
+ description: Data for creating a new risk notification.
+ properties:
+ entity:
+ description: The entity type to analyze within the given time frame.
+ enum:
+ - customer_profile
+ - customer_session
+ example: customer_profile
+ type: string
+ activity:
+ description: The activity metric to analyze within the given entity.
+ enum:
+ - loyalty_points_earned
+ - discounted_amount
+ - completed_orders
+ - coupon_attempts
+ example: loyalty_points_earned
+ type: string
+ timeFrame:
+ description: The rolling time window for risk evaluation.
+ enum:
+ - 1_day
+ - 1_week
+ - 1_month
+ example: 1_week
+ type: string
+ required:
+ - activity
+ - entity
+ - timeFrame
+ RiskNotification:
+ allOf:
+ - $ref: "#/components/schemas/Entity"
+ - $ref: "#/components/schemas/NewRiskNotification"
+ - properties:
+ active:
+ description: Indicates whether this risk notification is active.
+ example: true
+ type: boolean
+ modified:
+ description: Timestamp of the most recent update.
+ example: 2026-04-16T09:05:27.993483Z
+ format: date-time
+ type: string
+ required:
+ - active
+ - modified
+ description: A risk notification configuration rule.
Change:
allOf:
- $ref: "#/components/schemas/Entity"
@@ -34333,7 +34542,7 @@ components:
format: int64
type: integer
attributes:
- $ref: "#/components/schemas/IntegrationCampaign_allOf_attributes"
+ $ref: "#/components/schemas/IntegrationCampaignBase_allOf_attributes"
required:
- applicationCount
- billingEmail
@@ -35936,13 +36145,6 @@ components:
\ achievements."
example: false
type: boolean
- sandbox:
- description: Indicates if this achievement is a live or sandbox achievement.
- Achievements of a given type can only be connected to Applications of
- the same type.
- example: true
- title: Sandbox
- type: boolean
subscribedApplications:
description: A list containing the IDs of all applications that are subscribed
to A list containing the IDs of all Applications that are connected to
@@ -35955,11 +36157,6 @@ components:
type: integer
minItems: 0
type: array
- timezone:
- description: A string containing an IANA timezone descriptor.
- example: Europe/Berlin
- minLength: 1
- type: string
AchievementAdditionalPropertiesV2:
properties:
userId:
@@ -35993,7 +36190,20 @@ components:
- $ref: "#/components/schemas/Entity"
- $ref: "#/components/schemas/AchievementBaseV2"
- $ref: "#/components/schemas/AchievementAdditionalPropertiesV2"
- - required:
+ - properties:
+ sandbox:
+ description: Indicates if this achievement is a live or sandbox achievement.
+ Achievements of a given type can only be connected to Applications of
+ the same type.
+ example: true
+ title: Sandbox
+ type: boolean
+ timezone:
+ description: A string containing an IANA timezone descriptor.
+ example: Europe/Berlin
+ minLength: 1
+ type: string
+ required:
- activationPolicy
- description
- name
@@ -36003,21 +36213,39 @@ components:
- target
- timezone
- title
- type: object
CreateAchievementV2:
allOf:
- $ref: "#/components/schemas/AchievementBaseV2"
- - required:
+ - properties:
+ sandbox:
+ description: Indicates if this achievement is a live or sandbox achievement.
+ Achievements of a given type can only be connected to Applications of
+ the same type.
+ example: true
+ title: Sandbox
+ type: boolean
+ timezone:
+ description: A string containing an IANA timezone descriptor.
+ example: Europe/Berlin
+ minLength: 1
+ type: string
+ required:
- description
- name
- sandbox
- target
- timezone
- title
- type: object
UpdateAchievementV2:
allOf:
- $ref: "#/components/schemas/AchievementBaseV2"
+ - required:
+ - description
+ - name
+ - subscribedApplications
+ - target
+ - title
+ type: object
AchievementReference:
properties:
achievementId:
@@ -36761,10 +36989,16 @@ components:
LoyaltyProgramID:
format: int64
type: integer
+ LoyaltyProgramName:
+ description: The name of the loyalty program.
+ type: string
SubledgerID:
type: string
SourceOfEvent:
type: string
+ CurrentTier:
+ description: The name of the customer's current tier.
+ type: string
EmployeeName:
type: string
UserID:
@@ -36783,7 +37017,9 @@ components:
type: string
required:
- CurrentPoints
+ - CurrentTier
- LoyaltyProgramID
+ - LoyaltyProgramName
- ProfileIntegrationID
- PublishedAt
- SourceOfEvent
@@ -36796,11 +37032,16 @@ components:
LoyaltyProgramID:
format: int64
type: integer
+ LoyaltyProgramName:
+ description: The name of the loyalty program.
+ type: string
SubledgerID:
type: string
SourceOfEvent:
type: string
CurrentTier:
+ description: "The name of the customer's current tier, or null if the\
+ \ customer was downgraded below all tiers."
type: string
CurrentPoints:
format: float
@@ -36820,6 +37061,7 @@ components:
required:
- CurrentPoints
- LoyaltyProgramID
+ - LoyaltyProgramName
- ProfileIntegrationID
- PublishedAt
- SourceOfEvent
@@ -36832,11 +37074,15 @@ components:
LoyaltyProgramID:
format: int64
type: integer
+ LoyaltyProgramName:
+ description: The name of the loyalty program.
+ type: string
SubledgerID:
type: string
SourceOfEvent:
type: string
CurrentTier:
+ description: The name of the customer's current tier.
type: string
CurrentPoints:
format: float
@@ -36860,7 +37106,9 @@ components:
type: string
required:
- CurrentPoints
+ - CurrentTier
- LoyaltyProgramID
+ - LoyaltyProgramName
- ProfileIntegrationID
- PublishedAt
- SourceOfEvent
@@ -36977,6 +37225,9 @@ components:
ProcessedAt:
format: date-time
type: string
+ DeliveredAt:
+ format: date-time
+ type: string
ProcessAfter:
format: date-time
type: string
@@ -36991,6 +37242,27 @@ components:
- ProcessAfter
- PublishedAt
- Retry
+ IntegrationHubEventStatusUpdate:
+ properties:
+ EventId:
+ description: The ID of the integration hub event.
+ example: 123
+ format: int64
+ type: integer
+ Status:
+ description: The delivery outcome for the event.
+ enum:
+ - delivered
+ - failed
+ type: string
+ x-generate-enum-go: true
+ required:
+ - EventId
+ - Status
+ IntegrationHubEventStatusUpdates:
+ items:
+ $ref: "#/components/schemas/IntegrationHubEventStatusUpdate"
+ type: array
IntegrationHubConfig:
description: Config used for accessing integrations in IntegrationHub
properties:
@@ -37021,6 +37293,182 @@ components:
required:
- applicationId
- applicationName
+ SupportRequestInput:
+ properties:
+ applicationId:
+ description: Identifier of the Application connected to the loyalty program
+ or the campaign. It is displayed in your Talon.One deployment URL.
+ example: 322
+ format: int64
+ type: integer
+ campaignId:
+ description: Identifier of the campaign where the coupon or gift card is
+ created.
+ example: 100
+ format: int64
+ type: integer
+ loyaltyProgramId:
+ description: "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."
+ example: 8
+ format: int64
+ type: integer
+ subledgerId:
+ description: "Identifier of the subledger the points are added to or deducted\
+ \ from. If there is no existing subledger with this ID, the subledger\
+ \ is created automatically."
+ example: 123
+ format: int64
+ type: integer
+ customerProfileId:
+ description: Integration ID of the customer profile linked to the support
+ request.
+ example: URNGV8294NV
+ type: string
+ requestType:
+ description: "Type of reward requested, including gift cards, personal coupons,\
+ \ and loyalty point additions or deductions."
+ enum:
+ - gift_card
+ - personal_coupon
+ - loyalty_points_added
+ - loyalty_points_deducted
+ example: personal_coupon
+ type: string
+ requestValue:
+ description: Requested monetary balance of the gift card or the number of
+ loyalty points to be added or deducted.
+ example: 20.5
+ exclusiveMinimum: true
+ format: float
+ minimum: 0
+ type: number
+ requestNote:
+ description: Notes attached to the support request.
+ example: Support request for coupon failure.
+ type: string
+ required:
+ - applicationId
+ - customerProfileId
+ - requestNote
+ - requestType
+ SupportRequest:
+ description: Summary of a support request created by a customer support agent.
+ properties:
+ id:
+ description: Identifier of the support request.
+ example: 1
+ format: int64
+ type: integer
+ applicationId:
+ description: Identifier of the Application connected to the loyalty program
+ or the campaign. It is displayed in your Talon.One deployment URL.
+ example: 322
+ format: int64
+ type: integer
+ campaignId:
+ description: Identifier of the campaign where the coupon or gift card is
+ created.
+ example: 100
+ format: int64
+ type: integer
+ loyaltyProgramId:
+ description: Identifier of the loyalty program where the points are added
+ or deducted.
+ example: 8
+ format: int64
+ type: integer
+ subledgerId:
+ description: "Identifier of the subledger the points are added to or deducted\
+ \ from. If there is no existing subledger with this ID, the subledger\
+ \ is created automatically."
+ example: 123
+ format: int64
+ type: integer
+ createdByUser:
+ description: Email address of the customer support agent who created the
+ support request.
+ example: support.agent.name@company.com
+ type: string
+ createdAt:
+ description: Timestamp when the request was made.
+ example: 2025-07-20T22:00:00Z
+ format: date-time
+ type: string
+ customerProfileId:
+ description: Integration ID of the customer profile linked to the support
+ request.
+ example: URNGV8294NV
+ type: string
+ requestType:
+ description: "Type of reward requested, including gift cards, personal coupons,\
+ \ and loyalty point additions or deductions."
+ enum:
+ - gift_card
+ - personal_coupon
+ - loyalty_points_added
+ - loyalty_points_deducted
+ example: personal_coupon
+ type: string
+ requestValue:
+ description: Requested monetary balance of the gift card or the number of
+ loyalty points to be added or deducted.
+ example: 20.5
+ exclusiveMinimum: true
+ format: float
+ minimum: 0
+ type: number
+ requestNote:
+ description: Notes attached to the support request.
+ example: Support request for coupon failure.
+ type: string
+ requestStatus:
+ description: Current status of the support request.
+ enum:
+ - pending_approval
+ - approved
+ - rejected
+ example: approved
+ type: string
+ processedAt:
+ description: Timestamp when the request was approved or rejected.
+ example: 2025-07-20T22:10:00Z
+ format: date-time
+ type: string
+ processingNote:
+ description: Notes attached by the admin when rejecting or approving a request.
+ example: Rejected as the customer was awarded points already.
+ type: string
+ processedByUser:
+ description: Email address of the admin who approved or rejected the support
+ request.
+ example: admin.name@company.com
+ type: string
+ required:
+ - applicationId
+ - createdAt
+ - createdByUser
+ - customerProfileId
+ - id
+ - requestNote
+ - requestStatus
+ - requestType
+ UpdateSupportRequest:
+ properties:
+ requestStatus:
+ description: Current status of the support request.
+ enum:
+ - approved
+ - rejected
+ example: approved
+ type: string
+ processingNote:
+ description: Notes attached by the admin when rejecting or approving a request.
+ example: Rejected as the customer was awarded points already.
+ type: string
+ required:
+ - requestStatus
NewReward:
properties:
name:
@@ -37054,32 +37502,81 @@ components:
example: true
title: Sandbox
type: boolean
- rule:
- description: Rule to apply.
- items:
- $ref: "#/components/schemas/Rule"
- type: array
- bindings:
- description: A list of named variables created before the reward's rules
- are evaluated. Each binding pairs a name with a talang expression. The
- expression is evaluated once and its result is available by name in any
- rule condition or effect. Bindings must be defined outside of individual
- rules.
- example: []
- items:
- $ref: "#/components/schemas/Binding"
- type: array
required:
- apiName
- applicationIds
- name
- sandbox
+ RewardPointsRequired:
+ description: The loyalty points required to activate a reward.
+ properties:
+ id:
+ description: |
+ The ID of the `pointsRequired` entry. When updating a reward,
+ include this property to update an existing entry. Omit it to create a new one.
+ example: 1
+ format: int64
+ type: integer
+ amount:
+ description: The number of loyalty points required to activate the reward.
+ example: 500
+ minimum: 0
+ type: number
+ loyaltyProgramId:
+ description: The ID of the associated loyalty program.
+ example: 10
+ format: int64
+ type: integer
+ subledgerId:
+ description: |
+ The ID of the subledger within the loyalty program from which points are deducted when activating the reward.
+
+ To specify the main ledger, provide an empty string ("").
+ example: mysubledger
+ type: string
+ required:
+ - amount
+ - loyaltyProgramId
+ - subledgerId
Reward:
allOf:
- $ref: "#/components/schemas/Entity"
- $ref: "#/components/schemas/AccountEntity"
- $ref: "#/components/schemas/NewReward"
- properties:
+ visibilityConditions:
+ allOf:
+ - $ref: "#/components/schemas/Rule"
+ description: |
+ An optional rule that manages who can see this reward. If not specified, the reward
+ is visible to all customers.
+
+ **Note:** Only the `condition` field is evaluated within this rule. The `effects` field must be an empty array,
+ and `bindings` are not supported.
+ rule:
+ allOf:
+ - $ref: "#/components/schemas/Rule"
+ description: |
+ Rule to apply.
+
+ **Note**: The `bindings` field inside the rule must not be used in this
+ endpoint. All bindings should be defined at the reward level via the
+ top-level `bindings` field.
+ bindings:
+ description: A list of named variables created before the reward's rules
+ are evaluated. Each binding pairs a name with a talang expression.
+ The expression is evaluated once and its result is available by name
+ in any rule condition or effect. Bindings must be defined outside of
+ individual rules.
+ example: []
+ items:
+ $ref: "#/components/schemas/Binding"
+ type: array
+ modified:
+ description: The timestamp when the reward was last updated in RFC3339
+ format.
+ format: date-time
+ type: string
status:
description: The status of the reward.
enum:
@@ -37087,6 +37584,11 @@ components:
- inactive
example: active
type: string
+ pointsRequired:
+ description: The loyalty points required to activate a reward.
+ items:
+ $ref: "#/components/schemas/RewardPointsRequired"
+ type: array
required:
- status
UpdateReward:
@@ -37107,16 +37609,24 @@ components:
- inactive
example: active
type: string
+ visibilityConditions:
+ allOf:
+ - $ref: "#/components/schemas/Rule"
+ description: |
+ An optional rule that manages who can see this reward. If not specified, the reward
+ is visible to all customers.
+
+ **Note:** Only the `condition` field is evaluated within this rule. The `effects` field must be an empty array,
+ and `bindings` are not supported.
rule:
+ allOf:
+ - $ref: "#/components/schemas/Rule"
description: |
Rule to apply.
**Note**: The `bindings` field inside the rule must not be used in this
endpoint. All bindings should be defined at the reward level via the
top-level `bindings` field.
- items:
- $ref: "#/components/schemas/Rule"
- type: array
bindings:
description: A list of named variables created before the reward's rules
are evaluated. Each binding pairs a name with a talang expression. The
@@ -37127,12 +37637,53 @@ components:
items:
$ref: "#/components/schemas/Binding"
type: array
+ pointsRequired:
+ description: |
+ The loyalty points required to activate the reward. Each object defines the specific
+ loyalty program and subledger from which points are deducted when activating the reward.
+
+ **Note:**
+ - Objects with an `id` are updated.
+ - Objects without an `id` are created.
+ - Existing objects omitted from the payload are deleted.
+ items:
+ $ref: "#/components/schemas/RewardPointsRequired"
+ type: array
required:
- name
- status
+ 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
+ NewEventV3Entity:
+ properties:
+ integrationId:
+ description: |
+ The unique ID of the event. Only one event with this ID can be registered.
+ example: 175KJPS947296
+ minLength: 1
+ type: string
+ required:
+ - integrationId
+ EventV3RequestEntity:
+ allOf:
+ - $ref: "#/components/schemas/IntegrationProfileEntityV3"
+ - $ref: "#/components/schemas/IntegrationStoreEntity"
+ - $ref: "#/components/schemas/EvaluableCampaignIds"
+ - $ref: "#/components/schemas/EventAttributesEntity"
+ - $ref: "#/components/schemas/NewEventV3Entity"
+ - $ref: "#/components/schemas/EventV3Connections"
IntegrationEventV3Request:
allOf:
- - $ref: "#/components/schemas/EventV3"
+ - $ref: "#/components/schemas/EventV3RequestEntity"
- properties:
loyaltyCards:
description: Identifiers of the loyalty cards used during this event.
@@ -38843,25 +39394,11 @@ components:
- displayDescription: Get a 20% discount on all shoes during Thanksgiving!
Offer valid till Dec 5 only.
displayName: 20% off all shoes!
- eligibility:
- - details: ""
- passed: true
- couponCode: couponCode
- - details: ""
- passed: true
- couponCode: couponCode
relatedData: https://example.com/discounts/20-off-shoes.png
title: Give discount via coupon
- displayDescription: Get a 20% discount on all shoes during Thanksgiving!
Offer valid till Dec 5 only.
displayName: 20% off all shoes!
- eligibility:
- - details: ""
- passed: true
- couponCode: couponCode
- - details: ""
- passed: true
- couponCode: couponCode
relatedData: https://example.com/discounts/20-off-shoes.png
title: Give discount via coupon
id: 4
@@ -38881,25 +39418,11 @@ components:
- displayDescription: Get a 20% discount on all shoes during Thanksgiving!
Offer valid till Dec 5 only.
displayName: 20% off all shoes!
- eligibility:
- - details: ""
- passed: true
- couponCode: couponCode
- - details: ""
- passed: true
- couponCode: couponCode
relatedData: https://example.com/discounts/20-off-shoes.png
title: Give discount via coupon
- displayDescription: Get a 20% discount on all shoes during Thanksgiving!
Offer valid till Dec 5 only.
displayName: 20% off all shoes!
- eligibility:
- - details: ""
- passed: true
- couponCode: couponCode
- - details: ""
- passed: true
- couponCode: couponCode
relatedData: https://example.com/discounts/20-off-shoes.png
title: Give discount via coupon
id: 4
@@ -40913,7 +41436,10 @@ components:
listExperiments_200_response:
example:
data:
- - deletedat: 2000-01-23T04:56:07.000+00:00
+ - goalType: other
+ goalDescription: Offering free shipping will increase average order revenue
+ more than a 10% discount
+ deletedat: 2000-01-23T04:56:07.000+00:00
created: 2020-06-10T09:05:27.993483Z
campaign:
type: advanced
@@ -41433,7 +41959,10 @@ components:
applicationId: 322
isVariantAssignmentExternal: true
activated: 2000-01-23T04:56:07.000+00:00
- - deletedat: 2000-01-23T04:56:07.000+00:00
+ - goalType: other
+ goalDescription: Offering free shipping will increase average order revenue
+ more than a 10% discount
+ deletedat: 2000-01-23T04:56:07.000+00:00
created: 2020-06-10T09:05:27.993483Z
campaign:
type: advanced
@@ -42183,8 +42712,8 @@ components:
importLoyaltyPoints_request:
properties:
upFile:
- description: The file containing the data that is being imported.
- format: csv
+ description: The CSV file containing the data that is being imported.
+ format: binary
type: string
getLoyaltyProgramTransactions_200_response:
example:
@@ -43027,6 +43556,7 @@ components:
storeIntegrationId: STORE-001
created: 2020-06-10T09:05:27.993483Z
profileId: 138
+ integrationId: 175KJPS947296
attributes: null
id: 6
sessionId: 6
@@ -43100,6 +43630,7 @@ components:
storeIntegrationId: STORE-001
created: 2020-06-10T09:05:27.993483Z
profileId: 138
+ integrationId: 175KJPS947296
attributes: null
id: 6
sessionId: 6
@@ -43980,7 +44511,7 @@ components:
items: {}
minItems: 1
type: array
- IntegrationCampaign_allOf_attributes:
+ IntegrationCampaignBase_allOf_attributes:
description: Arbitrary properties associated with this campaign.
type: object
Attributes_of_coupon:
@@ -43998,12 +44529,6 @@ components:
description: Arbitrary additional JSON data associated with the event.
example: "{myAttribute=myValue}"
type: object
- EventV3_allOf_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}"
- type: object
NewCustomerSession_allOf_attributes:
description: |
A key-value map of the sessions attributes. The potentially valid attributes are configured in your accounts developer settings.
@@ -44048,6 +44573,19 @@ components:
type: boolean
campaign:
$ref: "#/components/schemas/ExperimentCampaignCopy"
+ goalType:
+ description: |
+ The goal of the experiment. Determines which single metric is used to decide the winning variant. When set to `other`, multiple metrics are used. If omitted, the value from the source experiment is used.
+ enum:
+ - other
+ - maximize_revenue
+ - maximize_items_sold
+ - optimize_discount_efficiency
+ type: string
+ goalDescription:
+ description: |
+ A description of the experiment goal. Provides context for the AI summary and helps it interpret the outcome of the experiment against the stated goal. If omitted, the value from the source experiment is used.
+ type: string
required:
- campaign
- isVariantAssignmentExternal
diff --git a/build.gradle b/build.gradle
index 8f33dc4b..206f2283 100644
--- a/build.gradle
+++ b/build.gradle
@@ -4,7 +4,7 @@ apply plugin: 'java'
apply plugin: 'com.diffplug.spotless'
group = 'one.talon'
-version = '26.09.0'
+version = '26.11.0'
buildscript {
repositories {
diff --git a/build.sbt b/build.sbt
index dadf7735..812f6972 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 := "26.09.0",
+ version := "26.11.0",
scalaVersion := "2.11.12",
scalacOptions ++= Seq("-feature"),
compile / javacOptions ++= Seq("-Xlint:deprecation"),
diff --git a/docs/AchievementBaseV2.md b/docs/AchievementBaseV2.md
index 7b2912f0..8622cf67 100644
--- a/docs/AchievementBaseV2.md
+++ b/docs/AchievementBaseV2.md
@@ -17,9 +17,7 @@
|**fixedStartDate** | **OffsetDateTime** | The achievement's start date when `activationPolicy` is set to `fixed_schedule`. **Note:** It must be an RFC3339 timestamp string. | [optional] |
|**endDate** | **OffsetDateTime** | The achievement's end date. If defined, customers cannot participate in the achievement after this date. **Note:** It must be an RFC3339 timestamp string. | [optional] |
|**allowRollbackAfterCompletion** | **Boolean** | When `true`, customer progress can be rolled back in completed achievements. | [optional] |
-|**sandbox** | **Boolean** | Indicates if this achievement is a live or sandbox achievement. Achievements of a given type can only be connected to Applications of the same type. | [optional] |
|**subscribedApplications** | **List<Long>** | A list containing the IDs of all applications that are subscribed to A list containing the IDs of all Applications that are connected to this achievement. | [optional] |
-|**timezone** | **String** | A string containing an IANA timezone descriptor. | [optional] |
diff --git a/docs/AchievementV2.md b/docs/AchievementV2.md
index 881105fc..e96857a1 100644
--- a/docs/AchievementV2.md
+++ b/docs/AchievementV2.md
@@ -19,13 +19,13 @@
|**fixedStartDate** | **OffsetDateTime** | The achievement's start date when `activationPolicy` is set to `fixed_schedule`. **Note:** It must be an RFC3339 timestamp string. | [optional] |
|**endDate** | **OffsetDateTime** | The achievement's end date. If defined, customers cannot participate in the achievement after this date. **Note:** It must be an RFC3339 timestamp string. | [optional] |
|**allowRollbackAfterCompletion** | **Boolean** | When `true`, customer progress can be rolled back in completed achievements. | [optional] |
-|**sandbox** | **Boolean** | Indicates if this achievement is a live or sandbox achievement. Achievements of a given type can only be connected to Applications of the same type. | |
|**subscribedApplications** | **List<Long>** | A list containing the IDs of all applications that are subscribed to A list containing the IDs of all Applications that are connected to this achievement. | |
-|**timezone** | **String** | A string containing an IANA timezone descriptor. | |
|**userId** | **Long** | The ID of the user that created this achievement. | |
|**createdBy** | **String** | Name of the user that created the achievement. **Note**: This is not available if the user has been deleted. | [optional] |
|**hasProgress** | **Boolean** | Indicates if a customer has made progress in the achievement. | [optional] |
|**status** | [**StatusEnum**](#StatusEnum) | The status of the achievement. | [optional] |
+|**sandbox** | **Boolean** | Indicates if this achievement is a live or sandbox achievement. Achievements of a given type can only be connected to Applications of the same type. | |
+|**timezone** | **String** | A string containing an IANA timezone descriptor. | |
diff --git a/docs/ApplicationEvent.md b/docs/ApplicationEvent.md
index f7e31106..19b05280 100644
--- a/docs/ApplicationEvent.md
+++ b/docs/ApplicationEvent.md
@@ -13,8 +13,9 @@
|**profileId** | **Long** | The globally unique Talon.One ID of the customer that created this entity. | [optional] |
|**storeId** | **Long** | The ID of the store. | [optional] |
|**storeIntegrationId** | **String** | The integration ID of the store. You choose this ID when you create a store. | [optional] |
+|**integrationId** | **String** | The unique ID of the event. Only one event with this ID can be registered. | [optional] |
|**sessionId** | **Long** | The globally unique Talon.One ID of the session that contains this event. | [optional] |
-|**type** | **String** | A string representing the event. Must not be a reserved event name. | |
+|**type** | **String** | The name of the event. Must be a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#custom-events), not a built-in event. | |
|**attributes** | **Object** | Additional JSON serialized data associated with the event. | |
|**effects** | [**List<Effect>**](Effect.md) | An array containing the effects that were applied as a result of this event. | |
|**ruleFailureReasons** | [**List<RuleFailureReason>**](RuleFailureReason.md) | An array containing the rule failure reasons which happened during this event. | [optional] |
diff --git a/docs/BaseCampaign.md b/docs/BaseCampaign.md
index 52108aaf..c243313e 100644
--- a/docs/BaseCampaign.md
+++ b/docs/BaseCampaign.md
@@ -47,6 +47,7 @@
| GIVEAWAYS | "giveaways" |
| STRIKETHROUGH | "strikethrough" |
| ACHIEVEMENTS | "achievements" |
+| ADVANCED_EVENTS | "advancedEvents" |
diff --git a/docs/BestPriorPrice.md b/docs/BestPriorPrice.md
index 5b9b48a5..06501d19 100644
--- a/docs/BestPriorPrice.md
+++ b/docs/BestPriorPrice.md
@@ -10,7 +10,8 @@
|**id** | **Long** | The ID of the historical price. | |
|**sku** | **String** | sku | |
|**observedAt** | **OffsetDateTime** | The date and time when the price was observed. | |
-|**contextId** | **String** | The context ID of the context active at the time of observation. | |
+|**contextIds** | **List<String>** | The identifiers of the relevant context at the time the price was observed. Includes the context IDs of any price adjustments and of the campaigns that influenced the final price. | |
+|**contextId** | **String** | This property is **deprecated**. Use `contextIds` instead. Defaults to an empty string. | [optional] |
|**price** | **BigDecimal** | Price of the item. | |
|**metadata** | [**BestPriorPriceMetadata**](BestPriorPriceMetadata.md) | | |
|**target** | **Object** | | |
diff --git a/docs/Campaign.md b/docs/Campaign.md
index f4221ddf..bfaa25a6 100644
--- a/docs/Campaign.md
+++ b/docs/Campaign.md
@@ -83,6 +83,7 @@
| GIVEAWAYS | "giveaways" |
| STRIKETHROUGH | "strikethrough" |
| ACHIEVEMENTS | "achievements" |
+| ADVANCED_EVENTS | "advancedEvents" |
diff --git a/docs/CampaignEligibility.md b/docs/CampaignEligibility.md
index 1a377ae5..d6d2e802 100644
--- a/docs/CampaignEligibility.md
+++ b/docs/CampaignEligibility.md
@@ -7,8 +7,8 @@
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-|**id** | **Long** | Unique ID of Campaign. | |
|**applicationId** | **Long** | The ID of the Application that owns this entity. | |
+|**id** | **Long** | Unique ID of Campaign. | |
|**name** | **String** | The name of the campaign. | |
|**description** | **String** | A detailed description of the campaign. | [optional] |
|**startTime** | **OffsetDateTime** | Timestamp when the campaign will become active. | [optional] |
@@ -17,8 +17,8 @@
|**state** | [**StateEnum**](#StateEnum) | The state of the campaign. | |
|**tags** | **List<String>** | A list of tags for the campaign. | |
|**features** | [**List<FeaturesEnum>**](#List<FeaturesEnum>) | The features enabled in this campaign. | |
-|**rules** | [**List<RuleMetadata>**](RuleMetadata.md) | A list of rules containing customer-facing details of the rewards defined in the campaign. | [optional] |
|**eligibility** | [**List<CampaignEligibilityDetails>**](CampaignEligibilityDetails.md) | The customer's eligibility for each campaign in the current customer session. | |
+|**rules** | [**List<RuleMetadataEligibility>**](RuleMetadataEligibility.md) | A list of rules containing customer-facing details of the rewards defined in the campaign. | |
diff --git a/docs/CampaignTemplate.md b/docs/CampaignTemplate.md
index 6ea92a38..ddfc843a 100644
--- a/docs/CampaignTemplate.md
+++ b/docs/CampaignTemplate.md
@@ -58,6 +58,7 @@
| GIVEAWAYS | "giveaways" |
| STRIKETHROUGH | "strikethrough" |
| ACHIEVEMENTS | "achievements" |
+| ADVANCED_EVENTS | "advancedEvents" |
diff --git a/docs/CatalogAction.md b/docs/CatalogAction.md
new file mode 100644
index 00000000..659a5508
--- /dev/null
+++ b/docs/CatalogAction.md
@@ -0,0 +1,28 @@
+
+
+# CatalogAction
+
+Definition of all the properties that are needed for a single catalog sync action.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**type** | [**TypeEnum**](#TypeEnum) | The type of sync action. | |
+|**payload** | **Object** | | |
+
+
+
+## Enum: TypeEnum
+
+| Name | Value |
+|---- | -----|
+| ADD | "ADD" |
+| PATCH | "PATCH" |
+| PATCH_MANY | "PATCH_MANY" |
+| REMOVE | "REMOVE" |
+| REMOVE_MANY | "REMOVE_MANY" |
+| ADD_PRICE_ADJUSTMENT | "ADD_PRICE_ADJUSTMENT" |
+
+
+
diff --git a/docs/CatalogSyncRequest.md b/docs/CatalogSyncRequest.md
index 705eb4ee..2db55f9b 100644
--- a/docs/CatalogSyncRequest.md
+++ b/docs/CatalogSyncRequest.md
@@ -7,7 +7,7 @@
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-|**actions** | **List<Object>** | | |
+|**actions** | [**List<CatalogAction>**](CatalogAction.md) | | |
|**version** | **Long** | The version number of the catalog to apply the actions on. | [optional] |
diff --git a/docs/CreateAchievementV2.md b/docs/CreateAchievementV2.md
index 79c8da48..dc87709d 100644
--- a/docs/CreateAchievementV2.md
+++ b/docs/CreateAchievementV2.md
@@ -17,8 +17,8 @@
|**fixedStartDate** | **OffsetDateTime** | The achievement's start date when `activationPolicy` is set to `fixed_schedule`. **Note:** It must be an RFC3339 timestamp string. | [optional] |
|**endDate** | **OffsetDateTime** | The achievement's end date. If defined, customers cannot participate in the achievement after this date. **Note:** It must be an RFC3339 timestamp string. | [optional] |
|**allowRollbackAfterCompletion** | **Boolean** | When `true`, customer progress can be rolled back in completed achievements. | [optional] |
-|**sandbox** | **Boolean** | Indicates if this achievement is a live or sandbox achievement. Achievements of a given type can only be connected to Applications of the same type. | |
|**subscribedApplications** | **List<Long>** | A list containing the IDs of all applications that are subscribed to A list containing the IDs of all Applications that are connected to this achievement. | [optional] |
+|**sandbox** | **Boolean** | Indicates if this achievement is a live or sandbox achievement. Achievements of a given type can only be connected to Applications of the same type. | |
|**timezone** | **String** | A string containing an IANA timezone descriptor. | |
diff --git a/docs/CustomerSessionV2.md b/docs/CustomerSessionV2.md
index 2c09b6c8..6b158bc8 100644
--- a/docs/CustomerSessionV2.md
+++ b/docs/CustomerSessionV2.md
@@ -28,6 +28,7 @@
|**total** | **BigDecimal** | The total value of cart items and additional costs in the session, before any discounts are applied. | |
|**cartItemTotal** | **BigDecimal** | The total value of cart items, before any discounts are applied. | |
|**additionalCostTotal** | **BigDecimal** | The total value of additional costs, before any discounts are applied. | |
+|**cartItemAdditionalCostTotal** | **BigDecimal** | The total value of additional costs applied to individual items, before any discounts are applied. | [readonly] |
|**updated** | **OffsetDateTime** | Timestamp of the most recent event received on this session. | |
diff --git a/docs/Event.md b/docs/Event.md
index fc0ff234..465ecd8d 100644
--- a/docs/Event.md
+++ b/docs/Event.md
@@ -12,8 +12,9 @@
|**applicationId** | **Long** | The ID of the Application that owns this entity. | |
|**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`. | [optional] |
|**storeIntegrationId** | **String** | The integration ID of the store. You choose this ID when you create a store. | [optional] |
-|**type** | **String** | A string representing the event. Must not be a reserved event name. | |
+|**type** | **String** | The name of the event. Must be a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#custom-events), not a built-in event. | |
|**attributes** | **Object** | Arbitrary additional JSON data associated with the event. | |
+|**integrationId** | **String** | The unique ID of the event. Only one event with this ID can be registered. | [optional] |
|**sessionId** | **String** | The ID of the session that this event occurred in. | [optional] |
|**effects** | **List<Object>** | An array of effects generated by the rules of the enabled campaigns of the Application. You decide how to apply them in your system. See the list of [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects). | |
|**ledgerEntries** | [**List<LedgerEntry>**](LedgerEntry.md) | Ledger entries for the event. | [optional] |
diff --git a/docs/EventAttributesEntity.md b/docs/EventAttributesEntity.md
index 46ebfa63..732f4f81 100644
--- a/docs/EventAttributesEntity.md
+++ b/docs/EventAttributesEntity.md
@@ -7,7 +7,7 @@
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-|**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. | |
+|**type** | **String** | The name of the event. Must be a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#custom-events), not a built-in event. | |
|**attributes** | **Object** | 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] |
diff --git a/docs/EventV2.md b/docs/EventV2.md
index 95537c3d..3a0bf6d8 100644
--- a/docs/EventV2.md
+++ b/docs/EventV2.md
@@ -10,7 +10,7 @@
|**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`. | [optional] |
|**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] |
-|**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. | |
+|**type** | **String** | The name of the event. Must be a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#custom-events), not a built-in event. | |
|**attributes** | **Object** | 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] |
diff --git a/docs/EventV3.md b/docs/EventV3.md
index bd37e40a..852b1c43 100644
--- a/docs/EventV3.md
+++ b/docs/EventV3.md
@@ -7,14 +7,16 @@
| 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`. | |
+|**connectedSessionId** | **String** | The ID of the session to reference. The session must be in `closed` state. Otherwise, the API call will fail. | [optional] |
+|**id** | **Long** | The internal ID of this entity. | |
+|**created** | **OffsetDateTime** | The time this entity was created. | |
+|**applicationId** | **Long** | The ID of the Application that owns this entity. | |
+|**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`. | [optional] |
|**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** | 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] |
+|**type** | **String** | The name of the event. Must be a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#custom-events), not a built-in event. | |
+|**attributes** | **Object** | Arbitrary additional JSON data associated with the event. | |
+|**integrationId** | **String** | The unique ID of the event. Only one event with this ID can be registered. | [optional] |
+|**effects** | **List<Object>** | An array of effects generated by the rules of the enabled campaigns of the Application. You decide how to apply them in your system. See the list of [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects). | |
diff --git a/docs/EventV3Connections.md b/docs/EventV3Connections.md
new file mode 100644
index 00000000..5c42e8f2
--- /dev/null
+++ b/docs/EventV3Connections.md
@@ -0,0 +1,13 @@
+
+
+# EventV3Connections
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**connectedSessionId** | **String** | The ID of the session to reference. The session must be in `closed` state. Otherwise, the API call will fail. | [optional] |
+
+
+
diff --git a/docs/EventV3Entity.md b/docs/EventV3Entity.md
new file mode 100644
index 00000000..91915c66
--- /dev/null
+++ b/docs/EventV3Entity.md
@@ -0,0 +1,13 @@
+
+
+# EventV3Entity
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**integrationId** | **String** | The unique ID of the event. Only one event with this ID can be registered. | [optional] |
+
+
+
diff --git a/docs/EventV3RequestEntity.md b/docs/EventV3RequestEntity.md
new file mode 100644
index 00000000..b22d0939
--- /dev/null
+++ b/docs/EventV3RequestEntity.md
@@ -0,0 +1,19 @@
+
+
+# EventV3RequestEntity
+
+
+## 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] |
+|**type** | **String** | The name of the event. Must be a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#custom-events), not a built-in event. | |
+|**attributes** | **Object** | 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] |
+|**integrationId** | **String** | The unique ID of the event. Only one event with this ID can be registered. | |
+|**connectedSessionId** | **String** | The ID of the session to reference. The session must be in `closed` state. Otherwise, the API call will fail. | [optional] |
+
+
+
diff --git a/docs/Experiment.md b/docs/Experiment.md
index ab3394f0..006d7f6f 100644
--- a/docs/Experiment.md
+++ b/docs/Experiment.md
@@ -15,6 +15,8 @@
|**activated** | **OffsetDateTime** | The date and time the experiment was activated. | [optional] |
|**state** | [**StateEnum**](#StateEnum) | A disabled experiment is not evaluated for rules or coupons. | |
|**variants** | [**List<ExperimentVariant>**](ExperimentVariant.md) | | [optional] |
+|**goalType** | [**GoalTypeEnum**](#GoalTypeEnum) | The goal of the experiment. Determines which single metric is used to decide the winning variant. When set to `other`, multiple metrics are used. | |
+|**goalDescription** | **String** | A description of the experiment goal. Provides context for the AI summary and helps it interpret the outcome of the experiment against the stated goal. | [optional] |
|**deletedat** | **OffsetDateTime** | The date and time the experiment was deleted. | [optional] |
@@ -29,3 +31,14 @@
+## Enum: GoalTypeEnum
+
+| Name | Value |
+|---- | -----|
+| OTHER | "other" |
+| MAXIMIZE_REVENUE | "maximize_revenue" |
+| OPTIMIZE_DISCOUNT_EFFICIENCY | "optimize_discount_efficiency" |
+| MAXIMIZE_ITEMS_SOLD | "maximize_items_sold" |
+
+
+
diff --git a/docs/ExperimentCopyExperiment.md b/docs/ExperimentCopyExperiment.md
index ac7e67e2..1bff9762 100644
--- a/docs/ExperimentCopyExperiment.md
+++ b/docs/ExperimentCopyExperiment.md
@@ -9,6 +9,19 @@
|------------ | ------------- | ------------- | -------------|
|**isVariantAssignmentExternal** | **Boolean** | The source of the assignment. - false - The variant assignment is handled internally by Talon.One. - true - The variant assignment is handled externally. | |
|**campaign** | [**ExperimentCampaignCopy**](ExperimentCampaignCopy.md) | | |
+|**goalType** | [**GoalTypeEnum**](#GoalTypeEnum) | The goal of the experiment. Determines which single metric is used to decide the winning variant. When set to `other`, multiple metrics are used. If omitted, the value from the source experiment is used. | [optional] |
+|**goalDescription** | **String** | A description of the experiment goal. Provides context for the AI summary and helps it interpret the outcome of the experiment against the stated goal. If omitted, the value from the source experiment is used. | [optional] |
+
+
+
+## Enum: GoalTypeEnum
+
+| Name | Value |
+|---- | -----|
+| OTHER | "other" |
+| MAXIMIZE_REVENUE | "maximize_revenue" |
+| MAXIMIZE_ITEMS_SOLD | "maximize_items_sold" |
+| OPTIMIZE_DISCOUNT_EFFICIENCY | "optimize_discount_efficiency" |
diff --git a/docs/FeatureFlagUpdate.md b/docs/FeatureFlagUpdate.md
new file mode 100644
index 00000000..8ccfab83
--- /dev/null
+++ b/docs/FeatureFlagUpdate.md
@@ -0,0 +1,14 @@
+
+
+# FeatureFlagUpdate
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**name** | **String** | The name of the feature flag. | |
+|**value** | **String** | The value of the feature flag. | |
+
+
+
diff --git a/docs/History.md b/docs/History.md
index 36019f7c..52a4d41f 100644
--- a/docs/History.md
+++ b/docs/History.md
@@ -9,7 +9,8 @@
|------------ | ------------- | ------------- | -------------|
|**id** | **Long** | The ID of the historical price. | |
|**observedAt** | **OffsetDateTime** | The date and time when the price was observed. | |
-|**contextId** | **String** | Identifier of the relevant context at the time the price was observed (e.g. summer sale). | |
+|**contextIds** | **List<String>** | The identifiers of the relevant context at the time the price was observed. Includes the context IDs of any price adjustments and of the campaigns that influenced the final price. | |
+|**contextId** | **String** | This property is **deprecated**. Use `contextIds` instead. Defaults to an empty string. | [optional] |
|**price** | **BigDecimal** | Price of the item. | |
|**metadata** | [**BestPriorPriceMetadata**](BestPriorPriceMetadata.md) | | |
|**target** | **Object** | | |
diff --git a/docs/IntegrationApi.md b/docs/IntegrationApi.md
index 62cc8106..8622db6b 100644
--- a/docs/IntegrationApi.md
+++ b/docs/IntegrationApi.md
@@ -2210,7 +2210,7 @@ public class Example {
Track event
-Triggers a custom event. To use this endpoint: 1. Define a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) in the Campaign Manager. 1. Update or create a rule to check for this event. 1. Trigger the event with this endpoint. After you have successfully sent an event to Talon.One, you can list the received events in the **Events** view in the Campaign Manager. Talon.One also offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/entities/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). > [!note] **Note** > - `profileId` is required even though the schema does not specify it. > - If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. > - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). > - [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered in rule evaluation.
+Triggers a custom event. To use this endpoint: 1. [Create a custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) in the Campaign Manager. 1. In a rule, add the **Check for event types** [condition](https://docs.talon.one/docs/dev/concepts/entities/events#use-an-event-in-a-rule) and select the event you created. 1. Trigger the event with this endpoint. You can [list](https://docs.talon.one/docs/product/applications/display-events#list-events) the received events in the **Events** view of the Campaign Manager. For example, you can use this endpoint to trigger an event when a customer shares a link to a product. See our [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). > [!note] **Note** > - `profileId` is required even though the schema does not specify it. > - If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. > - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). > - [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered in rule evaluation.
### Example
```java
diff --git a/docs/IntegrationCampaign.md b/docs/IntegrationCampaign.md
index 6a97a226..b14fcd68 100644
--- a/docs/IntegrationCampaign.md
+++ b/docs/IntegrationCampaign.md
@@ -17,7 +17,7 @@
|**state** | [**StateEnum**](#StateEnum) | The state of the campaign. | |
|**tags** | **List<String>** | A list of tags for the campaign. | |
|**features** | [**List<FeaturesEnum>**](#List<FeaturesEnum>) | The features enabled in this campaign. | |
-|**rules** | [**List<RuleMetadata>**](RuleMetadata.md) | A list of rules containing customer-facing details of the rewards defined in the campaign. | [optional] |
+|**rules** | [**List<RuleMetadata>**](RuleMetadata.md) | A list of rules containing customer-facing details of the rewards defined in the campaign. | |
diff --git a/docs/IntegrationCampaignBase.md b/docs/IntegrationCampaignBase.md
new file mode 100644
index 00000000..8ae0bbaf
--- /dev/null
+++ b/docs/IntegrationCampaignBase.md
@@ -0,0 +1,43 @@
+
+
+# IntegrationCampaignBase
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**applicationId** | **Long** | The ID of the Application that owns this entity. | |
+|**id** | **Long** | Unique ID of Campaign. | |
+|**name** | **String** | The name of the campaign. | |
+|**description** | **String** | A detailed description of the campaign. | [optional] |
+|**startTime** | **OffsetDateTime** | Timestamp when the campaign will become active. | [optional] |
+|**endTime** | **OffsetDateTime** | Timestamp when the campaign will become inactive. | [optional] |
+|**attributes** | **Object** | Arbitrary properties associated with this campaign. | [optional] |
+|**state** | [**StateEnum**](#StateEnum) | The state of the campaign. | |
+|**tags** | **List<String>** | A list of tags for the campaign. | |
+|**features** | [**List<FeaturesEnum>**](#List<FeaturesEnum>) | The features enabled in this campaign. | |
+
+
+
+## Enum: StateEnum
+
+| Name | Value |
+|---- | -----|
+| ENABLED | "enabled" |
+
+
+
+## Enum: List<FeaturesEnum>
+
+| Name | Value |
+|---- | -----|
+| COUPONS | "coupons" |
+| REFERRALS | "referrals" |
+| LOYALTY | "loyalty" |
+| GIVEAWAYS | "giveaways" |
+| STRIKETHROUGH | "strikethrough" |
+| ACHIEVEMENTS | "achievements" |
+
+
+
diff --git a/docs/IntegrationEvent.md b/docs/IntegrationEvent.md
index 4972e498..60e7fc63 100644
--- a/docs/IntegrationEvent.md
+++ b/docs/IntegrationEvent.md
@@ -9,7 +9,7 @@
|------------ | ------------- | ------------- | -------------|
|**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`. | [optional] |
|**storeIntegrationId** | **String** | The integration ID of the store. You choose this ID when you create a store. | [optional] |
-|**type** | **String** | A string representing the event. Must not be a reserved event name. | |
+|**type** | **String** | The name of the event. Must be a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#custom-events), not a built-in event. | |
|**attributes** | **Object** | Arbitrary additional JSON data associated with the event. | |
diff --git a/docs/IntegrationEventV2Request.md b/docs/IntegrationEventV2Request.md
index 05cff6e9..418bd2f4 100644
--- a/docs/IntegrationEventV2Request.md
+++ b/docs/IntegrationEventV2Request.md
@@ -10,7 +10,7 @@
|**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`. | [optional] |
|**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] |
-|**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. | |
+|**type** | **String** | The name of the event. Must be a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#custom-events), not a built-in event. | |
|**attributes** | **Object** | 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] |
|**responseContent** | [**List<ResponseContentEnum>**](#List<ResponseContentEnum>) | Extends the response with the chosen data entities. Use this property to get as much data back as needed from one request instead of sending extra requests to other endpoints. | [optional] |
|**loyaltyCards** | **List<String>** | Identifiers of the loyalty cards used during this event. | [optional] |
diff --git a/docs/IntegrationEventV3Request.md b/docs/IntegrationEventV3Request.md
index d8fa1f7a..2a6e2d58 100644
--- a/docs/IntegrationEventV3Request.md
+++ b/docs/IntegrationEventV3Request.md
@@ -10,11 +10,10 @@
|**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. | |
+|**type** | **String** | The name of the event. Must be a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#custom-events), not a built-in event. | |
|**attributes** | **Object** | 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] |
+|**integrationId** | **String** | The unique ID of the event. Only one event with this ID can be registered. | |
+|**connectedSessionId** | **String** | The ID of the session to reference. The session must be in `closed` state. Otherwise, the API call will fail. | [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] |
diff --git a/docs/IntegrationHubEventPayloadLoyaltyProfileBasedNotification.md b/docs/IntegrationHubEventPayloadLoyaltyProfileBasedNotification.md
index fd50a139..25c2f5ea 100644
--- a/docs/IntegrationHubEventPayloadLoyaltyProfileBasedNotification.md
+++ b/docs/IntegrationHubEventPayloadLoyaltyProfileBasedNotification.md
@@ -9,14 +9,15 @@
|------------ | ------------- | ------------- | -------------|
|**profileIntegrationID** | **String** | | |
|**loyaltyProgramID** | **Long** | | |
+|**loyaltyProgramName** | **String** | The name of the loyalty program. | |
|**subledgerID** | **String** | | |
|**sourceOfEvent** | **String** | | |
+|**currentTier** | **String** | The name of the customer's current tier. | |
|**employeeName** | **String** | | [optional] |
|**userID** | **Long** | | [optional] |
|**currentPoints** | **Float** | | |
|**actions** | [**List<IntegrationHubEventPayloadLoyaltyProfileBasedPointsChangedNotificationAction>**](IntegrationHubEventPayloadLoyaltyProfileBasedPointsChangedNotificationAction.md) | | [optional] |
|**publishedAt** | **OffsetDateTime** | Timestamp when the event was published. | |
-|**currentTier** | **String** | | [optional] |
|**oldTier** | **String** | | [optional] |
|**tierExpirationDate** | **OffsetDateTime** | | [optional] |
|**timestampOfTierChange** | **OffsetDateTime** | | [optional] |
diff --git a/docs/IntegrationHubEventPayloadLoyaltyProfileBasedPointsChangedNotification.md b/docs/IntegrationHubEventPayloadLoyaltyProfileBasedPointsChangedNotification.md
index 4142131e..98c5b69c 100644
--- a/docs/IntegrationHubEventPayloadLoyaltyProfileBasedPointsChangedNotification.md
+++ b/docs/IntegrationHubEventPayloadLoyaltyProfileBasedPointsChangedNotification.md
@@ -9,8 +9,10 @@
|------------ | ------------- | ------------- | -------------|
|**profileIntegrationID** | **String** | | |
|**loyaltyProgramID** | **Long** | | |
+|**loyaltyProgramName** | **String** | The name of the loyalty program. | |
|**subledgerID** | **String** | | |
|**sourceOfEvent** | **String** | | |
+|**currentTier** | **String** | The name of the customer's current tier. | |
|**employeeName** | **String** | | [optional] |
|**userID** | **Long** | | [optional] |
|**currentPoints** | **Float** | | |
diff --git a/docs/IntegrationHubEventPayloadLoyaltyProfileBasedTierDowngradeNotification.md b/docs/IntegrationHubEventPayloadLoyaltyProfileBasedTierDowngradeNotification.md
index 6f4230d3..3a2de1bd 100644
--- a/docs/IntegrationHubEventPayloadLoyaltyProfileBasedTierDowngradeNotification.md
+++ b/docs/IntegrationHubEventPayloadLoyaltyProfileBasedTierDowngradeNotification.md
@@ -9,9 +9,10 @@
|------------ | ------------- | ------------- | -------------|
|**profileIntegrationID** | **String** | | |
|**loyaltyProgramID** | **Long** | | |
+|**loyaltyProgramName** | **String** | The name of the loyalty program. | |
|**subledgerID** | **String** | | |
|**sourceOfEvent** | **String** | | |
-|**currentTier** | **String** | | [optional] |
+|**currentTier** | **String** | The name of the customer's current tier, or null if the customer was downgraded below all tiers. | [optional] |
|**currentPoints** | **Float** | | |
|**oldTier** | **String** | | [optional] |
|**tierExpirationDate** | **OffsetDateTime** | | [optional] |
diff --git a/docs/IntegrationHubEventPayloadLoyaltyProfileBasedTierUpgradeNotification.md b/docs/IntegrationHubEventPayloadLoyaltyProfileBasedTierUpgradeNotification.md
index 4db4d0b7..67684821 100644
--- a/docs/IntegrationHubEventPayloadLoyaltyProfileBasedTierUpgradeNotification.md
+++ b/docs/IntegrationHubEventPayloadLoyaltyProfileBasedTierUpgradeNotification.md
@@ -9,9 +9,10 @@
|------------ | ------------- | ------------- | -------------|
|**profileIntegrationID** | **String** | | |
|**loyaltyProgramID** | **Long** | | |
+|**loyaltyProgramName** | **String** | The name of the loyalty program. | |
|**subledgerID** | **String** | | |
|**sourceOfEvent** | **String** | | |
-|**currentTier** | **String** | | [optional] |
+|**currentTier** | **String** | The name of the customer's current tier. | |
|**currentPoints** | **Float** | | |
|**oldTier** | **String** | | [optional] |
|**pointsRequiredToTheNextTier** | **Float** | | [optional] |
diff --git a/docs/IntegrationHubEventRecord.md b/docs/IntegrationHubEventRecord.md
index e5c3984b..fdd28b2d 100644
--- a/docs/IntegrationHubEventRecord.md
+++ b/docs/IntegrationHubEventRecord.md
@@ -13,6 +13,7 @@
|**eventData** | **Object** | | |
|**publishedAt** | **OffsetDateTime** | | |
|**processedAt** | **OffsetDateTime** | | [optional] |
+|**deliveredAt** | **OffsetDateTime** | | [optional] |
|**processAfter** | **OffsetDateTime** | | |
|**retry** | **Long** | | |
diff --git a/docs/IntegrationHubEventStatusUpdate.md b/docs/IntegrationHubEventStatusUpdate.md
new file mode 100644
index 00000000..32d74b51
--- /dev/null
+++ b/docs/IntegrationHubEventStatusUpdate.md
@@ -0,0 +1,23 @@
+
+
+# IntegrationHubEventStatusUpdate
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**eventId** | **Long** | The ID of the integration hub event. | |
+|**status** | [**StatusEnum**](#StatusEnum) | The delivery outcome for the event. | |
+
+
+
+## Enum: StatusEnum
+
+| Name | Value |
+|---- | -----|
+| DELIVERED | "delivered" |
+| FAILED | "failed" |
+
+
+
diff --git a/docs/ManagementApi.md b/docs/ManagementApi.md
index 81ad0e12..64f2ab7c 100644
--- a/docs/ManagementApi.md
+++ b/docs/ManagementApi.md
@@ -110,12 +110,12 @@ All URIs are relative to *https://yourbaseurl.talon.one*
| [**getExperiment**](ManagementApi.md#getExperiment) | **GET** /v1/applications/{applicationId}/experiments/{experimentId} | Get experiment in Application |
| [**getExports**](ManagementApi.md#getExports) | **GET** /v1/exports | Get exports |
| [**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 |
+| [**getLoyaltyCardTransactionLogs**](ManagementApi.md#getLoyaltyCardTransactionLogs) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/logs | List card's transactions (Management API) |
| [**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 |
+| [**getLoyaltyLedgerBalances**](ManagementApi.md#getLoyaltyLedgerBalances) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/ledger_balances | Get customer's loyalty balances (Management API) |
| [**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 |
+| [**getLoyaltyProgramProfileLedgerTransactions**](ManagementApi.md#getLoyaltyProgramProfileLedgerTransactions) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/ledger_transactions | List customer's loyalty transactions (Management API) |
| [**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 |
@@ -8177,9 +8177,9 @@ public class Example {
# **getLoyaltyCardTransactionLogs**
> GetLoyaltyCardTransactionLogs200Response getLoyaltyCardTransactionLogs(loyaltyProgramId, loyaltyCardId, startDate, endDate, pageSize, skip, subledgerId, customerSessionIDs, transactionUUIDs)
-List card's transactions
+List card's transactions (Management API)
-Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned.
+Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. > [!note] For most use cases, especially real-time integrations, use the Integration API endpoint: > [List card's transactions](https://docs.talon.one/integration-api#tag/Loyalty-cards/operation/getLoyaltyCardTransactions). If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned.
### Example
```java
@@ -8347,9 +8347,9 @@ public class Example {
# **getLoyaltyLedgerBalances**
> LoyaltyBalancesWithTiers getLoyaltyLedgerBalances(loyaltyProgramId, integrationId, endDate, subledgerId, includeTiers, includeProjectedTier)
-Get customer's loyalty balances
+Get customer's loyalty balances (Management API)
-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)
+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] **Note** > - For most use cases, especially real-time integrations, use the Integration API endpoint: [Get customer's loyalty balances](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyBalances). > - 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
@@ -8569,9 +8569,9 @@ public class Example {
# **getLoyaltyProgramProfileLedgerTransactions**
> GetLoyaltyProgramProfileTransactions200Response getLoyaltyProgramProfileLedgerTransactions(loyaltyProgramId, integrationId, customerSessionIDs, transactionUUIDs, subledgerId, loyaltyTransactionType, startDate, endDate, pageSize, skip, awaitsActivation)
-List customer's loyalty transactions
+List customer's loyalty transactions (Management API)
-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.
+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] **Note** > - For most use cases, especially real-time integrations, use the Integration API endpoint: > [List customer's loyalty transactions](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). > - 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
@@ -9681,7 +9681,7 @@ public class Example {
ManagementApi apiInstance = new ManagementApi(defaultClient);
Long collectionId = 56L; // Long | The ID of the collection. You can get it with the [List collections in account](#tag/Collections/operation/listAccountCollections) endpoint.
- String upFile = "upFile_example"; // String | The file containing the data that is being imported.
+ File upFile = new File("/path/to/file"); // File | The CSV file containing the data that is being imported.
try {
ModelImport result = apiInstance.importAccountCollection(collectionId, upFile);
System.out.println(result);
@@ -9701,7 +9701,7 @@ public class Example {
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **collectionId** | **Long**| The ID of the collection. You can get it with the [List collections in account](#tag/Collections/operation/listAccountCollections) endpoint. | |
-| **upFile** | **String**| The file containing the data that is being imported. | [optional] |
+| **upFile** | **File**| The CSV file containing the data that is being imported. | [optional] |
### Return type
@@ -9754,7 +9754,7 @@ public class Example {
ManagementApi apiInstance = new ManagementApi(defaultClient);
Long attributeId = 56L; // Long | The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**.
- String upFile = "upFile_example"; // String | The file containing the data that is being imported.
+ File upFile = new File("/path/to/file"); // File | The CSV file containing the data that is being imported.
try {
ModelImport result = apiInstance.importAllowedList(attributeId, upFile);
System.out.println(result);
@@ -9774,7 +9774,7 @@ public class Example {
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **attributeId** | **Long**| The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. | |
-| **upFile** | **String**| The file containing the data that is being imported. | [optional] |
+| **upFile** | **File**| The CSV file containing the data that is being imported. | [optional] |
### Return type
@@ -9828,7 +9828,7 @@ public class Example {
ManagementApi apiInstance = new ManagementApi(defaultClient);
Long audienceId = 56L; // Long | The ID of the audience.
- String upFile = "upFile_example"; // String | The file containing the data that is being imported.
+ File upFile = new File("/path/to/file"); // File | The CSV file containing the data that is being imported.
try {
ModelImport result = apiInstance.importAudiencesMemberships(audienceId, upFile);
System.out.println(result);
@@ -9848,7 +9848,7 @@ public class Example {
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **audienceId** | **Long**| The ID of the audience. | |
-| **upFile** | **String**| The file containing the data that is being imported. | [optional] |
+| **upFile** | **File**| The CSV file containing the data that is being imported. | [optional] |
### Return type
@@ -9905,7 +9905,7 @@ public class Example {
Long campaignId = 56L; // Long | The ID of the campaign. It is displayed in your Talon.One deployment URL.
String action = "setDiscount"; // String | The action that this budget is limiting.
String period = "overall"; // String | The period to which the limit applies. **Note**: For budgets with no period, set this to `overall`.
- String upFile = "upFile_example"; // String | The file containing the data that is being imported.
+ File upFile = new File("/path/to/file"); // File | The CSV file containing the data that is being imported.
try {
ModelImport result = apiInstance.importCampaignStoreBudget(applicationId, campaignId, action, period, upFile);
System.out.println(result);
@@ -9928,7 +9928,7 @@ public class Example {
| **campaignId** | **Long**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | |
| **action** | **String**| The action that this budget is limiting. | [optional] [enum: setDiscount] |
| **period** | **String**| The period to which the limit applies. **Note**: For budgets with no period, set this to `overall`. | [optional] [enum: overall, daily, weekly, monthly, yearly] |
-| **upFile** | **String**| The file containing the data that is being imported. | [optional] |
+| **upFile** | **File**| The CSV file containing the data that is being imported. | [optional] |
### Return type
@@ -9981,7 +9981,7 @@ public class Example {
ManagementApi apiInstance = new ManagementApi(defaultClient);
Long applicationId = 56L; // Long | The ID of the Application. It is displayed in your Talon.One deployment URL.
Long campaignId = 56L; // Long | The ID of the campaign. It is displayed in your Talon.One deployment URL.
- String upFile = "upFile_example"; // String | The file containing the data that is being imported.
+ File upFile = new File("/path/to/file"); // File | The CSV file containing the data that is being imported.
try {
ModelImport result = apiInstance.importCampaignStores(applicationId, campaignId, upFile);
System.out.println(result);
@@ -10002,7 +10002,7 @@ public class Example {
|------------- | ------------- | ------------- | -------------|
| **applicationId** | **Long**| The ID of the Application. It is displayed in your Talon.One deployment URL. | |
| **campaignId** | **Long**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | |
-| **upFile** | **String**| The file containing the data that is being imported. | [optional] |
+| **upFile** | **File**| The CSV file containing the data that is being imported. | [optional] |
### Return type
@@ -10058,7 +10058,7 @@ public class Example {
Long applicationId = 56L; // Long | The ID of the Application. It is displayed in your Talon.One deployment URL.
Long campaignId = 56L; // Long | The ID of the campaign. It is displayed in your Talon.One deployment URL.
Long collectionId = 56L; // Long | The ID of the collection. You can get it with the [List collections in Application](#tag/Collections/operation/listCollectionsInApplication) endpoint.
- String upFile = "upFile_example"; // String | The file containing the data that is being imported.
+ File upFile = new File("/path/to/file"); // File | The CSV file containing the data that is being imported.
try {
ModelImport result = apiInstance.importCollection(applicationId, campaignId, collectionId, upFile);
System.out.println(result);
@@ -10080,7 +10080,7 @@ public class Example {
| **applicationId** | **Long**| The ID of the Application. It is displayed in your Talon.One deployment URL. | |
| **campaignId** | **Long**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | |
| **collectionId** | **Long**| The ID of the collection. You can get it with the [List collections in Application](#tag/Collections/operation/listCollectionsInApplication) endpoint. | |
-| **upFile** | **String**| The file containing the data that is being imported. | [optional] |
+| **upFile** | **File**| The CSV file containing the data that is being imported. | [optional] |
### Return type
@@ -10134,7 +10134,7 @@ public class Example {
Long applicationId = 56L; // Long | The ID of the Application. It is displayed in your Talon.One deployment URL.
Long campaignId = 56L; // Long | The ID of the campaign. It is displayed in your Talon.One deployment URL.
Boolean skipDuplicates = true; // Boolean | An indicator of whether to skip duplicate coupon values instead of causing an error. Duplicate values are ignored when `skipDuplicates=true`.
- String upFile = "upFile_example"; // String | The file containing the data that is being imported.
+ File upFile = new File("/path/to/file"); // File | The CSV file containing the data that is being imported.
try {
ModelImport result = apiInstance.importCoupons(applicationId, campaignId, skipDuplicates, upFile);
System.out.println(result);
@@ -10156,7 +10156,7 @@ public class Example {
| **applicationId** | **Long**| The ID of the Application. It is displayed in your Talon.One deployment URL. | |
| **campaignId** | **Long**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | |
| **skipDuplicates** | **Boolean**| An indicator of whether to skip duplicate coupon values instead of causing an error. Duplicate values are ignored when `skipDuplicates=true`. | [optional] |
-| **upFile** | **String**| The file containing the data that is being imported. | [optional] |
+| **upFile** | **File**| The CSV file containing the data that is being imported. | [optional] |
### Return type
@@ -10182,7 +10182,7 @@ public class Example {
Import loyalty cards
-Upload a CSV file containing the loyalty cards that you want to use in your card-based loyalty program. Send the file as multipart data. It contains the following columns for each card: - `identifier` (required): The identifier of the loyalty card, which must match the regular expression `^[A-Za-z0-9._%+@-]+$`. - `state` (required): The state of the loyalty card. It can be `active` or `inactive`. - `customerprofileids` (optional): An array of strings representing the identifiers of the customer profiles linked to the loyalty card. The identifiers should be separated with a semicolon (;). > [!note] We recommend limiting your file size to 500MB. ## Example ```csv identifier,state,customerprofileids 123-456-789AT,active,Alexa001;UserA ```
+Upload a CSV file containing the loyalty cards that you want to use in your card-based loyalty program. Send the file as multipart data. It contains the following columns for each card: - `identifier` (required): The identifier of the loyalty card, which must match the regular expression `^[A-Za-z0-9._%+@-]+$`. - `state` (required): The state of the loyalty card. It can be `active` or `inactive`. - `customerprofileids` (optional): An array of strings representing the identifiers of the customer profiles linked to the loyalty card. The identifiers should be separated with a semicolon (;). > [!note] Your CSV file must contain less than 500,000 rows. Requests time out after 30 seconds. ## Example ```csv identifier,state,customerprofileids 123-456-789AT,active,Alexa001;UserA ```
### Example
```java
@@ -10207,7 +10207,7 @@ public class Example {
ManagementApi apiInstance = new ManagementApi(defaultClient);
Long loyaltyProgramId = 56L; // Long | 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.
- String upFile = "upFile_example"; // String | The file containing the data that is being imported.
+ File upFile = new File("/path/to/file"); // File | The CSV file containing the data that is being imported.
try {
ModelImport result = apiInstance.importLoyaltyCards(loyaltyProgramId, upFile);
System.out.println(result);
@@ -10227,7 +10227,7 @@ public class Example {
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **loyaltyProgramId** | **Long**| 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. | |
-| **upFile** | **String**| The file containing the data that is being imported. | [optional] |
+| **upFile** | **File**| The CSV file containing the data that is being imported. | [optional] |
### Return type
@@ -10255,7 +10255,7 @@ public class Example {
Import customers into loyalty tiers
-Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. > [!important] This endpoint only works with loyalty programs with advanced > tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiration date of the tier when the tier is reevaluated. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in the tier that's specified in the CSV file, only the expiration date is updated. > [!note] We recommend not using this endpoint to update the tier of a customer. To update a customer's tier, you can [add](/management-api#tag/Loyalty/operation/addLoyaltyPoints) or [deduct](/management-api#tag/Loyalty/operation/removeLoyaltyPoints) their loyalty points. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. > [!note] We recommend limiting your file size to 500 MB. ## Example ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ```
+Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. > [!important] This endpoint only works with loyalty programs with advanced > tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiry date of the tier when the tier is reevaluated. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in the tier that's specified in the CSV file, only the expiry date is updated. > [!note] We recommend importing customers into the tier that matches their > current balance. If a customer is imported into a lower tier, any session > or points update automatically upgrades them to the tier they qualify for. To update a customer's tier, you can [add](/management-api#tag/Loyalty/operation/addLoyaltyPoints) or [deduct](/management-api#tag/Loyalty/operation/removeLoyaltyPoints) their loyalty points. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. > [!note] We recommend limiting your file size to 500 MB. ## Example ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ```
### Example
```java
@@ -10280,7 +10280,7 @@ public class Example {
ManagementApi apiInstance = new ManagementApi(defaultClient);
Long loyaltyProgramId = 56L; // Long | 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.
- String upFile = "upFile_example"; // String | The file containing the data that is being imported.
+ File upFile = new File("/path/to/file"); // File | The CSV file containing the data that is being imported.
try {
ModelImport result = apiInstance.importLoyaltyCustomersTiers(loyaltyProgramId, upFile);
System.out.println(result);
@@ -10300,7 +10300,7 @@ public class Example {
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **loyaltyProgramId** | **Long**| 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. | |
-| **upFile** | **String**| The file containing the data that is being imported. | [optional] |
+| **upFile** | **File**| The CSV file containing the data that is being imported. | [optional] |
### Return type
@@ -10355,7 +10355,7 @@ public class Example {
ManagementApi apiInstance = new ManagementApi(defaultClient);
Long loyaltyProgramId = 56L; // Long | 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.
Boolean notificationsEnabled = true; // Boolean | 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`.
- String upFile = "upFile_example"; // String | The file containing the data that is being imported.
+ File upFile = new File("/path/to/file"); // File | The CSV file containing the data that is being imported.
try {
ModelImport result = apiInstance.importLoyaltyPoints(loyaltyProgramId, notificationsEnabled, upFile);
System.out.println(result);
@@ -10376,7 +10376,7 @@ public class Example {
|------------- | ------------- | ------------- | -------------|
| **loyaltyProgramId** | **Long**| 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. | |
| **notificationsEnabled** | **Boolean**| 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] |
-| **upFile** | **String**| The file containing the data that is being imported. | [optional] |
+| **upFile** | **File**| The CSV file containing the data that is being imported. | [optional] |
### Return type
@@ -10427,7 +10427,7 @@ public class Example {
ManagementApi apiInstance = new ManagementApi(defaultClient);
Long poolId = 56L; // Long | The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section.
- String upFile = "upFile_example"; // String | The file containing the data that is being imported.
+ File upFile = new File("/path/to/file"); // File | The CSV file containing the data that is being imported.
try {
ModelImport result = apiInstance.importPoolGiveaways(poolId, upFile);
System.out.println(result);
@@ -10447,7 +10447,7 @@ public class Example {
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **poolId** | **Long**| The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. | |
-| **upFile** | **String**| The file containing the data that is being imported. | [optional] |
+| **upFile** | **File**| The CSV file containing the data that is being imported. | [optional] |
### Return type
@@ -10499,7 +10499,7 @@ public class Example {
ManagementApi apiInstance = new ManagementApi(defaultClient);
Long applicationId = 56L; // Long | The ID of the Application. It is displayed in your Talon.One deployment URL.
Long campaignId = 56L; // Long | The ID of the campaign. It is displayed in your Talon.One deployment URL.
- String upFile = "upFile_example"; // String | The file containing the data that is being imported.
+ File upFile = new File("/path/to/file"); // File | The CSV file containing the data that is being imported.
try {
ModelImport result = apiInstance.importReferrals(applicationId, campaignId, upFile);
System.out.println(result);
@@ -10520,7 +10520,7 @@ public class Example {
|------------- | ------------- | ------------- | -------------|
| **applicationId** | **Long**| The ID of the Application. It is displayed in your Talon.One deployment URL. | |
| **campaignId** | **Long**| The ID of the campaign. It is displayed in your Talon.One deployment URL. | |
-| **upFile** | **String**| The file containing the data that is being imported. | [optional] |
+| **upFile** | **File**| The CSV file containing the data that is being imported. | [optional] |
### Return type
diff --git a/docs/NewCampaign.md b/docs/NewCampaign.md
index 436930fb..4ca50d44 100644
--- a/docs/NewCampaign.md
+++ b/docs/NewCampaign.md
@@ -48,6 +48,7 @@
| GIVEAWAYS | "giveaways" |
| STRIKETHROUGH | "strikethrough" |
| ACHIEVEMENTS | "achievements" |
+| ADVANCED_EVENTS | "advancedEvents" |
diff --git a/docs/NewCampaignTemplate.md b/docs/NewCampaignTemplate.md
index ce037530..41f5d3e8 100644
--- a/docs/NewCampaignTemplate.md
+++ b/docs/NewCampaignTemplate.md
@@ -47,6 +47,7 @@
| GIVEAWAYS | "giveaways" |
| STRIKETHROUGH | "strikethrough" |
| ACHIEVEMENTS | "achievements" |
+| ADVANCED_EVENTS | "advancedEvents" |
diff --git a/docs/NewEvent.md b/docs/NewEvent.md
index 26fcd421..97338c18 100644
--- a/docs/NewEvent.md
+++ b/docs/NewEvent.md
@@ -9,7 +9,7 @@
|------------ | ------------- | ------------- | -------------|
|**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`. | [optional] |
|**storeIntegrationId** | **String** | The integration ID of the store. You choose this ID when you create a store. | [optional] |
-|**type** | **String** | A string representing the event. Must not be a reserved event name. | |
+|**type** | **String** | The name of the event. Must be a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#custom-events), not a built-in event. | |
|**attributes** | **Object** | Arbitrary additional JSON data associated with the event. | |
|**sessionId** | **String** | The ID of the session that this event occurred in. | |
diff --git a/docs/NewEventV3Entity.md b/docs/NewEventV3Entity.md
new file mode 100644
index 00000000..f67324db
--- /dev/null
+++ b/docs/NewEventV3Entity.md
@@ -0,0 +1,13 @@
+
+
+# NewEventV3Entity
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**integrationId** | **String** | The unique ID of the event. Only one event with this ID can be registered. | |
+
+
+
diff --git a/docs/NewExperiment.md b/docs/NewExperiment.md
index fbd12b7b..67bfe777 100644
--- a/docs/NewExperiment.md
+++ b/docs/NewExperiment.md
@@ -9,6 +9,19 @@
|------------ | ------------- | ------------- | -------------|
|**isVariantAssignmentExternal** | **Boolean** | The source of the assignment. - false - The variant assignment is handled internally by Talon.One. - true - The variant assignment is handled externally. | |
|**campaign** | [**NewCampaign**](NewCampaign.md) | | |
+|**goalType** | [**GoalTypeEnum**](#GoalTypeEnum) | The goal of the experiment. Determines which single metric is used to decide the winning variant. When set to `other`, multiple metrics are used. | |
+|**goalDescription** | **String** | A description of the experiment goal. Provides context for the AI summary and helps it interpret the outcome of the experiment against the stated goal. | [optional] |
+
+
+
+## Enum: GoalTypeEnum
+
+| Name | Value |
+|---- | -----|
+| OTHER | "other" |
+| MAXIMIZE_REVENUE | "maximize_revenue" |
+| MAXIMIZE_ITEMS_SOLD | "maximize_items_sold" |
+| OPTIMIZE_DISCOUNT_EFFICIENCY | "optimize_discount_efficiency" |
diff --git a/docs/NewRevisionVersion.md b/docs/NewRevisionVersion.md
index 90ed2923..1d607399 100644
--- a/docs/NewRevisionVersion.md
+++ b/docs/NewRevisionVersion.md
@@ -33,6 +33,7 @@
| GIVEAWAYS | "giveaways" |
| STRIKETHROUGH | "strikethrough" |
| ACHIEVEMENTS | "achievements" |
+| ADVANCED_EVENTS | "advancedEvents" |
diff --git a/docs/NewReward.md b/docs/NewReward.md
index 5b6aa303..a2e8d10d 100644
--- a/docs/NewReward.md
+++ b/docs/NewReward.md
@@ -12,8 +12,6 @@
|**description** | **String** | A description of the reward. | [optional] |
|**applicationIds** | **List<Long>** | The IDs of the Applications this reward is connected to. **Note**: Currently, a reward can only be connected to one Application. | |
|**sandbox** | **Boolean** | Indicates if this is a live or sandbox reward. Rewards of a given type can only be connected to Applications of the same type. | |
-|**rule** | [**List<Rule>**](Rule.md) | Rule to apply. | [optional] |
-|**bindings** | [**List<Binding>**](Binding.md) | A list of named variables created before the reward's rules are evaluated. Each binding pairs a name with a talang expression. The expression is evaluated once and its result is available by name in any rule condition or effect. Bindings must be defined outside of individual rules. | [optional] |
diff --git a/docs/NewRiskNotification.md b/docs/NewRiskNotification.md
new file mode 100644
index 00000000..a31220e0
--- /dev/null
+++ b/docs/NewRiskNotification.md
@@ -0,0 +1,46 @@
+
+
+# NewRiskNotification
+
+Data for creating a new risk notification.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**entity** | [**EntityEnum**](#EntityEnum) | The entity type to analyze within the given time frame. | |
+|**activity** | [**ActivityEnum**](#ActivityEnum) | The activity metric to analyze within the given entity. | |
+|**timeFrame** | [**TimeFrameEnum**](#TimeFrameEnum) | The rolling time window for risk evaluation. | |
+
+
+
+## Enum: EntityEnum
+
+| Name | Value |
+|---- | -----|
+| CUSTOMER_PROFILE | "customer_profile" |
+| CUSTOMER_SESSION | "customer_session" |
+
+
+
+## Enum: ActivityEnum
+
+| Name | Value |
+|---- | -----|
+| LOYALTY_POINTS_EARNED | "loyalty_points_earned" |
+| DISCOUNTED_AMOUNT | "discounted_amount" |
+| COMPLETED_ORDERS | "completed_orders" |
+| COUPON_ATTEMPTS | "coupon_attempts" |
+
+
+
+## Enum: TimeFrameEnum
+
+| Name | Value |
+|---- | -----|
+| _1_DAY | "1_day" |
+| _1_WEEK | "1_week" |
+| _1_MONTH | "1_month" |
+
+
+
diff --git a/docs/RevisionVersion.md b/docs/RevisionVersion.md
index a6ff72f0..52555653 100644
--- a/docs/RevisionVersion.md
+++ b/docs/RevisionVersion.md
@@ -41,6 +41,7 @@
| GIVEAWAYS | "giveaways" |
| STRIKETHROUGH | "strikethrough" |
| ACHIEVEMENTS | "achievements" |
+| ADVANCED_EVENTS | "advancedEvents" |
diff --git a/docs/Reward.md b/docs/Reward.md
index 3c357c2a..8a62048a 100644
--- a/docs/Reward.md
+++ b/docs/Reward.md
@@ -15,9 +15,12 @@
|**description** | **String** | A description of the reward. | [optional] |
|**applicationIds** | **List<Long>** | The IDs of the Applications this reward is connected to. **Note**: Currently, a reward can only be connected to one Application. | |
|**sandbox** | **Boolean** | Indicates if this is a live or sandbox reward. Rewards of a given type can only be connected to Applications of the same type. | |
-|**rule** | [**List<Rule>**](Rule.md) | Rule to apply. | [optional] |
+|**visibilityConditions** | [**Rule**](Rule.md) | An optional rule that manages who can see this reward. If not specified, the reward is visible to all customers. **Note:** Only the `condition` field is evaluated within this rule. The `effects` field must be an empty array, and `bindings` are not supported. | [optional] |
+|**rule** | [**Rule**](Rule.md) | Rule to apply. **Note**: The `bindings` field inside the rule must not be used in this endpoint. All bindings should be defined at the reward level via the top-level `bindings` field. | [optional] |
|**bindings** | [**List<Binding>**](Binding.md) | A list of named variables created before the reward's rules are evaluated. Each binding pairs a name with a talang expression. The expression is evaluated once and its result is available by name in any rule condition or effect. Bindings must be defined outside of individual rules. | [optional] |
+|**modified** | **OffsetDateTime** | The timestamp when the reward was last updated in RFC3339 format. | [optional] |
|**status** | [**StatusEnum**](#StatusEnum) | The status of the reward. | |
+|**pointsRequired** | [**List<RewardPointsRequired>**](RewardPointsRequired.md) | The loyalty points required to activate a reward. | [optional] |
diff --git a/docs/RewardPointsRequired.md b/docs/RewardPointsRequired.md
new file mode 100644
index 00000000..6d6e6fd3
--- /dev/null
+++ b/docs/RewardPointsRequired.md
@@ -0,0 +1,17 @@
+
+
+# RewardPointsRequired
+
+The loyalty points required to activate a reward.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**id** | **Long** | The ID of the `pointsRequired` entry. When updating a reward, include this property to update an existing entry. Omit it to create a new one. | [optional] |
+|**amount** | **BigDecimal** | The number of loyalty points required to activate the reward. | |
+|**loyaltyProgramId** | **Long** | The ID of the associated loyalty program. | |
+|**subledgerId** | **String** | The ID of the subledger within the loyalty program from which points are deducted when activating the reward. To specify the main ledger, provide an empty string (\"\"). | |
+
+
+
diff --git a/docs/RiskNotification.md b/docs/RiskNotification.md
new file mode 100644
index 00000000..5e028d6c
--- /dev/null
+++ b/docs/RiskNotification.md
@@ -0,0 +1,50 @@
+
+
+# RiskNotification
+
+A risk notification configuration rule.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**id** | **Long** | The internal ID of this entity. | |
+|**created** | **OffsetDateTime** | The time this entity was created. | |
+|**entity** | [**EntityEnum**](#EntityEnum) | The entity type to analyze within the given time frame. | |
+|**activity** | [**ActivityEnum**](#ActivityEnum) | The activity metric to analyze within the given entity. | |
+|**timeFrame** | [**TimeFrameEnum**](#TimeFrameEnum) | The rolling time window for risk evaluation. | |
+|**active** | **Boolean** | Indicates whether this risk notification is active. | |
+|**modified** | **OffsetDateTime** | Timestamp of the most recent update. | |
+
+
+
+## Enum: EntityEnum
+
+| Name | Value |
+|---- | -----|
+| CUSTOMER_PROFILE | "customer_profile" |
+| CUSTOMER_SESSION | "customer_session" |
+
+
+
+## Enum: ActivityEnum
+
+| Name | Value |
+|---- | -----|
+| LOYALTY_POINTS_EARNED | "loyalty_points_earned" |
+| DISCOUNTED_AMOUNT | "discounted_amount" |
+| COMPLETED_ORDERS | "completed_orders" |
+| COUPON_ATTEMPTS | "coupon_attempts" |
+
+
+
+## Enum: TimeFrameEnum
+
+| Name | Value |
+|---- | -----|
+| _1_DAY | "1_day" |
+| _1_WEEK | "1_week" |
+| _1_MONTH | "1_month" |
+
+
+
diff --git a/docs/RuleMetadata.md b/docs/RuleMetadata.md
index 2fd2297c..69096ca6 100644
--- a/docs/RuleMetadata.md
+++ b/docs/RuleMetadata.md
@@ -11,7 +11,6 @@
|**displayName** | **String** | A customer-facing name for the rule. | [optional] |
|**displayDescription** | **String** | A customer-facing description that explains the details of the rule. For example, this property can contain details about eligibility requirements, reward timelines, or terms and conditions. | [optional] |
|**relatedData** | **String** | Any additional data associated with the rule, such as an image URL, vendor name, or a content management system (CMS) ID. | [optional] |
-|**eligibility** | [**List<RuleEligibility>**](RuleEligibility.md) | | [optional] |
diff --git a/docs/RuleMetadataEligibility.md b/docs/RuleMetadataEligibility.md
new file mode 100644
index 00000000..c20baa2f
--- /dev/null
+++ b/docs/RuleMetadataEligibility.md
@@ -0,0 +1,17 @@
+
+
+# RuleMetadataEligibility
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**title** | **String** | A short description of the rule. | |
+|**displayName** | **String** | A customer-facing name for the rule. | [optional] |
+|**displayDescription** | **String** | A customer-facing description that explains the details of the rule. For example, this property can contain details about eligibility requirements, reward timelines, or terms and conditions. | [optional] |
+|**relatedData** | **String** | Any additional data associated with the rule, such as an image URL, vendor name, or a content management system (CMS) ID. | [optional] |
+|**eligibility** | [**List<RuleEligibility>**](RuleEligibility.md) | | |
+
+
+
diff --git a/docs/StrikethroughLabelingNotification.md b/docs/StrikethroughLabelingNotification.md
index cf5c4a73..53e5717c 100644
--- a/docs/StrikethroughLabelingNotification.md
+++ b/docs/StrikethroughLabelingNotification.md
@@ -8,7 +8,7 @@ The strikethrough labels notification for an application.
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-|**version** | [**VersionEnum**](#VersionEnum) | The version of the strikethrough pricing notification. | [optional] |
+|**version** | [**VersionEnum**](#VersionEnum) | The version of the strikethrough pricing notification. Set for **scheduled** strikethrough pricing updates only. | [optional] |
|**validFrom** | **OffsetDateTime** | Timestamp at which the strikethrough pricing update becomes valid. Set for **scheduled** strikethrough pricing updates (version: v2) only. | [optional] |
|**applicationId** | **Long** | The ID of the Application to which the catalog items labels belongs. | |
|**currentBatch** | **Long** | The batch number of the notification. Notifications might be sent in different batches. | |
diff --git a/docs/StrikethroughSetDiscountPerItemEffectProps.md b/docs/StrikethroughSetDiscountPerItemEffectProps.md
index 94e5d7ee..fcfb5258 100644
--- a/docs/StrikethroughSetDiscountPerItemEffectProps.md
+++ b/docs/StrikethroughSetDiscountPerItemEffectProps.md
@@ -8,9 +8,9 @@ setDiscountPerItem effect in strikethrough pricing payload.
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-|**name** | **String** | effect name. | |
+|**name** | **String** | The effect name. | |
|**value** | **Object** | | |
-|**excludedFromPriceHistory** | **Boolean** | | [optional] |
+|**excludedFromPriceHistory** | **Boolean** | When set to `true`, the applied discount is excluded from the item's price history. | [optional] |
diff --git a/docs/StrikethroughSetDiscountPerItemMemberEffectProps.md b/docs/StrikethroughSetDiscountPerItemMemberEffectProps.md
index c6be3910..c7384e1d 100644
--- a/docs/StrikethroughSetDiscountPerItemMemberEffectProps.md
+++ b/docs/StrikethroughSetDiscountPerItemMemberEffectProps.md
@@ -8,7 +8,7 @@ setDiscountPerItem member effect in strikethrough pricing payload.
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-|**name** | **String** | effect name. | |
+|**name** | **String** | The effect name. | |
|**value** | **Object** | | |
diff --git a/docs/SupportRequest.md b/docs/SupportRequest.md
new file mode 100644
index 00000000..53e872fe
--- /dev/null
+++ b/docs/SupportRequest.md
@@ -0,0 +1,49 @@
+
+
+# SupportRequest
+
+Summary of a support request created by a customer support agent.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**id** | **Long** | Identifier of the support request. | |
+|**applicationId** | **Long** | Identifier of the Application connected to the loyalty program or the campaign. It is displayed in your Talon.One deployment URL. | |
+|**campaignId** | **Long** | Identifier of the campaign where the coupon or gift card is created. | [optional] |
+|**loyaltyProgramId** | **Long** | Identifier of the loyalty program where the points are added or deducted. | [optional] |
+|**subledgerId** | **Long** | Identifier of the subledger the points are added to or deducted from. If there is no existing subledger with this ID, the subledger is created automatically. | [optional] |
+|**createdByUser** | **String** | Email address of the customer support agent who created the support request. | |
+|**createdAt** | **OffsetDateTime** | Timestamp when the request was made. | |
+|**customerProfileId** | **String** | Integration ID of the customer profile linked to the support request. | |
+|**requestType** | [**RequestTypeEnum**](#RequestTypeEnum) | Type of reward requested, including gift cards, personal coupons, and loyalty point additions or deductions. | |
+|**requestValue** | **Float** | Requested monetary balance of the gift card or the number of loyalty points to be added or deducted. | [optional] |
+|**requestNote** | **String** | Notes attached to the support request. | |
+|**requestStatus** | [**RequestStatusEnum**](#RequestStatusEnum) | Current status of the support request. | |
+|**processedAt** | **OffsetDateTime** | Timestamp when the request was approved or rejected. | [optional] |
+|**processingNote** | **String** | Notes attached by the admin when rejecting or approving a request. | [optional] |
+|**processedByUser** | **String** | Email address of the admin who approved or rejected the support request. | [optional] |
+
+
+
+## Enum: RequestTypeEnum
+
+| Name | Value |
+|---- | -----|
+| GIFT_CARD | "gift_card" |
+| PERSONAL_COUPON | "personal_coupon" |
+| LOYALTY_POINTS_ADDED | "loyalty_points_added" |
+| LOYALTY_POINTS_DEDUCTED | "loyalty_points_deducted" |
+
+
+
+## Enum: RequestStatusEnum
+
+| Name | Value |
+|---- | -----|
+| PENDING_APPROVAL | "pending_approval" |
+| APPROVED | "approved" |
+| REJECTED | "rejected" |
+
+
+
diff --git a/docs/SupportRequestInput.md b/docs/SupportRequestInput.md
new file mode 100644
index 00000000..f2af8180
--- /dev/null
+++ b/docs/SupportRequestInput.md
@@ -0,0 +1,31 @@
+
+
+# SupportRequestInput
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**applicationId** | **Long** | Identifier of the Application connected to the loyalty program or the campaign. It is displayed in your Talon.One deployment URL. | |
+|**campaignId** | **Long** | Identifier of the campaign where the coupon or gift card is created. | [optional] |
+|**loyaltyProgramId** | **Long** | 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. | [optional] |
+|**subledgerId** | **Long** | Identifier of the subledger the points are added to or deducted from. If there is no existing subledger with this ID, the subledger is created automatically. | [optional] |
+|**customerProfileId** | **String** | Integration ID of the customer profile linked to the support request. | |
+|**requestType** | [**RequestTypeEnum**](#RequestTypeEnum) | Type of reward requested, including gift cards, personal coupons, and loyalty point additions or deductions. | |
+|**requestValue** | **Float** | Requested monetary balance of the gift card or the number of loyalty points to be added or deducted. | [optional] |
+|**requestNote** | **String** | Notes attached to the support request. | |
+
+
+
+## Enum: RequestTypeEnum
+
+| Name | Value |
+|---- | -----|
+| GIFT_CARD | "gift_card" |
+| PERSONAL_COUPON | "personal_coupon" |
+| LOYALTY_POINTS_ADDED | "loyalty_points_added" |
+| LOYALTY_POINTS_DEDUCTED | "loyalty_points_deducted" |
+
+
+
diff --git a/docs/TalangAttribute.md b/docs/TalangAttribute.md
index 16cd2106..53061307 100644
--- a/docs/TalangAttribute.md
+++ b/docs/TalangAttribute.md
@@ -43,6 +43,8 @@
| SESSION | "Session" |
| STORE | "Store" |
| ACHIEVEMENTS | "Achievements" |
+| ADVANCED_EVENT | "AdvancedEvent" |
+| ADVANCED_EVENT_CONNECTED_SESSION | "AdvancedEventConnectedSession" |
diff --git a/docs/UpdateAchievementV2.md b/docs/UpdateAchievementV2.md
index e5938601..f8cb42a9 100644
--- a/docs/UpdateAchievementV2.md
+++ b/docs/UpdateAchievementV2.md
@@ -7,19 +7,17 @@
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-|**name** | **String** | The internal name of the achievement used in API requests. **Note**: The name should start with a letter. This cannot be changed after the achievement has been created. | [optional] |
-|**title** | **String** | The display name for the achievement in the Campaign Manager. | [optional] |
-|**description** | **String** | A description of the achievement. | [optional] |
-|**target** | **BigDecimal** | The required number of actions or the transactional milestone to complete the achievement. | [optional] |
+|**name** | **String** | The internal name of the achievement used in API requests. **Note**: The name should start with a letter. This cannot be changed after the achievement has been created. | |
+|**title** | **String** | The display name for the achievement in the Campaign Manager. | |
+|**description** | **String** | A description of the achievement. | |
+|**target** | **BigDecimal** | The required number of actions or the transactional milestone to complete the achievement. | |
|**period** | **String** | The relative duration after which the achievement ends and resets for a particular customer profile. **Note**: The `period` does not start when the achievement is created. The period is a **positive real number** 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 also round certain units down to the beginning of period and up to the end of period.: - `_D` for rounding down days only. Signifies the start of the day. Example: `30D_D` - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. Example: `23W_U` **Note**: You can either use the round down and round up option or set an absolute period. | [optional] |
|**recurrencePolicy** | [**RecurrencePolicyEnum**](#RecurrencePolicyEnum) | The policy that determines if and how the achievement recurs. - `no_recurrence`: The achievement can be completed only once. - `on_expiration`: The achievement resets after it expires and becomes available again. - `on_completion`: When the customer progress status reaches `completed`, the achievement resets and becomes available again. | [optional] |
|**activationPolicy** | [**ActivationPolicyEnum**](#ActivationPolicyEnum) | The policy that determines how the achievement starts, ends, or resets. - `user_action`: The achievement ends or resets relative to when the customer started the achievement. - `fixed_schedule`: The achievement starts, ends, or resets for all customers following a fixed schedule. | [optional] |
|**fixedStartDate** | **OffsetDateTime** | The achievement's start date when `activationPolicy` is set to `fixed_schedule`. **Note:** It must be an RFC3339 timestamp string. | [optional] |
|**endDate** | **OffsetDateTime** | The achievement's end date. If defined, customers cannot participate in the achievement after this date. **Note:** It must be an RFC3339 timestamp string. | [optional] |
|**allowRollbackAfterCompletion** | **Boolean** | When `true`, customer progress can be rolled back in completed achievements. | [optional] |
-|**sandbox** | **Boolean** | Indicates if this achievement is a live or sandbox achievement. Achievements of a given type can only be connected to Applications of the same type. | [optional] |
-|**subscribedApplications** | **List<Long>** | A list containing the IDs of all applications that are subscribed to A list containing the IDs of all Applications that are connected to this achievement. | [optional] |
-|**timezone** | **String** | A string containing an IANA timezone descriptor. | [optional] |
+|**subscribedApplications** | **List<Long>** | A list containing the IDs of all applications that are subscribed to A list containing the IDs of all Applications that are connected to this achievement. | |
diff --git a/docs/UpdateCampaign.md b/docs/UpdateCampaign.md
index 7cae9295..1d5f835d 100644
--- a/docs/UpdateCampaign.md
+++ b/docs/UpdateCampaign.md
@@ -48,6 +48,7 @@
| GIVEAWAYS | "giveaways" |
| STRIKETHROUGH | "strikethrough" |
| ACHIEVEMENTS | "achievements" |
+| ADVANCED_EVENTS | "advancedEvents" |
diff --git a/docs/UpdateCampaignTemplate.md b/docs/UpdateCampaignTemplate.md
index dd182591..cfff0698 100644
--- a/docs/UpdateCampaignTemplate.md
+++ b/docs/UpdateCampaignTemplate.md
@@ -49,6 +49,7 @@
| GIVEAWAYS | "giveaways" |
| STRIKETHROUGH | "strikethrough" |
| ACHIEVEMENTS | "achievements" |
+| ADVANCED_EVENTS | "advancedEvents" |
diff --git a/docs/UpdateExperiment.md b/docs/UpdateExperiment.md
index 2bf215f8..f2035724 100644
--- a/docs/UpdateExperiment.md
+++ b/docs/UpdateExperiment.md
@@ -9,6 +9,19 @@
|------------ | ------------- | ------------- | -------------|
|**isVariantAssignmentExternal** | **Boolean** | The source of the assignment. - false - The variant assignment is handled internally by Talon.One. - true - The variant assignment is handled externally. | |
|**campaign** | [**UpdateCampaign**](UpdateCampaign.md) | | |
+|**goalType** | [**GoalTypeEnum**](#GoalTypeEnum) | The goal of the experiment. Determines which single metric is used to decide the winning variant. When set to `other`, multiple metrics are used. If omitted, the current value is preserved. | [optional] |
+|**goalDescription** | **String** | A description of the experiment goal. Provides context for the AI summary and helps it interpret the outcome of the experiment against the stated goal. If omitted, the current value is preserved. | [optional] |
+
+
+
+## Enum: GoalTypeEnum
+
+| Name | Value |
+|---- | -----|
+| OTHER | "other" |
+| MAXIMIZE_REVENUE | "maximize_revenue" |
+| MAXIMIZE_ITEMS_SOLD | "maximize_items_sold" |
+| OPTIMIZE_DISCOUNT_EFFICIENCY | "optimize_discount_efficiency" |
diff --git a/docs/UpdateReward.md b/docs/UpdateReward.md
index a8d85bdf..07577c6c 100644
--- a/docs/UpdateReward.md
+++ b/docs/UpdateReward.md
@@ -10,8 +10,10 @@
|**name** | **String** | The name of the reward. | |
|**description** | **String** | A description of the reward. | [optional] |
|**status** | [**StatusEnum**](#StatusEnum) | The status of the reward. | |
-|**rule** | [**List<Rule>**](Rule.md) | Rule to apply. **Note**: The `bindings` field inside the rule must not be used in this endpoint. All bindings should be defined at the reward level via the top-level `bindings` field. | [optional] |
+|**visibilityConditions** | [**Rule**](Rule.md) | An optional rule that manages who can see this reward. If not specified, the reward is visible to all customers. **Note:** Only the `condition` field is evaluated within this rule. The `effects` field must be an empty array, and `bindings` are not supported. | [optional] |
+|**rule** | [**Rule**](Rule.md) | Rule to apply. **Note**: The `bindings` field inside the rule must not be used in this endpoint. All bindings should be defined at the reward level via the top-level `bindings` field. | [optional] |
|**bindings** | [**List<Binding>**](Binding.md) | A list of named variables created before the reward's rules are evaluated. Each binding pairs a name with a talang expression. The expression is evaluated once and its result is available by name in any rule condition or effect. Bindings must be defined outside of individual rules. | [optional] |
+|**pointsRequired** | [**List<RewardPointsRequired>**](RewardPointsRequired.md) | The loyalty points required to activate the reward. Each object defines the specific loyalty program and subledger from which points are deducted when activating the reward. **Note:** - Objects with an `id` are updated. - Objects without an `id` are created. - Existing objects omitted from the payload are deleted. | [optional] |
diff --git a/docs/UpdateSupportRequest.md b/docs/UpdateSupportRequest.md
new file mode 100644
index 00000000..d238b9d5
--- /dev/null
+++ b/docs/UpdateSupportRequest.md
@@ -0,0 +1,23 @@
+
+
+# UpdateSupportRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**requestStatus** | [**RequestStatusEnum**](#RequestStatusEnum) | Current status of the support request. | |
+|**processingNote** | **String** | Notes attached by the admin when rejecting or approving a request. | [optional] |
+
+
+
+## Enum: RequestStatusEnum
+
+| Name | Value |
+|---- | -----|
+| APPROVED | "approved" |
+| REJECTED | "rejected" |
+
+
+
diff --git a/pom.xml b/pom.xml
index 500ce8a3..1168b49d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
talon-one-clientjartalon-one-client
- 26.09.0
+ 26.11.0https://github.com/talon-one/talon-one-maven-artifactsTalon.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 1b7fe3ff..939f8665 100644
--- a/src/main/java/one/talon/ApiClient.java
+++ b/src/main/java/one/talon/ApiClient.java
@@ -142,7 +142,7 @@ protected void init() {
json = new JSON();
// Set default User-Agent.
- setUserAgent("OpenAPI-Generator/26.09.0/java");
+ setUserAgent("OpenAPI-Generator/26.11.0/java");
authentications = new HashMap();
}
diff --git a/src/main/java/one/talon/Configuration.java b/src/main/java/one/talon/Configuration.java
index 77afad4a..61a977be 100644
--- a/src/main/java/one/talon/Configuration.java
+++ b/src/main/java/one/talon/Configuration.java
@@ -19,7 +19,7 @@
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.22.0")
public class Configuration {
- public static final String VERSION = "26.09.0";
+ public static final String VERSION = "26.11.0";
private static final AtomicReference defaultApiClient = new AtomicReference<>();
private static volatile Supplier apiClientFactory = ApiClient::new;
diff --git a/src/main/java/one/talon/JSON.java b/src/main/java/one/talon/JSON.java
index 471ce3b5..e3b56a10 100644
--- a/src/main/java/one/talon/JSON.java
+++ b/src/main/java/one/talon/JSON.java
@@ -250,6 +250,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.CartItem.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.CartItemFilterTemplate.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.Catalog.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new one.talon.model.CatalogAction.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.CatalogActionFilter.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.CatalogItem.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.CatalogRule.CustomTypeAdapterFactory());
@@ -329,6 +330,9 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.EventType.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.EventV2.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.EventV3.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new one.talon.model.EventV3Connections.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new one.talon.model.EventV3Entity.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new one.talon.model.EventV3RequestEntity.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.Experiment.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.ExperimentCampaignCopy.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.ExperimentCopy.CustomTypeAdapterFactory());
@@ -361,6 +365,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.ExtendLoyaltyPointsExpiryDateEffectProps.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.ExtendedCoupon.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.FeatureFlag.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new one.talon.model.FeatureFlagUpdate.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.FeaturesFeed.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.FuncArgDef.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.FunctionDef.CustomTypeAdapterFactory());
@@ -430,6 +435,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.IncreaseAchievementProgressEffectProps.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.InfluencingCampaignDetails.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.IntegrationCampaign.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new one.talon.model.IntegrationCampaignBase.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.IntegrationCoupon.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.IntegrationCustomerProfileAudienceRequest.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.IntegrationCustomerProfileAudienceRequestItem.CustomTypeAdapterFactory());
@@ -450,6 +456,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.IntegrationHubEventPayloadLoyaltyProfileBasedTierDowngradeNotification.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.IntegrationHubEventPayloadLoyaltyProfileBasedTierUpgradeNotification.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.IntegrationHubEventRecord.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new one.talon.model.IntegrationHubEventStatusUpdate.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.IntegrationHubFlow.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.IntegrationHubFlowConfig.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.IntegrationHubFlowConfigResponse.CustomTypeAdapterFactory());
@@ -565,6 +572,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.NewCustomerSessionV2.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.NewEvent.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.NewEventType.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new one.talon.model.NewEventV3Entity.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.NewExperiment.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.NewExperimentVariant.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.NewExperimentVariantArray.CustomTypeAdapterFactory());
@@ -591,6 +599,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.NewReturn.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.NewRevisionVersion.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.NewReward.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new one.talon.model.NewRiskNotification.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.NewRole.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.NewRoleV2.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.NewRuleset.CustomTypeAdapterFactory());
@@ -659,6 +668,8 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.RevisionActivationRequest.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.RevisionVersion.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.Reward.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new one.talon.model.RewardPointsRequired.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new one.talon.model.RiskNotification.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.Role.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.RoleAssign.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.RoleMembership.CustomTypeAdapterFactory());
@@ -681,6 +692,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.RuleEligibilityFailureDetails.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.RuleFailureReason.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.RuleMetadata.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new one.talon.model.RuleMetadataEligibility.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.Ruleset.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.SSOConfig.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.SamlConnection.CustomTypeAdapterFactory());
@@ -731,6 +743,8 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.StrikethroughTrigger.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.SummarizeCampaignStoreBudget200Response.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.SummaryCampaignStoreBudget.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new one.talon.model.SupportRequest.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new one.talon.model.SupportRequestInput.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.TalangAttribute.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.TalangAttributeVisibility.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.TemplateArgDef.CustomTypeAdapterFactory());
@@ -788,6 +802,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.UpdateReward.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.UpdateRole.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.UpdateStore.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new one.talon.model.UpdateSupportRequest.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.UpdateUser.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.User.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new one.talon.model.UserEntity.CustomTypeAdapterFactory());
diff --git a/src/main/java/one/talon/api/IntegrationApi.java b/src/main/java/one/talon/api/IntegrationApi.java
index 35c6fe4f..066395fe 100644
--- a/src/main/java/one/talon/api/IntegrationApi.java
+++ b/src/main/java/one/talon/api/IntegrationApi.java
@@ -4716,7 +4716,7 @@ private okhttp3.Call trackEventV2ValidateBeforeCall(@javax.annotation.Nonnull In
/**
* Track event
- * Triggers a custom event. To use this endpoint: 1. Define a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) in the Campaign Manager. 1. Update or create a rule to check for this event. 1. Trigger the event with this endpoint. After you have successfully sent an event to Talon.One, you can list the received events in the **Events** view in the Campaign Manager. Talon.One also offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/entities/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). > [!note] **Note** > - `profileId` is required even though the schema does not specify it. > - If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. > - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). > - [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered in rule evaluation.
+ * Triggers a custom event. To use this endpoint: 1. [Create a custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) in the Campaign Manager. 1. In a rule, add the **Check for event types** [condition](https://docs.talon.one/docs/dev/concepts/entities/events#use-an-event-in-a-rule) and select the event you created. 1. Trigger the event with this endpoint. You can [list](https://docs.talon.one/docs/product/applications/display-events#list-events) the received events in the **Events** view of the Campaign Manager. For example, you can use this endpoint to trigger an event when a customer shares a link to a product. See our [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). > [!note] **Note** > - `profileId` is required even though the schema does not specify it. > - If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. > - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). > - [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered in rule evaluation.
* @param integrationEventV2Request body (required)
* @param silent Possible values: `yes` or `no`. - `yes`: Increases the performance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to yes)
* @param dry Indicates whether to persist the changes. Changes are ignored when `dry=true`. (optional)
@@ -4741,7 +4741,7 @@ public IntegrationEventV2Response trackEventV2(@javax.annotation.Nonnull Integra
/**
* Track event
- * Triggers a custom event. To use this endpoint: 1. Define a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) in the Campaign Manager. 1. Update or create a rule to check for this event. 1. Trigger the event with this endpoint. After you have successfully sent an event to Talon.One, you can list the received events in the **Events** view in the Campaign Manager. Talon.One also offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/entities/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). > [!note] **Note** > - `profileId` is required even though the schema does not specify it. > - If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. > - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). > - [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered in rule evaluation.
+ * Triggers a custom event. To use this endpoint: 1. [Create a custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) in the Campaign Manager. 1. In a rule, add the **Check for event types** [condition](https://docs.talon.one/docs/dev/concepts/entities/events#use-an-event-in-a-rule) and select the event you created. 1. Trigger the event with this endpoint. You can [list](https://docs.talon.one/docs/product/applications/display-events#list-events) the received events in the **Events** view of the Campaign Manager. For example, you can use this endpoint to trigger an event when a customer shares a link to a product. See our [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). > [!note] **Note** > - `profileId` is required even though the schema does not specify it. > - If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. > - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). > - [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered in rule evaluation.
* @param integrationEventV2Request body (required)
* @param silent Possible values: `yes` or `no`. - `yes`: Increases the performance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to yes)
* @param dry Indicates whether to persist the changes. Changes are ignored when `dry=true`. (optional)
@@ -4767,7 +4767,7 @@ public ApiResponse trackEventV2WithHttpInfo(@javax.a
/**
* Track event (asynchronously)
- * Triggers a custom event. To use this endpoint: 1. Define a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) in the Campaign Manager. 1. Update or create a rule to check for this event. 1. Trigger the event with this endpoint. After you have successfully sent an event to Talon.One, you can list the received events in the **Events** view in the Campaign Manager. Talon.One also offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/entities/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). > [!note] **Note** > - `profileId` is required even though the schema does not specify it. > - If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. > - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). > - [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered in rule evaluation.
+ * Triggers a custom event. To use this endpoint: 1. [Create a custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) in the Campaign Manager. 1. In a rule, add the **Check for event types** [condition](https://docs.talon.one/docs/dev/concepts/entities/events#use-an-event-in-a-rule) and select the event you created. 1. Trigger the event with this endpoint. You can [list](https://docs.talon.one/docs/product/applications/display-events#list-events) the received events in the **Events** view of the Campaign Manager. For example, you can use this endpoint to trigger an event when a customer shares a link to a product. See our [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). > [!note] **Note** > - `profileId` is required even though the schema does not specify it. > - If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. > - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). > - [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered in rule evaluation.
* @param integrationEventV2Request body (required)
* @param silent Possible values: `yes` or `no`. - `yes`: Increases the performance of the API call by returning a 204 response. - `no`: Returns a 200 response that contains the updated customer profiles. (optional, default to yes)
* @param dry Indicates whether to persist the changes. Changes are ignored when `dry=true`. (optional)
diff --git a/src/main/java/one/talon/api/ManagementApi.java b/src/main/java/one/talon/api/ManagementApi.java
index da36dbb3..b46483bc 100644
--- a/src/main/java/one/talon/api/ManagementApi.java
+++ b/src/main/java/one/talon/api/ManagementApi.java
@@ -62,6 +62,7 @@
import one.talon.model.ErrorResponse;
import one.talon.model.ErrorResponseWithStatus;
import one.talon.model.Experiment;
+import java.io.File;
import one.talon.model.GenerateCouponRejections200Response;
import one.talon.model.GetAccessLogsWithoutTotalCount200Response;
import one.talon.model.GetAdditionalCosts200Response;
@@ -16669,8 +16670,8 @@ private okhttp3.Call getLoyaltyCardTransactionLogsValidateBeforeCall(@javax.anno
}
/**
- * List card's transactions
- * Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned.
+ * List card's transactions (Management API)
+ * Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. > [!note] For most use cases, especially real-time integrations, use the Integration API endpoint: > [List card's transactions](https://docs.talon.one/integration-api#tag/Loyalty-cards/operation/getLoyaltyCardTransactions). If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned.
* @param loyaltyProgramId 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. (required)
* @param loyaltyCardId 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. **Important**: The loyalty card ID requires [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) if it contains special characters. For example, you must encode `NewCard2026%` as `NewCard2026%25`. (required)
* @param startDate Date and time from which results are returned. Results are filtered by transaction creation date. > [!note] **Note** > - This 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)
@@ -16697,8 +16698,8 @@ public GetLoyaltyCardTransactionLogs200Response getLoyaltyCardTransactionLogs(@j
}
/**
- * List card's transactions
- * Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned.
+ * List card's transactions (Management API)
+ * Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. > [!note] For most use cases, especially real-time integrations, use the Integration API endpoint: > [List card's transactions](https://docs.talon.one/integration-api#tag/Loyalty-cards/operation/getLoyaltyCardTransactions). If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned.
* @param loyaltyProgramId 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. (required)
* @param loyaltyCardId 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. **Important**: The loyalty card ID requires [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) if it contains special characters. For example, you must encode `NewCard2026%` as `NewCard2026%25`. (required)
* @param startDate Date and time from which results are returned. Results are filtered by transaction creation date. > [!note] **Note** > - This 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)
@@ -16726,8 +16727,8 @@ public ApiResponse getLoyaltyCardTrans
}
/**
- * List card's transactions (asynchronously)
- * Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned.
+ * List card's transactions (Management API) (asynchronously)
+ * Retrieve the transaction logs for the given [loyalty card](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) within the specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types) with filtering options applied. > [!note] For most use cases, especially real-time integrations, use the Integration API endpoint: > [List card's transactions](https://docs.talon.one/integration-api#tag/Loyalty-cards/operation/getLoyaltyCardTransactions). If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned.
* @param loyaltyProgramId 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. (required)
* @param loyaltyCardId 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. **Important**: The loyalty card ID requires [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) if it contains special characters. For example, you must encode `NewCard2026%` as `NewCard2026%25`. (required)
* @param startDate Date and time from which results are returned. Results are filtered by transaction creation date. > [!note] **Note** > - This 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)
@@ -17039,8 +17040,8 @@ private okhttp3.Call getLoyaltyLedgerBalancesValidateBeforeCall(@javax.annotatio
}
/**
- * 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)
+ * Get customer's loyalty balances (Management API)
+ * 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] **Note** > - For most use cases, especially real-time integrations, use the Integration API endpoint: [Get customer's loyalty balances](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyBalances). > - 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] **Note** > - This 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)
@@ -17065,8 +17066,8 @@ public LoyaltyBalancesWithTiers getLoyaltyLedgerBalances(@javax.annotation.Nonnu
}
/**
- * 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)
+ * Get customer's loyalty balances (Management API)
+ * 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] **Note** > - For most use cases, especially real-time integrations, use the Integration API endpoint: [Get customer's loyalty balances](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyBalances). > - 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] **Note** > - This 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)
@@ -17092,8 +17093,8 @@ public ApiResponse getLoyaltyLedgerBalancesWithHttpInf
}
/**
- * 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)
+ * Get customer's loyalty balances (Management API) (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] **Note** > - For most use cases, especially real-time integrations, use the Integration API endpoint: [Get customer's loyalty balances](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyBalances). > - 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] **Note** > - This 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)
@@ -17518,8 +17519,8 @@ private okhttp3.Call getLoyaltyProgramProfileLedgerTransactionsValidateBeforeCal
}
/**
- * 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.
+ * List customer's loyalty transactions (Management API)
+ * 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] **Note** > - For most use cases, especially real-time integrations, use the Integration API endpoint: > [List customer's loyalty transactions](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). > - 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)
@@ -17549,8 +17550,8 @@ public GetLoyaltyProgramProfileTransactions200Response getLoyaltyProgramProfileL
}
/**
- * 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.
+ * List customer's loyalty transactions (Management API)
+ * 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] **Note** > - For most use cases, especially real-time integrations, use the Integration API endpoint: > [List customer's loyalty transactions](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). > - 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)
@@ -17581,8 +17582,8 @@ public ApiResponse getLoyaltyPr
}
/**
- * 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.
+ * List customer's loyalty transactions (Management API) (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] **Note** > - For most use cases, especially real-time integrations, use the Integration API endpoint: > [List customer's loyalty transactions](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions). > - 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)
@@ -19676,7 +19677,7 @@ public okhttp3.Call getWebhooksAsync(@javax.annotation.Nullable String applicati
/**
* Build call for importAccountCollection
* @param collectionId The ID of the collection. You can get it with the [List collections in account](#tag/Collections/operation/listAccountCollections) endpoint. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -19689,7 +19690,7 @@ public okhttp3.Call getWebhooksAsync(@javax.annotation.Nullable String applicati
401
Unauthorized
-
*/
- public okhttp3.Call importAccountCollectionCall(@javax.annotation.Nonnull Long collectionId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importAccountCollectionCall(@javax.annotation.Nonnull Long collectionId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -19740,7 +19741,7 @@ public okhttp3.Call importAccountCollectionCall(@javax.annotation.Nonnull Long c
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call importAccountCollectionValidateBeforeCall(@javax.annotation.Nonnull Long collectionId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call importAccountCollectionValidateBeforeCall(@javax.annotation.Nonnull Long collectionId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
// verify the required parameter 'collectionId' is set
if (collectionId == null) {
throw new ApiException("Missing the required parameter 'collectionId' when calling importAccountCollection(Async)");
@@ -19754,7 +19755,7 @@ private okhttp3.Call importAccountCollectionValidateBeforeCall(@javax.annotation
* Import data into existing account-level collection
* Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. ## Example ``` item Adidas Nike Asics ``` > [!note] Before sending a request to this endpoint, ensure the data in the > CSV to import is different from the data currently stored in the collection.
* @param collectionId The ID of the collection. You can get it with the [List collections in account](#tag/Collections/operation/listAccountCollections) endpoint. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @return ModelImport
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -19766,7 +19767,7 @@ private okhttp3.Call importAccountCollectionValidateBeforeCall(@javax.annotation
401
Unauthorized
-
*/
- public ModelImport importAccountCollection(@javax.annotation.Nonnull Long collectionId, @javax.annotation.Nullable String upFile) throws ApiException {
+ public ModelImport importAccountCollection(@javax.annotation.Nonnull Long collectionId, @javax.annotation.Nullable File upFile) throws ApiException {
ApiResponse localVarResp = importAccountCollectionWithHttpInfo(collectionId, upFile);
return localVarResp.getData();
}
@@ -19775,7 +19776,7 @@ public ModelImport importAccountCollection(@javax.annotation.Nonnull Long collec
* Import data into existing account-level collection
* Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. ## Example ``` item Adidas Nike Asics ``` > [!note] Before sending a request to this endpoint, ensure the data in the > CSV to import is different from the data currently stored in the collection.
* @param collectionId The ID of the collection. You can get it with the [List collections in account](#tag/Collections/operation/listAccountCollections) endpoint. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @return ApiResponse<ModelImport>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -19787,7 +19788,7 @@ public ModelImport importAccountCollection(@javax.annotation.Nonnull Long collec
401
Unauthorized
-
*/
- public ApiResponse importAccountCollectionWithHttpInfo(@javax.annotation.Nonnull Long collectionId, @javax.annotation.Nullable String upFile) throws ApiException {
+ public ApiResponse importAccountCollectionWithHttpInfo(@javax.annotation.Nonnull Long collectionId, @javax.annotation.Nullable File upFile) throws ApiException {
okhttp3.Call localVarCall = importAccountCollectionValidateBeforeCall(collectionId, upFile, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
@@ -19797,7 +19798,7 @@ public ApiResponse importAccountCollectionWithHttpInfo(@javax.annot
* Import data into existing account-level collection (asynchronously)
* Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data. The import **replaces** the initial content of the collection. The CSV file **must** only contain the following column: - `item`: the values in your collection. A collection is limited to 500,000 items. ## Example ``` item Adidas Nike Asics ``` > [!note] Before sending a request to this endpoint, ensure the data in the > CSV to import is different from the data currently stored in the collection.
* @param collectionId The ID of the collection. You can get it with the [List collections in account](#tag/Collections/operation/listAccountCollections) endpoint. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (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
@@ -19810,7 +19811,7 @@ public ApiResponse importAccountCollectionWithHttpInfo(@javax.annot
401
Unauthorized
-
*/
- public okhttp3.Call importAccountCollectionAsync(@javax.annotation.Nonnull Long collectionId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importAccountCollectionAsync(@javax.annotation.Nonnull Long collectionId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
okhttp3.Call localVarCall = importAccountCollectionValidateBeforeCall(collectionId, upFile, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
@@ -19820,7 +19821,7 @@ public okhttp3.Call importAccountCollectionAsync(@javax.annotation.Nonnull Long
/**
* Build call for importAllowedList
* @param attributeId The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -19834,7 +19835,7 @@ public okhttp3.Call importAccountCollectionAsync(@javax.annotation.Nonnull Long
404
Not found
-
*/
- public okhttp3.Call importAllowedListCall(@javax.annotation.Nonnull Long attributeId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importAllowedListCall(@javax.annotation.Nonnull Long attributeId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -19885,7 +19886,7 @@ public okhttp3.Call importAllowedListCall(@javax.annotation.Nonnull Long attribu
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call importAllowedListValidateBeforeCall(@javax.annotation.Nonnull Long attributeId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call importAllowedListValidateBeforeCall(@javax.annotation.Nonnull Long attributeId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
// verify the required parameter 'attributeId' is set
if (attributeId == null) {
throw new ApiException("Missing the required parameter 'attributeId' when calling importAllowedList(Async)");
@@ -19899,7 +19900,7 @@ private okhttp3.Call importAllowedListValidateBeforeCall(@javax.annotation.Nonnu
* Import allowed values for attribute
* Upload a CSV file containing a list of [picklist values](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#picklist-values) for the specified attribute. The file should be sent as multipart data. The import **replaces** the previous list of allowed values for this attribute, if any. The CSV file **must** only contain the following column: - `item`: The values in your allowed list, for example a list of SKUs. An allowed list is limited to 500,000 items. ## Example ```text item CS-VG-04032021-UP-50D-10 CS-DV-04042021-UP-49D-12 CS-DG-02082021-UP-50G-07 ```
* @param attributeId The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @return ModelImport
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -19912,7 +19913,7 @@ private okhttp3.Call importAllowedListValidateBeforeCall(@javax.annotation.Nonnu
404
Not found
-
*/
- public ModelImport importAllowedList(@javax.annotation.Nonnull Long attributeId, @javax.annotation.Nullable String upFile) throws ApiException {
+ public ModelImport importAllowedList(@javax.annotation.Nonnull Long attributeId, @javax.annotation.Nullable File upFile) throws ApiException {
ApiResponse localVarResp = importAllowedListWithHttpInfo(attributeId, upFile);
return localVarResp.getData();
}
@@ -19921,7 +19922,7 @@ public ModelImport importAllowedList(@javax.annotation.Nonnull Long attributeId,
* Import allowed values for attribute
* Upload a CSV file containing a list of [picklist values](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#picklist-values) for the specified attribute. The file should be sent as multipart data. The import **replaces** the previous list of allowed values for this attribute, if any. The CSV file **must** only contain the following column: - `item`: The values in your allowed list, for example a list of SKUs. An allowed list is limited to 500,000 items. ## Example ```text item CS-VG-04032021-UP-50D-10 CS-DV-04042021-UP-49D-12 CS-DG-02082021-UP-50G-07 ```
* @param attributeId The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @return ApiResponse<ModelImport>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -19934,7 +19935,7 @@ public ModelImport importAllowedList(@javax.annotation.Nonnull Long attributeId,
404
Not found
-
*/
- public ApiResponse importAllowedListWithHttpInfo(@javax.annotation.Nonnull Long attributeId, @javax.annotation.Nullable String upFile) throws ApiException {
+ public ApiResponse importAllowedListWithHttpInfo(@javax.annotation.Nonnull Long attributeId, @javax.annotation.Nullable File upFile) throws ApiException {
okhttp3.Call localVarCall = importAllowedListValidateBeforeCall(attributeId, upFile, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
@@ -19944,7 +19945,7 @@ public ApiResponse importAllowedListWithHttpInfo(@javax.annotation.
* Import allowed values for attribute (asynchronously)
* Upload a CSV file containing a list of [picklist values](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#picklist-values) for the specified attribute. The file should be sent as multipart data. The import **replaces** the previous list of allowed values for this attribute, if any. The CSV file **must** only contain the following column: - `item`: The values in your allowed list, for example a list of SKUs. An allowed list is limited to 500,000 items. ## Example ```text item CS-VG-04032021-UP-50D-10 CS-DV-04042021-UP-49D-12 CS-DG-02082021-UP-50G-07 ```
* @param attributeId The ID of the attribute. You can find the ID in the Campaign Manager's URL when you display the details of an attribute in **Account** > **Tools** > **Attributes**. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (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
@@ -19958,7 +19959,7 @@ public ApiResponse importAllowedListWithHttpInfo(@javax.annotation.
404
Not found
-
*/
- public okhttp3.Call importAllowedListAsync(@javax.annotation.Nonnull Long attributeId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importAllowedListAsync(@javax.annotation.Nonnull Long attributeId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
okhttp3.Call localVarCall = importAllowedListValidateBeforeCall(attributeId, upFile, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
@@ -19968,7 +19969,7 @@ public okhttp3.Call importAllowedListAsync(@javax.annotation.Nonnull Long attrib
/**
* Build call for importAudiencesMemberships
* @param audienceId The ID of the audience. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -19982,7 +19983,7 @@ public okhttp3.Call importAllowedListAsync(@javax.annotation.Nonnull Long attrib
404
Not found
-
*/
- public okhttp3.Call importAudiencesMembershipsCall(@javax.annotation.Nonnull Long audienceId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importAudiencesMembershipsCall(@javax.annotation.Nonnull Long audienceId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -20033,7 +20034,7 @@ public okhttp3.Call importAudiencesMembershipsCall(@javax.annotation.Nonnull Lon
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call importAudiencesMembershipsValidateBeforeCall(@javax.annotation.Nonnull Long audienceId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call importAudiencesMembershipsValidateBeforeCall(@javax.annotation.Nonnull Long audienceId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
// verify the required parameter 'audienceId' is set
if (audienceId == null) {
throw new ApiException("Missing the required parameter 'audienceId' when calling importAudiencesMemberships(Async)");
@@ -20047,7 +20048,7 @@ private okhttp3.Call importAudiencesMembershipsValidateBeforeCall(@javax.annotat
* Import audience members
* Upload a CSV file containing the integration IDs of the members you want to add to an audience. The file should be sent as multipart data and should contain only the following column (required): - `profileintegrationid`: The integration ID of the customer profile. The import **replaces** the previous list of audience members. > [!note] We recommend limiting your file size to 500 MB. ## Example ```text profileintegrationid charles alexa ```
* @param audienceId The ID of the audience. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @return ModelImport
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -20060,7 +20061,7 @@ private okhttp3.Call importAudiencesMembershipsValidateBeforeCall(@javax.annotat
404
Not found
-
*/
- public ModelImport importAudiencesMemberships(@javax.annotation.Nonnull Long audienceId, @javax.annotation.Nullable String upFile) throws ApiException {
+ public ModelImport importAudiencesMemberships(@javax.annotation.Nonnull Long audienceId, @javax.annotation.Nullable File upFile) throws ApiException {
ApiResponse localVarResp = importAudiencesMembershipsWithHttpInfo(audienceId, upFile);
return localVarResp.getData();
}
@@ -20069,7 +20070,7 @@ public ModelImport importAudiencesMemberships(@javax.annotation.Nonnull Long aud
* Import audience members
* Upload a CSV file containing the integration IDs of the members you want to add to an audience. The file should be sent as multipart data and should contain only the following column (required): - `profileintegrationid`: The integration ID of the customer profile. The import **replaces** the previous list of audience members. > [!note] We recommend limiting your file size to 500 MB. ## Example ```text profileintegrationid charles alexa ```
* @param audienceId The ID of the audience. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @return ApiResponse<ModelImport>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -20082,7 +20083,7 @@ public ModelImport importAudiencesMemberships(@javax.annotation.Nonnull Long aud
404
Not found
-
*/
- public ApiResponse importAudiencesMembershipsWithHttpInfo(@javax.annotation.Nonnull Long audienceId, @javax.annotation.Nullable String upFile) throws ApiException {
+ public ApiResponse importAudiencesMembershipsWithHttpInfo(@javax.annotation.Nonnull Long audienceId, @javax.annotation.Nullable File upFile) throws ApiException {
okhttp3.Call localVarCall = importAudiencesMembershipsValidateBeforeCall(audienceId, upFile, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
@@ -20092,7 +20093,7 @@ public ApiResponse importAudiencesMembershipsWithHttpInfo(@javax.an
* Import audience members (asynchronously)
* Upload a CSV file containing the integration IDs of the members you want to add to an audience. The file should be sent as multipart data and should contain only the following column (required): - `profileintegrationid`: The integration ID of the customer profile. The import **replaces** the previous list of audience members. > [!note] We recommend limiting your file size to 500 MB. ## Example ```text profileintegrationid charles alexa ```
* @param audienceId The ID of the audience. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (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
@@ -20106,7 +20107,7 @@ public ApiResponse importAudiencesMembershipsWithHttpInfo(@javax.an
404
Not found
-
*/
- public okhttp3.Call importAudiencesMembershipsAsync(@javax.annotation.Nonnull Long audienceId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importAudiencesMembershipsAsync(@javax.annotation.Nonnull Long audienceId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
okhttp3.Call localVarCall = importAudiencesMembershipsValidateBeforeCall(audienceId, upFile, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
@@ -20119,7 +20120,7 @@ public okhttp3.Call importAudiencesMembershipsAsync(@javax.annotation.Nonnull Lo
* @param campaignId The ID of the campaign. It is displayed in your Talon.One deployment URL. (required)
* @param action The action that this budget is limiting. (optional)
* @param period The period to which the limit applies. **Note**: For budgets with no period, set this to `overall`. (optional)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -20131,7 +20132,7 @@ public okhttp3.Call importAudiencesMembershipsAsync(@javax.annotation.Nonnull Lo
400
Bad request
-
*/
- public okhttp3.Call importCampaignStoreBudgetCall(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable String action, @javax.annotation.Nullable String period, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importCampaignStoreBudgetCall(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable String action, @javax.annotation.Nullable String period, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -20191,7 +20192,7 @@ public okhttp3.Call importCampaignStoreBudgetCall(@javax.annotation.Nonnull Long
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call importCampaignStoreBudgetValidateBeforeCall(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable String action, @javax.annotation.Nullable String period, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call importCampaignStoreBudgetValidateBeforeCall(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable String action, @javax.annotation.Nullable String period, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
// verify the required parameter 'applicationId' is set
if (applicationId == null) {
throw new ApiException("Missing the required parameter 'applicationId' when calling importCampaignStoreBudget(Async)");
@@ -20213,7 +20214,7 @@ private okhttp3.Call importCampaignStoreBudgetValidateBeforeCall(@javax.annotati
* @param campaignId The ID of the campaign. It is displayed in your Talon.One deployment URL. (required)
* @param action The action that this budget is limiting. (optional)
* @param period The period to which the limit applies. **Note**: For budgets with no period, set this to `overall`. (optional)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @return ModelImport
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -20224,7 +20225,7 @@ private okhttp3.Call importCampaignStoreBudgetValidateBeforeCall(@javax.annotati
400
Bad request
-
*/
- public ModelImport importCampaignStoreBudget(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable String action, @javax.annotation.Nullable String period, @javax.annotation.Nullable String upFile) throws ApiException {
+ public ModelImport importCampaignStoreBudget(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable String action, @javax.annotation.Nullable String period, @javax.annotation.Nullable File upFile) throws ApiException {
ApiResponse localVarResp = importCampaignStoreBudgetWithHttpInfo(applicationId, campaignId, action, period, upFile);
return localVarResp.getData();
}
@@ -20236,7 +20237,7 @@ public ModelImport importCampaignStoreBudget(@javax.annotation.Nonnull Long appl
* @param campaignId The ID of the campaign. It is displayed in your Talon.One deployment URL. (required)
* @param action The action that this budget is limiting. (optional)
* @param period The period to which the limit applies. **Note**: For budgets with no period, set this to `overall`. (optional)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @return ApiResponse<ModelImport>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -20247,7 +20248,7 @@ public ModelImport importCampaignStoreBudget(@javax.annotation.Nonnull Long appl
400
Bad request
-
*/
- public ApiResponse importCampaignStoreBudgetWithHttpInfo(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable String action, @javax.annotation.Nullable String period, @javax.annotation.Nullable String upFile) throws ApiException {
+ public ApiResponse importCampaignStoreBudgetWithHttpInfo(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable String action, @javax.annotation.Nullable String period, @javax.annotation.Nullable File upFile) throws ApiException {
okhttp3.Call localVarCall = importCampaignStoreBudgetValidateBeforeCall(applicationId, campaignId, action, period, upFile, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
@@ -20260,7 +20261,7 @@ public ApiResponse importCampaignStoreBudgetWithHttpInfo(@javax.ann
* @param campaignId The ID of the campaign. It is displayed in your Talon.One deployment URL. (required)
* @param action The action that this budget is limiting. (optional)
* @param period The period to which the limit applies. **Note**: For budgets with no period, set this to `overall`. (optional)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (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
@@ -20272,7 +20273,7 @@ public ApiResponse importCampaignStoreBudgetWithHttpInfo(@javax.ann
400
Bad request
-
*/
- public okhttp3.Call importCampaignStoreBudgetAsync(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable String action, @javax.annotation.Nullable String period, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importCampaignStoreBudgetAsync(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable String action, @javax.annotation.Nullable String period, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
okhttp3.Call localVarCall = importCampaignStoreBudgetValidateBeforeCall(applicationId, campaignId, action, period, upFile, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
@@ -20283,7 +20284,7 @@ public okhttp3.Call importCampaignStoreBudgetAsync(@javax.annotation.Nonnull Lon
* Build call for importCampaignStores
* @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required)
* @param campaignId The ID of the campaign. It is displayed in your Talon.One deployment URL. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -20297,7 +20298,7 @@ public okhttp3.Call importCampaignStoreBudgetAsync(@javax.annotation.Nonnull Lon
404
Not found
-
*/
- public okhttp3.Call importCampaignStoresCall(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importCampaignStoresCall(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -20349,7 +20350,7 @@ public okhttp3.Call importCampaignStoresCall(@javax.annotation.Nonnull Long appl
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call importCampaignStoresValidateBeforeCall(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call importCampaignStoresValidateBeforeCall(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
// verify the required parameter 'applicationId' is set
if (applicationId == null) {
throw new ApiException("Missing the required parameter 'applicationId' when calling importCampaignStores(Async)");
@@ -20369,7 +20370,7 @@ private okhttp3.Call importCampaignStoresValidateBeforeCall(@javax.annotation.No
* Upload a CSV file containing the stores you want to link to a specific campaign. Send the file as multipart data. The CSV file **must** only contain the following column: - `store_integration_id`: The identifier of the store. The import **replaces** the previous list of stores linked to the campaign.
* @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required)
* @param campaignId The ID of the campaign. It is displayed in your Talon.One deployment URL. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @return ModelImport
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -20382,7 +20383,7 @@ private okhttp3.Call importCampaignStoresValidateBeforeCall(@javax.annotation.No
404
Not found
-
*/
- public ModelImport importCampaignStores(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable String upFile) throws ApiException {
+ public ModelImport importCampaignStores(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable File upFile) throws ApiException {
ApiResponse localVarResp = importCampaignStoresWithHttpInfo(applicationId, campaignId, upFile);
return localVarResp.getData();
}
@@ -20392,7 +20393,7 @@ public ModelImport importCampaignStores(@javax.annotation.Nonnull Long applicati
* Upload a CSV file containing the stores you want to link to a specific campaign. Send the file as multipart data. The CSV file **must** only contain the following column: - `store_integration_id`: The identifier of the store. The import **replaces** the previous list of stores linked to the campaign.
* @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required)
* @param campaignId The ID of the campaign. It is displayed in your Talon.One deployment URL. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @return ApiResponse<ModelImport>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -20405,7 +20406,7 @@ public ModelImport importCampaignStores(@javax.annotation.Nonnull Long applicati
404
Not found
-
*/
- public ApiResponse importCampaignStoresWithHttpInfo(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable String upFile) throws ApiException {
+ public ApiResponse importCampaignStoresWithHttpInfo(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable File upFile) throws ApiException {
okhttp3.Call localVarCall = importCampaignStoresValidateBeforeCall(applicationId, campaignId, upFile, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
@@ -20416,7 +20417,7 @@ public ApiResponse importCampaignStoresWithHttpInfo(@javax.annotati
* Upload a CSV file containing the stores you want to link to a specific campaign. Send the file as multipart data. The CSV file **must** only contain the following column: - `store_integration_id`: The identifier of the store. The import **replaces** the previous list of stores linked to the campaign.
* @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required)
* @param campaignId The ID of the campaign. It is displayed in your Talon.One deployment URL. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (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
@@ -20430,7 +20431,7 @@ public ApiResponse importCampaignStoresWithHttpInfo(@javax.annotati
404
Not found
-
*/
- public okhttp3.Call importCampaignStoresAsync(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importCampaignStoresAsync(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
okhttp3.Call localVarCall = importCampaignStoresValidateBeforeCall(applicationId, campaignId, upFile, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
@@ -20442,7 +20443,7 @@ public okhttp3.Call importCampaignStoresAsync(@javax.annotation.Nonnull Long app
* @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required)
* @param campaignId The ID of the campaign. It is displayed in your Talon.One deployment URL. (required)
* @param collectionId The ID of the collection. You can get it with the [List collections in Application](#tag/Collections/operation/listCollectionsInApplication) endpoint. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -20454,7 +20455,7 @@ public okhttp3.Call importCampaignStoresAsync(@javax.annotation.Nonnull Long app
401
Unauthorized
-
*/
- public okhttp3.Call importCollectionCall(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nonnull Long collectionId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importCollectionCall(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nonnull Long collectionId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -20507,7 +20508,7 @@ public okhttp3.Call importCollectionCall(@javax.annotation.Nonnull Long applicat
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call importCollectionValidateBeforeCall(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nonnull Long collectionId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call importCollectionValidateBeforeCall(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nonnull Long collectionId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
// verify the required parameter 'applicationId' is set
if (applicationId == null) {
throw new ApiException("Missing the required parameter 'applicationId' when calling importCollection(Async)");
@@ -20533,7 +20534,7 @@ private okhttp3.Call importCollectionValidateBeforeCall(@javax.annotation.Nonnul
* @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required)
* @param campaignId The ID of the campaign. It is displayed in your Talon.One deployment URL. (required)
* @param collectionId The ID of the collection. You can get it with the [List collections in Application](#tag/Collections/operation/listCollectionsInApplication) endpoint. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @return ModelImport
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -20544,7 +20545,7 @@ private okhttp3.Call importCollectionValidateBeforeCall(@javax.annotation.Nonnul
401
Unauthorized
-
*/
- public ModelImport importCollection(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nonnull Long collectionId, @javax.annotation.Nullable String upFile) throws ApiException {
+ public ModelImport importCollection(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nonnull Long collectionId, @javax.annotation.Nullable File upFile) throws ApiException {
ApiResponse localVarResp = importCollectionWithHttpInfo(applicationId, campaignId, collectionId, upFile);
return localVarResp.getData();
}
@@ -20555,7 +20556,7 @@ public ModelImport importCollection(@javax.annotation.Nonnull Long applicationId
* @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required)
* @param campaignId The ID of the campaign. It is displayed in your Talon.One deployment URL. (required)
* @param collectionId The ID of the collection. You can get it with the [List collections in Application](#tag/Collections/operation/listCollectionsInApplication) endpoint. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @return ApiResponse<ModelImport>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -20566,7 +20567,7 @@ public ModelImport importCollection(@javax.annotation.Nonnull Long applicationId
401
Unauthorized
-
*/
- public ApiResponse importCollectionWithHttpInfo(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nonnull Long collectionId, @javax.annotation.Nullable String upFile) throws ApiException {
+ public ApiResponse importCollectionWithHttpInfo(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nonnull Long collectionId, @javax.annotation.Nullable File upFile) throws ApiException {
okhttp3.Call localVarCall = importCollectionValidateBeforeCall(applicationId, campaignId, collectionId, upFile, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
@@ -20578,7 +20579,7 @@ public ApiResponse importCollectionWithHttpInfo(@javax.annotation.N
* @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required)
* @param campaignId The ID of the campaign. It is displayed in your Talon.One deployment URL. (required)
* @param collectionId The ID of the collection. You can get it with the [List collections in Application](#tag/Collections/operation/listCollectionsInApplication) endpoint. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (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
@@ -20590,7 +20591,7 @@ public ApiResponse importCollectionWithHttpInfo(@javax.annotation.N
401
Unauthorized
-
*/
- public okhttp3.Call importCollectionAsync(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nonnull Long collectionId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importCollectionAsync(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nonnull Long collectionId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
okhttp3.Call localVarCall = importCollectionValidateBeforeCall(applicationId, campaignId, collectionId, upFile, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
@@ -20602,7 +20603,7 @@ public okhttp3.Call importCollectionAsync(@javax.annotation.Nonnull Long applica
* @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required)
* @param campaignId The ID of the campaign. It is displayed in your Talon.One deployment URL. (required)
* @param skipDuplicates An indicator of whether to skip duplicate coupon values instead of causing an error. Duplicate values are ignored when `skipDuplicates=true`. (optional)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -20613,7 +20614,7 @@ public okhttp3.Call importCollectionAsync(@javax.annotation.Nonnull Long applica
200
OK
-
*/
- public okhttp3.Call importCouponsCall(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable Boolean skipDuplicates, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importCouponsCall(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable Boolean skipDuplicates, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -20669,7 +20670,7 @@ public okhttp3.Call importCouponsCall(@javax.annotation.Nonnull Long application
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call importCouponsValidateBeforeCall(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable Boolean skipDuplicates, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call importCouponsValidateBeforeCall(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable Boolean skipDuplicates, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
// verify the required parameter 'applicationId' is set
if (applicationId == null) {
throw new ApiException("Missing the required parameter 'applicationId' when calling importCoupons(Async)");
@@ -20690,7 +20691,7 @@ private okhttp3.Call importCouponsValidateBeforeCall(@javax.annotation.Nonnull L
* @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required)
* @param campaignId The ID of the campaign. It is displayed in your Talon.One deployment URL. (required)
* @param skipDuplicates An indicator of whether to skip duplicate coupon values instead of causing an error. Duplicate values are ignored when `skipDuplicates=true`. (optional)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @return ModelImport
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -20700,7 +20701,7 @@ private okhttp3.Call importCouponsValidateBeforeCall(@javax.annotation.Nonnull L
200
OK
-
*/
- public ModelImport importCoupons(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable Boolean skipDuplicates, @javax.annotation.Nullable String upFile) throws ApiException {
+ public ModelImport importCoupons(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable Boolean skipDuplicates, @javax.annotation.Nullable File upFile) throws ApiException {
ApiResponse localVarResp = importCouponsWithHttpInfo(applicationId, campaignId, skipDuplicates, upFile);
return localVarResp.getData();
}
@@ -20711,7 +20712,7 @@ public ModelImport importCoupons(@javax.annotation.Nonnull Long applicationId, @
* @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required)
* @param campaignId The ID of the campaign. It is displayed in your Talon.One deployment URL. (required)
* @param skipDuplicates An indicator of whether to skip duplicate coupon values instead of causing an error. Duplicate values are ignored when `skipDuplicates=true`. (optional)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @return ApiResponse<ModelImport>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -20721,7 +20722,7 @@ public ModelImport importCoupons(@javax.annotation.Nonnull Long applicationId, @
200
OK
-
*/
- public ApiResponse importCouponsWithHttpInfo(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable Boolean skipDuplicates, @javax.annotation.Nullable String upFile) throws ApiException {
+ public ApiResponse importCouponsWithHttpInfo(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable Boolean skipDuplicates, @javax.annotation.Nullable File upFile) throws ApiException {
okhttp3.Call localVarCall = importCouponsValidateBeforeCall(applicationId, campaignId, skipDuplicates, upFile, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
@@ -20733,7 +20734,7 @@ public ApiResponse importCouponsWithHttpInfo(@javax.annotation.Nonn
* @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required)
* @param campaignId The ID of the campaign. It is displayed in your Talon.One deployment URL. (required)
* @param skipDuplicates An indicator of whether to skip duplicate coupon values instead of causing an error. Duplicate values are ignored when `skipDuplicates=true`. (optional)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (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
@@ -20744,7 +20745,7 @@ public ApiResponse importCouponsWithHttpInfo(@javax.annotation.Nonn
200
OK
-
*/
- public okhttp3.Call importCouponsAsync(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable Boolean skipDuplicates, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importCouponsAsync(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable Boolean skipDuplicates, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
okhttp3.Call localVarCall = importCouponsValidateBeforeCall(applicationId, campaignId, skipDuplicates, upFile, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
@@ -20754,7 +20755,7 @@ public okhttp3.Call importCouponsAsync(@javax.annotation.Nonnull Long applicatio
/**
* Build call for importLoyaltyCards
* @param loyaltyProgramId 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. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -20767,7 +20768,7 @@ public okhttp3.Call importCouponsAsync(@javax.annotation.Nonnull Long applicatio
404
Not found
-
*/
- public okhttp3.Call importLoyaltyCardsCall(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importLoyaltyCardsCall(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -20818,7 +20819,7 @@ public okhttp3.Call importLoyaltyCardsCall(@javax.annotation.Nonnull Long loyalt
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call importLoyaltyCardsValidateBeforeCall(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call importLoyaltyCardsValidateBeforeCall(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable File upFile, 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 importLoyaltyCards(Async)");
@@ -20830,9 +20831,9 @@ private okhttp3.Call importLoyaltyCardsValidateBeforeCall(@javax.annotation.Nonn
/**
* Import loyalty cards
- * Upload a CSV file containing the loyalty cards that you want to use in your card-based loyalty program. Send the file as multipart data. It contains the following columns for each card: - `identifier` (required): The identifier of the loyalty card, which must match the regular expression `^[A-Za-z0-9._%+@-]+$`. - `state` (required): The state of the loyalty card. It can be `active` or `inactive`. - `customerprofileids` (optional): An array of strings representing the identifiers of the customer profiles linked to the loyalty card. The identifiers should be separated with a semicolon (;). > [!note] We recommend limiting your file size to 500MB. ## Example ```csv identifier,state,customerprofileids 123-456-789AT,active,Alexa001;UserA ```
+ * Upload a CSV file containing the loyalty cards that you want to use in your card-based loyalty program. Send the file as multipart data. It contains the following columns for each card: - `identifier` (required): The identifier of the loyalty card, which must match the regular expression `^[A-Za-z0-9._%+@-]+$`. - `state` (required): The state of the loyalty card. It can be `active` or `inactive`. - `customerprofileids` (optional): An array of strings representing the identifiers of the customer profiles linked to the loyalty card. The identifiers should be separated with a semicolon (;). > [!note] Your CSV file must contain less than 500,000 rows. Requests time out after 30 seconds. ## Example ```csv identifier,state,customerprofileids 123-456-789AT,active,Alexa001;UserA ```
* @param loyaltyProgramId 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. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @return ModelImport
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -20844,16 +20845,16 @@ private okhttp3.Call importLoyaltyCardsValidateBeforeCall(@javax.annotation.Nonn
404
Not found
-
*/
- public ModelImport importLoyaltyCards(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable String upFile) throws ApiException {
+ public ModelImport importLoyaltyCards(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable File upFile) throws ApiException {
ApiResponse localVarResp = importLoyaltyCardsWithHttpInfo(loyaltyProgramId, upFile);
return localVarResp.getData();
}
/**
* Import loyalty cards
- * Upload a CSV file containing the loyalty cards that you want to use in your card-based loyalty program. Send the file as multipart data. It contains the following columns for each card: - `identifier` (required): The identifier of the loyalty card, which must match the regular expression `^[A-Za-z0-9._%+@-]+$`. - `state` (required): The state of the loyalty card. It can be `active` or `inactive`. - `customerprofileids` (optional): An array of strings representing the identifiers of the customer profiles linked to the loyalty card. The identifiers should be separated with a semicolon (;). > [!note] We recommend limiting your file size to 500MB. ## Example ```csv identifier,state,customerprofileids 123-456-789AT,active,Alexa001;UserA ```
+ * Upload a CSV file containing the loyalty cards that you want to use in your card-based loyalty program. Send the file as multipart data. It contains the following columns for each card: - `identifier` (required): The identifier of the loyalty card, which must match the regular expression `^[A-Za-z0-9._%+@-]+$`. - `state` (required): The state of the loyalty card. It can be `active` or `inactive`. - `customerprofileids` (optional): An array of strings representing the identifiers of the customer profiles linked to the loyalty card. The identifiers should be separated with a semicolon (;). > [!note] Your CSV file must contain less than 500,000 rows. Requests time out after 30 seconds. ## Example ```csv identifier,state,customerprofileids 123-456-789AT,active,Alexa001;UserA ```
* @param loyaltyProgramId 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. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @return ApiResponse<ModelImport>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -20865,7 +20866,7 @@ public ModelImport importLoyaltyCards(@javax.annotation.Nonnull Long loyaltyProg
404
Not found
-
*/
- public ApiResponse importLoyaltyCardsWithHttpInfo(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable String upFile) throws ApiException {
+ public ApiResponse importLoyaltyCardsWithHttpInfo(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable File upFile) throws ApiException {
okhttp3.Call localVarCall = importLoyaltyCardsValidateBeforeCall(loyaltyProgramId, upFile, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
@@ -20873,9 +20874,9 @@ public ApiResponse importLoyaltyCardsWithHttpInfo(@javax.annotation
/**
* Import loyalty cards (asynchronously)
- * Upload a CSV file containing the loyalty cards that you want to use in your card-based loyalty program. Send the file as multipart data. It contains the following columns for each card: - `identifier` (required): The identifier of the loyalty card, which must match the regular expression `^[A-Za-z0-9._%+@-]+$`. - `state` (required): The state of the loyalty card. It can be `active` or `inactive`. - `customerprofileids` (optional): An array of strings representing the identifiers of the customer profiles linked to the loyalty card. The identifiers should be separated with a semicolon (;). > [!note] We recommend limiting your file size to 500MB. ## Example ```csv identifier,state,customerprofileids 123-456-789AT,active,Alexa001;UserA ```
+ * Upload a CSV file containing the loyalty cards that you want to use in your card-based loyalty program. Send the file as multipart data. It contains the following columns for each card: - `identifier` (required): The identifier of the loyalty card, which must match the regular expression `^[A-Za-z0-9._%+@-]+$`. - `state` (required): The state of the loyalty card. It can be `active` or `inactive`. - `customerprofileids` (optional): An array of strings representing the identifiers of the customer profiles linked to the loyalty card. The identifiers should be separated with a semicolon (;). > [!note] Your CSV file must contain less than 500,000 rows. Requests time out after 30 seconds. ## Example ```csv identifier,state,customerprofileids 123-456-789AT,active,Alexa001;UserA ```
* @param loyaltyProgramId 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. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (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
@@ -20888,7 +20889,7 @@ public ApiResponse importLoyaltyCardsWithHttpInfo(@javax.annotation
404
Not found
-
*/
- public okhttp3.Call importLoyaltyCardsAsync(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importLoyaltyCardsAsync(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
okhttp3.Call localVarCall = importLoyaltyCardsValidateBeforeCall(loyaltyProgramId, upFile, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
@@ -20898,7 +20899,7 @@ public okhttp3.Call importLoyaltyCardsAsync(@javax.annotation.Nonnull Long loyal
/**
* Build call for importLoyaltyCustomersTiers
* @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 upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -20912,7 +20913,7 @@ public okhttp3.Call importLoyaltyCardsAsync(@javax.annotation.Nonnull Long loyal
404
Not found
-
*/
- public okhttp3.Call importLoyaltyCustomersTiersCall(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importLoyaltyCustomersTiersCall(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -20963,7 +20964,7 @@ public okhttp3.Call importLoyaltyCustomersTiersCall(@javax.annotation.Nonnull Lo
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call importLoyaltyCustomersTiersValidateBeforeCall(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call importLoyaltyCustomersTiersValidateBeforeCall(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable File upFile, 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 importLoyaltyCustomersTiers(Async)");
@@ -20975,9 +20976,9 @@ private okhttp3.Call importLoyaltyCustomersTiersValidateBeforeCall(@javax.annota
/**
* Import customers into loyalty tiers
- * Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. > [!important] This endpoint only works with loyalty programs with advanced > tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiration date of the tier when the tier is reevaluated. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in the tier that's specified in the CSV file, only the expiration date is updated. > [!note] We recommend not using this endpoint to update the tier of a customer. To update a customer's tier, you can [add](/management-api#tag/Loyalty/operation/addLoyaltyPoints) or [deduct](/management-api#tag/Loyalty/operation/removeLoyaltyPoints) their loyalty points. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. > [!note] We recommend limiting your file size to 500 MB. ## Example ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ```
+ * Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. > [!important] This endpoint only works with loyalty programs with advanced > tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiry date of the tier when the tier is reevaluated. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in the tier that's specified in the CSV file, only the expiry date is updated. > [!note] We recommend importing customers into the tier that matches their > current balance. If a customer is imported into a lower tier, any session > or points update automatically upgrades them to the tier they qualify for. To update a customer's tier, you can [add](/management-api#tag/Loyalty/operation/addLoyaltyPoints) or [deduct](/management-api#tag/Loyalty/operation/removeLoyaltyPoints) their loyalty points. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. > [!note] We recommend limiting your file size to 500 MB. ## Example ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ```
* @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 upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @return ModelImport
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -20990,16 +20991,16 @@ private okhttp3.Call importLoyaltyCustomersTiersValidateBeforeCall(@javax.annota
404
Not found
-
*/
- public ModelImport importLoyaltyCustomersTiers(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable String upFile) throws ApiException {
+ public ModelImport importLoyaltyCustomersTiers(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable File upFile) throws ApiException {
ApiResponse localVarResp = importLoyaltyCustomersTiersWithHttpInfo(loyaltyProgramId, upFile);
return localVarResp.getData();
}
/**
* Import customers into loyalty tiers
- * Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. > [!important] This endpoint only works with loyalty programs with advanced > tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiration date of the tier when the tier is reevaluated. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in the tier that's specified in the CSV file, only the expiration date is updated. > [!note] We recommend not using this endpoint to update the tier of a customer. To update a customer's tier, you can [add](/management-api#tag/Loyalty/operation/addLoyaltyPoints) or [deduct](/management-api#tag/Loyalty/operation/removeLoyaltyPoints) their loyalty points. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. > [!note] We recommend limiting your file size to 500 MB. ## Example ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ```
+ * Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. > [!important] This endpoint only works with loyalty programs with advanced > tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiry date of the tier when the tier is reevaluated. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in the tier that's specified in the CSV file, only the expiry date is updated. > [!note] We recommend importing customers into the tier that matches their > current balance. If a customer is imported into a lower tier, any session > or points update automatically upgrades them to the tier they qualify for. To update a customer's tier, you can [add](/management-api#tag/Loyalty/operation/addLoyaltyPoints) or [deduct](/management-api#tag/Loyalty/operation/removeLoyaltyPoints) their loyalty points. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. > [!note] We recommend limiting your file size to 500 MB. ## Example ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ```
* @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 upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @return ApiResponse<ModelImport>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -21012,7 +21013,7 @@ public ModelImport importLoyaltyCustomersTiers(@javax.annotation.Nonnull Long lo
404
Not found
-
*/
- public ApiResponse importLoyaltyCustomersTiersWithHttpInfo(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable String upFile) throws ApiException {
+ public ApiResponse importLoyaltyCustomersTiersWithHttpInfo(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable File upFile) throws ApiException {
okhttp3.Call localVarCall = importLoyaltyCustomersTiersValidateBeforeCall(loyaltyProgramId, upFile, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
@@ -21020,9 +21021,9 @@ public ApiResponse importLoyaltyCustomersTiersWithHttpInfo(@javax.a
/**
* Import customers into loyalty tiers (asynchronously)
- * Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. > [!important] This endpoint only works with loyalty programs with advanced > tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiration date of the tier when the tier is reevaluated. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in the tier that's specified in the CSV file, only the expiration date is updated. > [!note] We recommend not using this endpoint to update the tier of a customer. To update a customer's tier, you can [add](/management-api#tag/Loyalty/operation/addLoyaltyPoints) or [deduct](/management-api#tag/Loyalty/operation/removeLoyaltyPoints) their loyalty points. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. > [!note] We recommend limiting your file size to 500 MB. ## Example ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ```
+ * Upload a CSV file containing existing customers to be assigned to existing tiers. Send the file as multipart data. > [!important] This endpoint only works with loyalty programs with advanced > tiers (with expiration and downgrade policy) feature enabled. The CSV file should contain the following columns: - `subledgerid` (optional): The ID of the subledger. If this field is empty, the main ledger will be used. - `customerprofileid`: The integration ID of the customer profile to whom the tier should be assigned. - `tiername`: The name of an existing tier to assign to the customer. - `expirydate`: The expiry date of the tier when the tier is reevaluated. It should be a future date. About customer assignment to a tier: - If the customer isn't already in a tier, the customer is assigned to the specified tier during the tier import. - If the customer is already in the tier that's specified in the CSV file, only the expiry date is updated. > [!note] We recommend importing customers into the tier that matches their > current balance. If a customer is imported into a lower tier, any session > or points update automatically upgrades them to the tier they qualify for. To update a customer's tier, you can [add](/management-api#tag/Loyalty/operation/addLoyaltyPoints) or [deduct](/management-api#tag/Loyalty/operation/removeLoyaltyPoints) their loyalty points. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. > [!note] We recommend limiting your file size to 500 MB. ## Example ```csv subledgerid,customerprofileid,tiername,expirydate SUB1,alexa,Gold,2024-03-21T07:32:14Z ,george,Silver,2025-04-16T21:12:37Z SUB2,avocado,Bronze,2026-05-03T11:47:01Z ```
* @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 upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (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
@@ -21036,7 +21037,7 @@ public ApiResponse importLoyaltyCustomersTiersWithHttpInfo(@javax.a
404
Not found
-
*/
- public okhttp3.Call importLoyaltyCustomersTiersAsync(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importLoyaltyCustomersTiersAsync(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
okhttp3.Call localVarCall = importLoyaltyCustomersTiersValidateBeforeCall(loyaltyProgramId, upFile, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
@@ -21047,7 +21048,7 @@ public okhttp3.Call importLoyaltyCustomersTiersAsync(@javax.annotation.Nonnull L
* Build call for importLoyaltyPoints
* @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)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -21058,7 +21059,7 @@ public okhttp3.Call importLoyaltyCustomersTiersAsync(@javax.annotation.Nonnull L
200
OK
-
*/
- public okhttp3.Call importLoyaltyPointsCall(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable Boolean notificationsEnabled, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importLoyaltyPointsCall(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable Boolean notificationsEnabled, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -21113,7 +21114,7 @@ public okhttp3.Call importLoyaltyPointsCall(@javax.annotation.Nonnull Long loyal
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call importLoyaltyPointsValidateBeforeCall(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable Boolean notificationsEnabled, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call importLoyaltyPointsValidateBeforeCall(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable Boolean notificationsEnabled, @javax.annotation.Nullable File upFile, 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 importLoyaltyPoints(Async)");
@@ -21128,7 +21129,7 @@ private okhttp3.Call importLoyaltyPointsValidateBeforeCall(@javax.annotation.Non
* 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.<br /> 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 500 MB. ## 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)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @return ModelImport
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -21138,7 +21139,7 @@ private okhttp3.Call importLoyaltyPointsValidateBeforeCall(@javax.annotation.Non
200
OK
-
*/
- public ModelImport importLoyaltyPoints(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable Boolean notificationsEnabled, @javax.annotation.Nullable String upFile) throws ApiException {
+ public ModelImport importLoyaltyPoints(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable Boolean notificationsEnabled, @javax.annotation.Nullable File upFile) throws ApiException {
ApiResponse localVarResp = importLoyaltyPointsWithHttpInfo(loyaltyProgramId, notificationsEnabled, upFile);
return localVarResp.getData();
}
@@ -21148,7 +21149,7 @@ public ModelImport importLoyaltyPoints(@javax.annotation.Nonnull Long loyaltyPro
* 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.<br /> 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 500 MB. ## 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)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @return ApiResponse<ModelImport>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -21158,7 +21159,7 @@ public ModelImport importLoyaltyPoints(@javax.annotation.Nonnull Long loyaltyPro
200
OK
-
*/
- public ApiResponse importLoyaltyPointsWithHttpInfo(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable Boolean notificationsEnabled, @javax.annotation.Nullable String upFile) throws ApiException {
+ public ApiResponse importLoyaltyPointsWithHttpInfo(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable Boolean notificationsEnabled, @javax.annotation.Nullable File upFile) throws ApiException {
okhttp3.Call localVarCall = importLoyaltyPointsValidateBeforeCall(loyaltyProgramId, notificationsEnabled, upFile, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
@@ -21169,7 +21170,7 @@ public ApiResponse importLoyaltyPointsWithHttpInfo(@javax.annotatio
* 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.<br /> 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 500 MB. ## 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)
+ * @param upFile The CSV file containing the data that is being imported. (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
@@ -21180,7 +21181,7 @@ public ApiResponse importLoyaltyPointsWithHttpInfo(@javax.annotatio
200
OK
-
*/
- public okhttp3.Call importLoyaltyPointsAsync(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable Boolean notificationsEnabled, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importLoyaltyPointsAsync(@javax.annotation.Nonnull Long loyaltyProgramId, @javax.annotation.Nullable Boolean notificationsEnabled, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
okhttp3.Call localVarCall = importLoyaltyPointsValidateBeforeCall(loyaltyProgramId, notificationsEnabled, upFile, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
@@ -21190,7 +21191,7 @@ public okhttp3.Call importLoyaltyPointsAsync(@javax.annotation.Nonnull Long loya
/**
* Build call for importPoolGiveaways
* @param poolId The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -21201,7 +21202,7 @@ public okhttp3.Call importLoyaltyPointsAsync(@javax.annotation.Nonnull Long loya
200
OK
-
*/
- public okhttp3.Call importPoolGiveawaysCall(@javax.annotation.Nonnull Long poolId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importPoolGiveawaysCall(@javax.annotation.Nonnull Long poolId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -21252,7 +21253,7 @@ public okhttp3.Call importPoolGiveawaysCall(@javax.annotation.Nonnull Long poolI
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call importPoolGiveawaysValidateBeforeCall(@javax.annotation.Nonnull Long poolId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call importPoolGiveawaysValidateBeforeCall(@javax.annotation.Nonnull Long poolId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
// verify the required parameter 'poolId' is set
if (poolId == null) {
throw new ApiException("Missing the required parameter 'poolId' when calling importPoolGiveaways(Async)");
@@ -21266,7 +21267,7 @@ private okhttp3.Call importPoolGiveawaysValidateBeforeCall(@javax.annotation.Non
* Import giveaway codes into a giveaway pool
* Upload a CSV file containing the giveaway codes that should be created. Send the file as multipart data. The CSV file contains the following columns: - `code` (required): The code of your giveaway, for instance, a gift card redemption code. - `startdate`: The start date in RFC3339 of the code redemption period. - `enddate`: The last date in RFC3339 of the code redemption period. - `attributes`: A JSON object describing _custom_ giveaway attribute names and their values, enclosed with double quotation marks.<br /> For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `provider` associated with the giveaway entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"provider\": \"myPartnerCompany\"}\"`. The `startdate` and `enddate` have nothing to do with the _validity_ of the codes. They are only used by the Rule Engine to award the codes or not. You can use the time zone setting of your choice. The values are converted to UTC internally by Talon.One. > [!note] **Note** > - We recommend limiting your file size to 500MB. > - You can import the same code multiple times. Duplicate codes are treated and distributed to customers as unique codes. ## Example ```text code,startdate,enddate,attributes GIVEAWAY1,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY2,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY3,2021-01-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Aliexpress\"\"}\" ```
* @param poolId The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @return ModelImport
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -21276,7 +21277,7 @@ private okhttp3.Call importPoolGiveawaysValidateBeforeCall(@javax.annotation.Non
200
OK
-
*/
- public ModelImport importPoolGiveaways(@javax.annotation.Nonnull Long poolId, @javax.annotation.Nullable String upFile) throws ApiException {
+ public ModelImport importPoolGiveaways(@javax.annotation.Nonnull Long poolId, @javax.annotation.Nullable File upFile) throws ApiException {
ApiResponse localVarResp = importPoolGiveawaysWithHttpInfo(poolId, upFile);
return localVarResp.getData();
}
@@ -21285,7 +21286,7 @@ public ModelImport importPoolGiveaways(@javax.annotation.Nonnull Long poolId, @j
* Import giveaway codes into a giveaway pool
* Upload a CSV file containing the giveaway codes that should be created. Send the file as multipart data. The CSV file contains the following columns: - `code` (required): The code of your giveaway, for instance, a gift card redemption code. - `startdate`: The start date in RFC3339 of the code redemption period. - `enddate`: The last date in RFC3339 of the code redemption period. - `attributes`: A JSON object describing _custom_ giveaway attribute names and their values, enclosed with double quotation marks.<br /> For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `provider` associated with the giveaway entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"provider\": \"myPartnerCompany\"}\"`. The `startdate` and `enddate` have nothing to do with the _validity_ of the codes. They are only used by the Rule Engine to award the codes or not. You can use the time zone setting of your choice. The values are converted to UTC internally by Talon.One. > [!note] **Note** > - We recommend limiting your file size to 500MB. > - You can import the same code multiple times. Duplicate codes are treated and distributed to customers as unique codes. ## Example ```text code,startdate,enddate,attributes GIVEAWAY1,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY2,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY3,2021-01-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Aliexpress\"\"}\" ```
* @param poolId The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @return ApiResponse<ModelImport>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -21295,7 +21296,7 @@ public ModelImport importPoolGiveaways(@javax.annotation.Nonnull Long poolId, @j
200
OK
-
*/
- public ApiResponse importPoolGiveawaysWithHttpInfo(@javax.annotation.Nonnull Long poolId, @javax.annotation.Nullable String upFile) throws ApiException {
+ public ApiResponse importPoolGiveawaysWithHttpInfo(@javax.annotation.Nonnull Long poolId, @javax.annotation.Nullable File upFile) throws ApiException {
okhttp3.Call localVarCall = importPoolGiveawaysValidateBeforeCall(poolId, upFile, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
@@ -21305,7 +21306,7 @@ public ApiResponse importPoolGiveawaysWithHttpInfo(@javax.annotatio
* Import giveaway codes into a giveaway pool (asynchronously)
* Upload a CSV file containing the giveaway codes that should be created. Send the file as multipart data. The CSV file contains the following columns: - `code` (required): The code of your giveaway, for instance, a gift card redemption code. - `startdate`: The start date in RFC3339 of the code redemption period. - `enddate`: The last date in RFC3339 of the code redemption period. - `attributes`: A JSON object describing _custom_ giveaway attribute names and their values, enclosed with double quotation marks.<br /> For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `provider` associated with the giveaway entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"provider\": \"myPartnerCompany\"}\"`. The `startdate` and `enddate` have nothing to do with the _validity_ of the codes. They are only used by the Rule Engine to award the codes or not. You can use the time zone setting of your choice. The values are converted to UTC internally by Talon.One. > [!note] **Note** > - We recommend limiting your file size to 500MB. > - You can import the same code multiple times. Duplicate codes are treated and distributed to customers as unique codes. ## Example ```text code,startdate,enddate,attributes GIVEAWAY1,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY2,2020-11-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Amazon\"\"}\" GIVEAWAY3,2021-01-10T23:00:00Z,2022-11-11T23:00:00Z,\"{\"\"provider\"\": \"\"Aliexpress\"\"}\" ```
* @param poolId The ID of the pool. You can find it in the Campaign Manager, in the **Giveaways** section. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (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
@@ -21316,7 +21317,7 @@ public ApiResponse importPoolGiveawaysWithHttpInfo(@javax.annotatio
200
OK
-
*/
- public okhttp3.Call importPoolGiveawaysAsync(@javax.annotation.Nonnull Long poolId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importPoolGiveawaysAsync(@javax.annotation.Nonnull Long poolId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
okhttp3.Call localVarCall = importPoolGiveawaysValidateBeforeCall(poolId, upFile, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
@@ -21327,7 +21328,7 @@ public okhttp3.Call importPoolGiveawaysAsync(@javax.annotation.Nonnull Long pool
* Build call for importReferrals
* @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required)
* @param campaignId The ID of the campaign. It is displayed in your Talon.One deployment URL. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -21338,7 +21339,7 @@ public okhttp3.Call importPoolGiveawaysAsync(@javax.annotation.Nonnull Long pool
200
OK
-
*/
- public okhttp3.Call importReferralsCall(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importReferralsCall(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
String basePath = null;
// Operation Servers
String[] localBasePaths = new String[] { };
@@ -21390,7 +21391,7 @@ public okhttp3.Call importReferralsCall(@javax.annotation.Nonnull Long applicati
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call importReferralsValidateBeforeCall(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call importReferralsValidateBeforeCall(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
// verify the required parameter 'applicationId' is set
if (applicationId == null) {
throw new ApiException("Missing the required parameter 'applicationId' when calling importReferrals(Async)");
@@ -21410,7 +21411,7 @@ private okhttp3.Call importReferralsValidateBeforeCall(@javax.annotation.Nonnull
* Upload a CSV file containing the referrals that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `code` (required): The referral code. - `advocateprofileintegrationid` (required): The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A JSON object describing _custom_ referral attribute names and their values, enclosed with double quotation marks.<br /> For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated with the referral entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"category\": \"10_off\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. > [!important] When you import a CSV file with referrals, > a [customer profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles) > is **not** automatically created for each `advocateprofileintegrationid` > column value. Use the [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) > endpoint or the [Update multiple customer profiles](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfilesV2) > endpoint to create the customer profiles. > [!note] We recommend limiting your file size to 500 MB. ## Example ```text code,startdate,expirydate,advocateprofileintegrationid,limitval,attributes REFERRAL_CODE1,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid_4,1,\"{\"\"my_attribute\"\": \"\"10_off\"\"}\" REFERRAL_CODE2,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid1,1,\"{\"\"my_attribute\"\": \"\"20_off\"\"}\" ```
* @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required)
* @param campaignId The ID of the campaign. It is displayed in your Talon.One deployment URL. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @return ModelImport
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -21420,7 +21421,7 @@ private okhttp3.Call importReferralsValidateBeforeCall(@javax.annotation.Nonnull
200
OK
-
*/
- public ModelImport importReferrals(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable String upFile) throws ApiException {
+ public ModelImport importReferrals(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable File upFile) throws ApiException {
ApiResponse localVarResp = importReferralsWithHttpInfo(applicationId, campaignId, upFile);
return localVarResp.getData();
}
@@ -21430,7 +21431,7 @@ public ModelImport importReferrals(@javax.annotation.Nonnull Long applicationId,
* Upload a CSV file containing the referrals that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `code` (required): The referral code. - `advocateprofileintegrationid` (required): The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A JSON object describing _custom_ referral attribute names and their values, enclosed with double quotation marks.<br /> For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated with the referral entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"category\": \"10_off\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. > [!important] When you import a CSV file with referrals, > a [customer profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles) > is **not** automatically created for each `advocateprofileintegrationid` > column value. Use the [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) > endpoint or the [Update multiple customer profiles](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfilesV2) > endpoint to create the customer profiles. > [!note] We recommend limiting your file size to 500 MB. ## Example ```text code,startdate,expirydate,advocateprofileintegrationid,limitval,attributes REFERRAL_CODE1,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid_4,1,\"{\"\"my_attribute\"\": \"\"10_off\"\"}\" REFERRAL_CODE2,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid1,1,\"{\"\"my_attribute\"\": \"\"20_off\"\"}\" ```
* @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required)
* @param campaignId The ID of the campaign. It is displayed in your Talon.One deployment URL. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (optional)
* @return ApiResponse<ModelImport>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -21440,7 +21441,7 @@ public ModelImport importReferrals(@javax.annotation.Nonnull Long applicationId,
200
OK
-
*/
- public ApiResponse importReferralsWithHttpInfo(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable String upFile) throws ApiException {
+ public ApiResponse importReferralsWithHttpInfo(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable File upFile) throws ApiException {
okhttp3.Call localVarCall = importReferralsValidateBeforeCall(applicationId, campaignId, upFile, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
@@ -21451,7 +21452,7 @@ public ApiResponse importReferralsWithHttpInfo(@javax.annotation.No
* Upload a CSV file containing the referrals that should be created. The file should be sent as multipart data. The CSV file contains the following columns: - `code` (required): The referral code. - `advocateprofileintegrationid` (required): The profile ID of the advocate. - `startdate`: The start date in RFC3339 of the code redemption period. - `expirydate`: The end date in RFC3339 of the code redemption period. - `limitval`: The maximum number of redemptions of this code. Defaults to `1` when left blank. - `attributes`: A JSON object describing _custom_ referral attribute names and their values, enclosed with double quotation marks.<br /> For example, if you created a [custom attribute](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes) called `category` associated with the referral entity, the object in the CSV file, when opened in a text editor, must be: `\"{\"category\": \"10_off\"}\"`. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. > [!important] When you import a CSV file with referrals, > a [customer profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles) > is **not** automatically created for each `advocateprofileintegrationid` > column value. Use the [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) > endpoint or the [Update multiple customer profiles](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfilesV2) > endpoint to create the customer profiles. > [!note] We recommend limiting your file size to 500 MB. ## Example ```text code,startdate,expirydate,advocateprofileintegrationid,limitval,attributes REFERRAL_CODE1,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid_4,1,\"{\"\"my_attribute\"\": \"\"10_off\"\"}\" REFERRAL_CODE2,2020-11-10T23:00:00Z,2021-11-11T23:00:00Z,integid1,1,\"{\"\"my_attribute\"\": \"\"20_off\"\"}\" ```
* @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required)
* @param campaignId The ID of the campaign. It is displayed in your Talon.One deployment URL. (required)
- * @param upFile The file containing the data that is being imported. (optional)
+ * @param upFile The CSV file containing the data that is being imported. (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
@@ -21462,7 +21463,7 @@ public ApiResponse importReferralsWithHttpInfo(@javax.annotation.No
200
OK
-
*/
- public okhttp3.Call importReferralsAsync(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importReferralsAsync(@javax.annotation.Nonnull Long applicationId, @javax.annotation.Nonnull Long campaignId, @javax.annotation.Nullable File upFile, final ApiCallback _callback) throws ApiException {
okhttp3.Call localVarCall = importReferralsValidateBeforeCall(applicationId, campaignId, upFile, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
diff --git a/src/main/java/one/talon/model/APIError.java b/src/main/java/one/talon/model/APIError.java
index d36af017..5a673f72 100644
--- a/src/main/java/one/talon/model/APIError.java
+++ b/src/main/java/one/talon/model/APIError.java
@@ -22,7 +22,6 @@
import java.io.IOException;
import java.util.Arrays;
import one.talon.model.ErrorSource;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -209,10 +208,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AcceptCouponEffectProps.java b/src/main/java/one/talon/model/AcceptCouponEffectProps.java
index f84bd563..d4f666d9 100644
--- a/src/main/java/one/talon/model/AcceptCouponEffectProps.java
+++ b/src/main/java/one/talon/model/AcceptCouponEffectProps.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -156,10 +155,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AcceptReferralEffectProps.java b/src/main/java/one/talon/model/AcceptReferralEffectProps.java
index 74a280be..c20b0f12 100644
--- a/src/main/java/one/talon/model/AcceptReferralEffectProps.java
+++ b/src/main/java/one/talon/model/AcceptReferralEffectProps.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -156,10 +155,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AccessLogEntry.java b/src/main/java/one/talon/model/AccessLogEntry.java
index fa56b97a..43cf1544 100644
--- a/src/main/java/one/talon/model/AccessLogEntry.java
+++ b/src/main/java/one/talon/model/AccessLogEntry.java
@@ -22,7 +22,6 @@
import java.io.IOException;
import java.time.OffsetDateTime;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -313,10 +312,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/Account.java b/src/main/java/one/talon/model/Account.java
index 5c015c2f..a5d721ff 100644
--- a/src/main/java/one/talon/model/Account.java
+++ b/src/main/java/one/talon/model/Account.java
@@ -22,7 +22,6 @@
import java.io.IOException;
import java.time.OffsetDateTime;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -651,10 +650,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AccountAdditionalCost.java b/src/main/java/one/talon/model/AccountAdditionalCost.java
index 21c77a2f..a2913228 100644
--- a/src/main/java/one/talon/model/AccountAdditionalCost.java
+++ b/src/main/java/one/talon/model/AccountAdditionalCost.java
@@ -24,7 +24,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -403,10 +402,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AccountAnalytics.java b/src/main/java/one/talon/model/AccountAnalytics.java
index 310d796a..9a8bddbd 100644
--- a/src/main/java/one/talon/model/AccountAnalytics.java
+++ b/src/main/java/one/talon/model/AccountAnalytics.java
@@ -22,7 +22,6 @@
import java.io.IOException;
import java.time.OffsetDateTime;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -651,10 +650,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AccountDashboardStatistic.java b/src/main/java/one/talon/model/AccountDashboardStatistic.java
index 43ebe106..2d10f63f 100644
--- a/src/main/java/one/talon/model/AccountDashboardStatistic.java
+++ b/src/main/java/one/talon/model/AccountDashboardStatistic.java
@@ -28,7 +28,6 @@
import one.talon.model.AccountDashboardStatisticLoyaltyPoints;
import one.talon.model.AccountDashboardStatisticReferrals;
import one.talon.model.AccountDashboardStatisticRevenue;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -299,10 +298,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AccountDashboardStatisticCampaigns.java b/src/main/java/one/talon/model/AccountDashboardStatisticCampaigns.java
index 10f39865..2e7dbcf2 100644
--- a/src/main/java/one/talon/model/AccountDashboardStatisticCampaigns.java
+++ b/src/main/java/one/talon/model/AccountDashboardStatisticCampaigns.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -208,10 +207,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AccountDashboardStatisticDiscount.java b/src/main/java/one/talon/model/AccountDashboardStatisticDiscount.java
index 0e392259..36e04c02 100644
--- a/src/main/java/one/talon/model/AccountDashboardStatisticDiscount.java
+++ b/src/main/java/one/talon/model/AccountDashboardStatisticDiscount.java
@@ -23,7 +23,6 @@
import java.math.BigDecimal;
import java.time.OffsetDateTime;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -210,10 +209,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AccountDashboardStatisticLoyaltyPoints.java b/src/main/java/one/talon/model/AccountDashboardStatisticLoyaltyPoints.java
index 153111d9..b2298e45 100644
--- a/src/main/java/one/talon/model/AccountDashboardStatisticLoyaltyPoints.java
+++ b/src/main/java/one/talon/model/AccountDashboardStatisticLoyaltyPoints.java
@@ -23,7 +23,6 @@
import java.math.BigDecimal;
import java.time.OffsetDateTime;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -184,10 +183,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AccountDashboardStatisticReferrals.java b/src/main/java/one/talon/model/AccountDashboardStatisticReferrals.java
index 4e0c652c..44cf45fb 100644
--- a/src/main/java/one/talon/model/AccountDashboardStatisticReferrals.java
+++ b/src/main/java/one/talon/model/AccountDashboardStatisticReferrals.java
@@ -23,7 +23,6 @@
import java.math.BigDecimal;
import java.time.OffsetDateTime;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -184,10 +183,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AccountDashboardStatisticRevenue.java b/src/main/java/one/talon/model/AccountDashboardStatisticRevenue.java
index b87a909f..94389398 100644
--- a/src/main/java/one/talon/model/AccountDashboardStatisticRevenue.java
+++ b/src/main/java/one/talon/model/AccountDashboardStatisticRevenue.java
@@ -23,7 +23,6 @@
import java.math.BigDecimal;
import java.time.OffsetDateTime;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -210,10 +209,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AccountEntity.java b/src/main/java/one/talon/model/AccountEntity.java
index a00cf2c3..31765ecf 100644
--- a/src/main/java/one/talon/model/AccountEntity.java
+++ b/src/main/java/one/talon/model/AccountEntity.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -156,10 +155,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AccountLimits.java b/src/main/java/one/talon/model/AccountLimits.java
index ecc58ecc..18433ba3 100644
--- a/src/main/java/one/talon/model/AccountLimits.java
+++ b/src/main/java/one/talon/model/AccountLimits.java
@@ -23,7 +23,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -504,10 +503,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/Achievement.java b/src/main/java/one/talon/model/Achievement.java
index 60e21d94..74267c7a 100644
--- a/src/main/java/one/talon/model/Achievement.java
+++ b/src/main/java/one/talon/model/Achievement.java
@@ -24,7 +24,6 @@
import java.time.OffsetDateTime;
import java.util.Arrays;
import one.talon.model.TimePoint;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -768,10 +767,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AchievementAdditionalProperties.java b/src/main/java/one/talon/model/AchievementAdditionalProperties.java
index 1c779e93..76032717 100644
--- a/src/main/java/one/talon/model/AchievementAdditionalProperties.java
+++ b/src/main/java/one/talon/model/AchievementAdditionalProperties.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -316,10 +315,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AchievementAdditionalPropertiesV2.java b/src/main/java/one/talon/model/AchievementAdditionalPropertiesV2.java
index 814bd019..36755d07 100644
--- a/src/main/java/one/talon/model/AchievementAdditionalPropertiesV2.java
+++ b/src/main/java/one/talon/model/AchievementAdditionalPropertiesV2.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -290,10 +289,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AchievementBase.java b/src/main/java/one/talon/model/AchievementBase.java
index ad2b8522..0415f52a 100644
--- a/src/main/java/one/talon/model/AchievementBase.java
+++ b/src/main/java/one/talon/model/AchievementBase.java
@@ -24,7 +24,6 @@
import java.time.OffsetDateTime;
import java.util.Arrays;
import one.talon.model.TimePoint;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -530,10 +529,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AchievementBaseV2.java b/src/main/java/one/talon/model/AchievementBaseV2.java
index 24db3858..d3d2ba93 100644
--- a/src/main/java/one/talon/model/AchievementBaseV2.java
+++ b/src/main/java/one/talon/model/AchievementBaseV2.java
@@ -25,7 +25,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -211,21 +210,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
@javax.annotation.Nullable
private Boolean allowRollbackAfterCompletion;
- public static final String SERIALIZED_NAME_SANDBOX = "sandbox";
- @SerializedName(SERIALIZED_NAME_SANDBOX)
- @javax.annotation.Nullable
- private Boolean sandbox;
-
public static final String SERIALIZED_NAME_SUBSCRIBED_APPLICATIONS = "subscribedApplications";
@SerializedName(SERIALIZED_NAME_SUBSCRIBED_APPLICATIONS)
@javax.annotation.Nullable
private List subscribedApplications;
- public static final String SERIALIZED_NAME_TIMEZONE = "timezone";
- @SerializedName(SERIALIZED_NAME_TIMEZONE)
- @javax.annotation.Nullable
- private String timezone;
-
public AchievementBaseV2() {
}
@@ -419,25 +408,6 @@ public void setAllowRollbackAfterCompletion(@javax.annotation.Nullable Boolean a
}
- public AchievementBaseV2 sandbox(@javax.annotation.Nullable Boolean sandbox) {
- this.sandbox = sandbox;
- return this;
- }
-
- /**
- * Indicates if this achievement is a live or sandbox achievement. Achievements of a given type can only be connected to Applications of the same type.
- * @return sandbox
- */
- @javax.annotation.Nullable
- public Boolean getSandbox() {
- return sandbox;
- }
-
- public void setSandbox(@javax.annotation.Nullable Boolean sandbox) {
- this.sandbox = sandbox;
- }
-
-
public AchievementBaseV2 subscribedApplications(@javax.annotation.Nullable List subscribedApplications) {
this.subscribedApplications = subscribedApplications;
return this;
@@ -464,25 +434,6 @@ public void setSubscribedApplications(@javax.annotation.Nullable List subs
this.subscribedApplications = subscribedApplications;
}
-
- public AchievementBaseV2 timezone(@javax.annotation.Nullable String timezone) {
- this.timezone = timezone;
- return this;
- }
-
- /**
- * A string containing an IANA timezone descriptor.
- * @return timezone
- */
- @javax.annotation.Nullable
- public String getTimezone() {
- return timezone;
- }
-
- public void setTimezone(@javax.annotation.Nullable String timezone) {
- this.timezone = timezone;
- }
-
/**
* A container for additional, undeclared properties.
* This is a holder for any undeclared properties as specified with
@@ -548,15 +499,13 @@ public boolean equals(Object o) {
Objects.equals(this.fixedStartDate, achievementBaseV2.fixedStartDate) &&
Objects.equals(this.endDate, achievementBaseV2.endDate) &&
Objects.equals(this.allowRollbackAfterCompletion, achievementBaseV2.allowRollbackAfterCompletion) &&
- Objects.equals(this.sandbox, achievementBaseV2.sandbox) &&
- Objects.equals(this.subscribedApplications, achievementBaseV2.subscribedApplications) &&
- Objects.equals(this.timezone, achievementBaseV2.timezone)&&
+ Objects.equals(this.subscribedApplications, achievementBaseV2.subscribedApplications)&&
Objects.equals(this.additionalProperties, achievementBaseV2.additionalProperties);
}
@Override
public int hashCode() {
- return Objects.hash(name, title, description, target, period, recurrencePolicy, activationPolicy, fixedStartDate, endDate, allowRollbackAfterCompletion, sandbox, subscribedApplications, timezone, additionalProperties);
+ return Objects.hash(name, title, description, target, period, recurrencePolicy, activationPolicy, fixedStartDate, endDate, allowRollbackAfterCompletion, subscribedApplications, additionalProperties);
}
@Override
@@ -573,9 +522,7 @@ public String toString() {
sb.append(" fixedStartDate: ").append(toIndentedString(fixedStartDate)).append("\n");
sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n");
sb.append(" allowRollbackAfterCompletion: ").append(toIndentedString(allowRollbackAfterCompletion)).append("\n");
- sb.append(" sandbox: ").append(toIndentedString(sandbox)).append("\n");
sb.append(" subscribedApplications: ").append(toIndentedString(subscribedApplications)).append("\n");
- sb.append(" timezone: ").append(toIndentedString(timezone)).append("\n");
sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n");
sb.append("}");
return sb.toString();
@@ -586,10 +533,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
@@ -598,7 +542,7 @@ private String toIndentedString(Object o) {
static {
// a set of all properties/fields (JSON key names)
- openapiFields = new HashSet(Arrays.asList("name", "title", "description", "target", "period", "recurrencePolicy", "activationPolicy", "fixedStartDate", "endDate", "allowRollbackAfterCompletion", "sandbox", "subscribedApplications", "timezone"));
+ openapiFields = new HashSet(Arrays.asList("name", "title", "description", "target", "period", "recurrencePolicy", "activationPolicy", "fixedStartDate", "endDate", "allowRollbackAfterCompletion", "subscribedApplications"));
// a set of required properties/fields (JSON key names)
openapiRequiredFields = new HashSet(0);
@@ -647,9 +591,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
if (jsonObj.get("subscribedApplications") != null && !jsonObj.get("subscribedApplications").isJsonNull() && !jsonObj.get("subscribedApplications").isJsonArray()) {
throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `subscribedApplications` to be an array in the JSON string but got `%s`", jsonObj.get("subscribedApplications").toString()));
}
- if ((jsonObj.get("timezone") != null && !jsonObj.get("timezone").isJsonNull()) && !jsonObj.get("timezone").isJsonPrimitive()) {
- throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `timezone` to be a primitive type in the JSON string but got `%s`", jsonObj.get("timezone").toString()));
- }
}
public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
diff --git a/src/main/java/one/talon/model/AchievementProgress.java b/src/main/java/one/talon/model/AchievementProgress.java
index fa1759c2..688e20ed 100644
--- a/src/main/java/one/talon/model/AchievementProgress.java
+++ b/src/main/java/one/talon/model/AchievementProgress.java
@@ -23,7 +23,6 @@
import java.math.BigDecimal;
import java.time.OffsetDateTime;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -318,10 +317,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AchievementProgressWithDefinition.java b/src/main/java/one/talon/model/AchievementProgressWithDefinition.java
index 4ae445ac..34ccd2df 100644
--- a/src/main/java/one/talon/model/AchievementProgressWithDefinition.java
+++ b/src/main/java/one/talon/model/AchievementProgressWithDefinition.java
@@ -23,7 +23,6 @@
import java.math.BigDecimal;
import java.time.OffsetDateTime;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -710,10 +709,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AchievementReference.java b/src/main/java/one/talon/model/AchievementReference.java
index 03a764d7..0f32075e 100644
--- a/src/main/java/one/talon/model/AchievementReference.java
+++ b/src/main/java/one/talon/model/AchievementReference.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -234,10 +233,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AchievementStatusEntry.java b/src/main/java/one/talon/model/AchievementStatusEntry.java
index 9ab3ada5..87dcb6fe 100644
--- a/src/main/java/one/talon/model/AchievementStatusEntry.java
+++ b/src/main/java/one/talon/model/AchievementStatusEntry.java
@@ -25,7 +25,6 @@
import java.util.Arrays;
import one.talon.model.AchievementProgress;
import one.talon.model.TimePoint;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -713,10 +712,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AchievementV2.java b/src/main/java/one/talon/model/AchievementV2.java
index 31eba188..4ba56173 100644
--- a/src/main/java/one/talon/model/AchievementV2.java
+++ b/src/main/java/one/talon/model/AchievementV2.java
@@ -25,7 +25,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -221,21 +220,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
@javax.annotation.Nullable
private Boolean allowRollbackAfterCompletion;
- public static final String SERIALIZED_NAME_SANDBOX = "sandbox";
- @SerializedName(SERIALIZED_NAME_SANDBOX)
- @javax.annotation.Nonnull
- private Boolean sandbox;
-
public static final String SERIALIZED_NAME_SUBSCRIBED_APPLICATIONS = "subscribedApplications";
@SerializedName(SERIALIZED_NAME_SUBSCRIBED_APPLICATIONS)
@javax.annotation.Nonnull
private List subscribedApplications = new ArrayList<>();
- public static final String SERIALIZED_NAME_TIMEZONE = "timezone";
- @SerializedName(SERIALIZED_NAME_TIMEZONE)
- @javax.annotation.Nonnull
- private String timezone;
-
public static final String SERIALIZED_NAME_USER_ID = "userId";
@SerializedName(SERIALIZED_NAME_USER_ID)
@javax.annotation.Nonnull
@@ -312,6 +301,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
@javax.annotation.Nullable
private StatusEnum status;
+ public static final String SERIALIZED_NAME_SANDBOX = "sandbox";
+ @SerializedName(SERIALIZED_NAME_SANDBOX)
+ @javax.annotation.Nonnull
+ private Boolean sandbox;
+
+ public static final String SERIALIZED_NAME_TIMEZONE = "timezone";
+ @SerializedName(SERIALIZED_NAME_TIMEZONE)
+ @javax.annotation.Nonnull
+ private String timezone;
+
public AchievementV2() {
}
@@ -543,25 +542,6 @@ public void setAllowRollbackAfterCompletion(@javax.annotation.Nullable Boolean a
}
- public AchievementV2 sandbox(@javax.annotation.Nonnull Boolean sandbox) {
- this.sandbox = sandbox;
- return this;
- }
-
- /**
- * Indicates if this achievement is a live or sandbox achievement. Achievements of a given type can only be connected to Applications of the same type.
- * @return sandbox
- */
- @javax.annotation.Nonnull
- public Boolean getSandbox() {
- return sandbox;
- }
-
- public void setSandbox(@javax.annotation.Nonnull Boolean sandbox) {
- this.sandbox = sandbox;
- }
-
-
public AchievementV2 subscribedApplications(@javax.annotation.Nonnull List subscribedApplications) {
this.subscribedApplications = subscribedApplications;
return this;
@@ -589,25 +569,6 @@ public void setSubscribedApplications(@javax.annotation.Nonnull List subsc
}
- public AchievementV2 timezone(@javax.annotation.Nonnull String timezone) {
- this.timezone = timezone;
- return this;
- }
-
- /**
- * A string containing an IANA timezone descriptor.
- * @return timezone
- */
- @javax.annotation.Nonnull
- public String getTimezone() {
- return timezone;
- }
-
- public void setTimezone(@javax.annotation.Nonnull String timezone) {
- this.timezone = timezone;
- }
-
-
public AchievementV2 userId(@javax.annotation.Nonnull Long userId) {
this.userId = userId;
return this;
@@ -683,6 +644,44 @@ public void setStatus(@javax.annotation.Nullable StatusEnum status) {
this.status = status;
}
+
+ public AchievementV2 sandbox(@javax.annotation.Nonnull Boolean sandbox) {
+ this.sandbox = sandbox;
+ return this;
+ }
+
+ /**
+ * Indicates if this achievement is a live or sandbox achievement. Achievements of a given type can only be connected to Applications of the same type.
+ * @return sandbox
+ */
+ @javax.annotation.Nonnull
+ public Boolean getSandbox() {
+ return sandbox;
+ }
+
+ public void setSandbox(@javax.annotation.Nonnull Boolean sandbox) {
+ this.sandbox = sandbox;
+ }
+
+
+ public AchievementV2 timezone(@javax.annotation.Nonnull String timezone) {
+ this.timezone = timezone;
+ return this;
+ }
+
+ /**
+ * A string containing an IANA timezone descriptor.
+ * @return timezone
+ */
+ @javax.annotation.Nonnull
+ public String getTimezone() {
+ return timezone;
+ }
+
+ public void setTimezone(@javax.annotation.Nonnull String timezone) {
+ this.timezone = timezone;
+ }
+
/**
* A container for additional, undeclared properties.
* This is a holder for any undeclared properties as specified with
@@ -750,19 +749,19 @@ public boolean equals(Object o) {
Objects.equals(this.fixedStartDate, achievementV2.fixedStartDate) &&
Objects.equals(this.endDate, achievementV2.endDate) &&
Objects.equals(this.allowRollbackAfterCompletion, achievementV2.allowRollbackAfterCompletion) &&
- Objects.equals(this.sandbox, achievementV2.sandbox) &&
Objects.equals(this.subscribedApplications, achievementV2.subscribedApplications) &&
- Objects.equals(this.timezone, achievementV2.timezone) &&
Objects.equals(this.userId, achievementV2.userId) &&
Objects.equals(this.createdBy, achievementV2.createdBy) &&
Objects.equals(this.hasProgress, achievementV2.hasProgress) &&
- Objects.equals(this.status, achievementV2.status)&&
+ Objects.equals(this.status, achievementV2.status) &&
+ Objects.equals(this.sandbox, achievementV2.sandbox) &&
+ Objects.equals(this.timezone, achievementV2.timezone)&&
Objects.equals(this.additionalProperties, achievementV2.additionalProperties);
}
@Override
public int hashCode() {
- return Objects.hash(id, created, name, title, description, target, period, recurrencePolicy, activationPolicy, fixedStartDate, endDate, allowRollbackAfterCompletion, sandbox, subscribedApplications, timezone, userId, createdBy, hasProgress, status, additionalProperties);
+ return Objects.hash(id, created, name, title, description, target, period, recurrencePolicy, activationPolicy, fixedStartDate, endDate, allowRollbackAfterCompletion, subscribedApplications, userId, createdBy, hasProgress, status, sandbox, timezone, additionalProperties);
}
@Override
@@ -781,13 +780,13 @@ public String toString() {
sb.append(" fixedStartDate: ").append(toIndentedString(fixedStartDate)).append("\n");
sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n");
sb.append(" allowRollbackAfterCompletion: ").append(toIndentedString(allowRollbackAfterCompletion)).append("\n");
- sb.append(" sandbox: ").append(toIndentedString(sandbox)).append("\n");
sb.append(" subscribedApplications: ").append(toIndentedString(subscribedApplications)).append("\n");
- sb.append(" timezone: ").append(toIndentedString(timezone)).append("\n");
sb.append(" userId: ").append(toIndentedString(userId)).append("\n");
sb.append(" createdBy: ").append(toIndentedString(createdBy)).append("\n");
sb.append(" hasProgress: ").append(toIndentedString(hasProgress)).append("\n");
sb.append(" status: ").append(toIndentedString(status)).append("\n");
+ sb.append(" sandbox: ").append(toIndentedString(sandbox)).append("\n");
+ sb.append(" timezone: ").append(toIndentedString(timezone)).append("\n");
sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n");
sb.append("}");
return sb.toString();
@@ -798,10 +797,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
@@ -810,10 +806,10 @@ private String toIndentedString(Object o) {
static {
// a set of all properties/fields (JSON key names)
- openapiFields = new HashSet(Arrays.asList("id", "created", "name", "title", "description", "target", "period", "recurrencePolicy", "activationPolicy", "fixedStartDate", "endDate", "allowRollbackAfterCompletion", "sandbox", "subscribedApplications", "timezone", "userId", "createdBy", "hasProgress", "status"));
+ openapiFields = new HashSet(Arrays.asList("id", "created", "name", "title", "description", "target", "period", "recurrencePolicy", "activationPolicy", "fixedStartDate", "endDate", "allowRollbackAfterCompletion", "subscribedApplications", "userId", "createdBy", "hasProgress", "status", "sandbox", "timezone"));
// a set of required properties/fields (JSON key names)
- openapiRequiredFields = new HashSet(Arrays.asList("id", "created", "name", "title", "description", "target", "recurrencePolicy", "activationPolicy", "sandbox", "subscribedApplications", "timezone", "userId"));
+ openapiRequiredFields = new HashSet(Arrays.asList("id", "created", "name", "title", "description", "target", "recurrencePolicy", "activationPolicy", "subscribedApplications", "userId", "sandbox", "timezone"));
}
/**
@@ -864,9 +860,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
} else if (!jsonObj.get("subscribedApplications").isJsonArray()) {
throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `subscribedApplications` to be an array in the JSON string but got `%s`", jsonObj.get("subscribedApplications").toString()));
}
- if (!jsonObj.get("timezone").isJsonPrimitive()) {
- throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `timezone` to be a primitive type in the JSON string but got `%s`", jsonObj.get("timezone").toString()));
- }
if ((jsonObj.get("createdBy") != null && !jsonObj.get("createdBy").isJsonNull()) && !jsonObj.get("createdBy").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `createdBy` to be a primitive type in the JSON string but got `%s`", jsonObj.get("createdBy").toString()));
}
@@ -877,6 +870,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
if (jsonObj.get("status") != null && !jsonObj.get("status").isJsonNull()) {
StatusEnum.validateJsonElement(jsonObj.get("status"));
}
+ if (!jsonObj.get("timezone").isJsonPrimitive()) {
+ throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `timezone` to be a primitive type in the JSON string but got `%s`", jsonObj.get("timezone").toString()));
+ }
}
public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
diff --git a/src/main/java/one/talon/model/ActivateLoyaltyPoints.java b/src/main/java/one/talon/model/ActivateLoyaltyPoints.java
index 138e2b5d..b31d43de 100644
--- a/src/main/java/one/talon/model/ActivateLoyaltyPoints.java
+++ b/src/main/java/one/talon/model/ActivateLoyaltyPoints.java
@@ -24,7 +24,6 @@
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.UUID;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -193,10 +192,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : 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
index 4393e29c..31807b00 100644
--- a/src/main/java/one/talon/model/ActivateLoyaltyPointsResponse.java
+++ b/src/main/java/one/talon/model/ActivateLoyaltyPointsResponse.java
@@ -24,7 +24,6 @@
import java.util.Arrays;
import java.util.List;
import one.talon.model.LoyaltyLedgerEntry;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -167,10 +166,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/ActivateUserRequest.java b/src/main/java/one/talon/model/ActivateUserRequest.java
index 5e00951a..5118cbe0 100644
--- a/src/main/java/one/talon/model/ActivateUserRequest.java
+++ b/src/main/java/one/talon/model/ActivateUserRequest.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -156,10 +155,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AddFreeItemEffectProps.java b/src/main/java/one/talon/model/AddFreeItemEffectProps.java
index 1d95fe11..1ced9c6f 100644
--- a/src/main/java/one/talon/model/AddFreeItemEffectProps.java
+++ b/src/main/java/one/talon/model/AddFreeItemEffectProps.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -208,10 +207,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AddItemCatalogAction.java b/src/main/java/one/talon/model/AddItemCatalogAction.java
index 5750a6dc..396c9afb 100644
--- a/src/main/java/one/talon/model/AddItemCatalogAction.java
+++ b/src/main/java/one/talon/model/AddItemCatalogAction.java
@@ -23,7 +23,6 @@
import java.math.BigDecimal;
import java.util.Arrays;
import one.talon.model.Product;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -262,10 +261,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : 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 7aea08a0..e1b69e3a 100644
--- a/src/main/java/one/talon/model/AddLoyaltyPoints.java
+++ b/src/main/java/one/talon/model/AddLoyaltyPoints.java
@@ -23,7 +23,6 @@
import java.math.BigDecimal;
import java.time.OffsetDateTime;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -342,10 +341,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AddLoyaltyPointsEffectProps.java b/src/main/java/one/talon/model/AddLoyaltyPointsEffectProps.java
index 7cdd783f..6432208f 100644
--- a/src/main/java/one/talon/model/AddLoyaltyPointsEffectProps.java
+++ b/src/main/java/one/talon/model/AddLoyaltyPointsEffectProps.java
@@ -23,7 +23,6 @@
import java.math.BigDecimal;
import java.time.OffsetDateTime;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -548,10 +547,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AddPriceAdjustmentCatalogAction.java b/src/main/java/one/talon/model/AddPriceAdjustmentCatalogAction.java
index 45317d6f..bd88c768 100644
--- a/src/main/java/one/talon/model/AddPriceAdjustmentCatalogAction.java
+++ b/src/main/java/one/talon/model/AddPriceAdjustmentCatalogAction.java
@@ -24,7 +24,6 @@
import java.util.Arrays;
import java.util.List;
import one.talon.model.NewPriceAdjustment;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -193,10 +192,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AddToAudienceEffectProps.java b/src/main/java/one/talon/model/AddToAudienceEffectProps.java
index b9334404..75b8818c 100644
--- a/src/main/java/one/talon/model/AddToAudienceEffectProps.java
+++ b/src/main/java/one/talon/model/AddToAudienceEffectProps.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -234,10 +233,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AddedDeductedPointsBalancesAction.java b/src/main/java/one/talon/model/AddedDeductedPointsBalancesAction.java
index ab27c7af..306e4d70 100644
--- a/src/main/java/one/talon/model/AddedDeductedPointsBalancesAction.java
+++ b/src/main/java/one/talon/model/AddedDeductedPointsBalancesAction.java
@@ -24,7 +24,6 @@
import java.time.OffsetDateTime;
import java.util.Arrays;
import java.util.UUID;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -341,10 +340,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : 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
index 90cf1182..5e66e5b0 100644
--- a/src/main/java/one/talon/model/AddedDeductedPointsBalancesNotification.java
+++ b/src/main/java/one/talon/model/AddedDeductedPointsBalancesNotification.java
@@ -25,7 +25,6 @@
import java.util.Arrays;
import java.util.List;
import one.talon.model.AddedDeductedPointsBalancesAction;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -507,10 +506,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AddedDeductedPointsBalancesNotificationPolicy.java b/src/main/java/one/talon/model/AddedDeductedPointsBalancesNotificationPolicy.java
index 01eb271d..0478e17c 100644
--- a/src/main/java/one/talon/model/AddedDeductedPointsBalancesNotificationPolicy.java
+++ b/src/main/java/one/talon/model/AddedDeductedPointsBalancesNotificationPolicy.java
@@ -23,7 +23,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -248,10 +247,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : 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 e62b2836..56e3a12a 100644
--- a/src/main/java/one/talon/model/AddedDeductedPointsNotification.java
+++ b/src/main/java/one/talon/model/AddedDeductedPointsNotification.java
@@ -24,7 +24,6 @@
import java.time.OffsetDateTime;
import java.util.Arrays;
import java.util.UUID;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -656,10 +655,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AddedDeductedPointsNotificationPolicy.java b/src/main/java/one/talon/model/AddedDeductedPointsNotificationPolicy.java
index 4d67cbda..7f087c3f 100644
--- a/src/main/java/one/talon/model/AddedDeductedPointsNotificationPolicy.java
+++ b/src/main/java/one/talon/model/AddedDeductedPointsNotificationPolicy.java
@@ -23,7 +23,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -248,10 +247,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AdditionalCampaignProperties.java b/src/main/java/one/talon/model/AdditionalCampaignProperties.java
index 970c993c..d940dccb 100644
--- a/src/main/java/one/talon/model/AdditionalCampaignProperties.java
+++ b/src/main/java/one/talon/model/AdditionalCampaignProperties.java
@@ -26,7 +26,6 @@
import java.util.Arrays;
import java.util.List;
import one.talon.model.CampaignBudget;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -861,10 +860,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AdditionalCost.java b/src/main/java/one/talon/model/AdditionalCost.java
index 77318f8c..4eedd157 100644
--- a/src/main/java/one/talon/model/AdditionalCost.java
+++ b/src/main/java/one/talon/model/AdditionalCost.java
@@ -22,7 +22,6 @@
import java.io.IOException;
import java.math.BigDecimal;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -157,10 +156,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AdjustmentDetails.java b/src/main/java/one/talon/model/AdjustmentDetails.java
index 09e12230..181fb934 100644
--- a/src/main/java/one/talon/model/AdjustmentDetails.java
+++ b/src/main/java/one/talon/model/AdjustmentDetails.java
@@ -22,7 +22,6 @@
import java.io.IOException;
import java.math.BigDecimal;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -209,10 +208,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AnalyticsDataPoint.java b/src/main/java/one/talon/model/AnalyticsDataPoint.java
index e99c1520..fa188c6c 100644
--- a/src/main/java/one/talon/model/AnalyticsDataPoint.java
+++ b/src/main/java/one/talon/model/AnalyticsDataPoint.java
@@ -22,7 +22,6 @@
import java.io.IOException;
import java.math.BigDecimal;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -183,10 +182,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AnalyticsDataPointWithTrend.java b/src/main/java/one/talon/model/AnalyticsDataPointWithTrend.java
index 46ff7521..cd944807 100644
--- a/src/main/java/one/talon/model/AnalyticsDataPointWithTrend.java
+++ b/src/main/java/one/talon/model/AnalyticsDataPointWithTrend.java
@@ -22,7 +22,6 @@
import java.io.IOException;
import java.math.BigDecimal;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -183,10 +182,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AnalyticsDataPointWithTrendAndInfluencedRate.java b/src/main/java/one/talon/model/AnalyticsDataPointWithTrendAndInfluencedRate.java
index 3739b624..c81fe759 100644
--- a/src/main/java/one/talon/model/AnalyticsDataPointWithTrendAndInfluencedRate.java
+++ b/src/main/java/one/talon/model/AnalyticsDataPointWithTrendAndInfluencedRate.java
@@ -22,7 +22,6 @@
import java.io.IOException;
import java.math.BigDecimal;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -209,10 +208,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AnalyticsDataPointWithTrendAndUplift.java b/src/main/java/one/talon/model/AnalyticsDataPointWithTrendAndUplift.java
index 559ed368..2de0272b 100644
--- a/src/main/java/one/talon/model/AnalyticsDataPointWithTrendAndUplift.java
+++ b/src/main/java/one/talon/model/AnalyticsDataPointWithTrendAndUplift.java
@@ -22,7 +22,6 @@
import java.io.IOException;
import java.math.BigDecimal;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -209,10 +208,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AnalyticsProduct.java b/src/main/java/one/talon/model/AnalyticsProduct.java
index 43db839f..94f6ea88 100644
--- a/src/main/java/one/talon/model/AnalyticsProduct.java
+++ b/src/main/java/one/talon/model/AnalyticsProduct.java
@@ -22,7 +22,6 @@
import java.io.IOException;
import java.util.Arrays;
import one.talon.model.AnalyticsDataPointWithTrend;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -235,10 +234,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AnalyticsSKU.java b/src/main/java/one/talon/model/AnalyticsSKU.java
index 4cb8b1c8..a5faa17d 100644
--- a/src/main/java/one/talon/model/AnalyticsSKU.java
+++ b/src/main/java/one/talon/model/AnalyticsSKU.java
@@ -23,7 +23,6 @@
import java.time.OffsetDateTime;
import java.util.Arrays;
import one.talon.model.AnalyticsDataPointWithTrend;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -288,10 +287,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/Application.java b/src/main/java/one/talon/model/Application.java
index d91c3159..d77a9f23 100644
--- a/src/main/java/one/talon/model/Application.java
+++ b/src/main/java/one/talon/model/Application.java
@@ -27,7 +27,6 @@
import one.talon.model.AttributesSettings;
import one.talon.model.LimitConfig;
import one.talon.model.LoyaltyProgram;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -886,10 +885,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/ApplicationAPIKey.java b/src/main/java/one/talon/model/ApplicationAPIKey.java
index fc70484d..6601fd27 100644
--- a/src/main/java/one/talon/model/ApplicationAPIKey.java
+++ b/src/main/java/one/talon/model/ApplicationAPIKey.java
@@ -22,7 +22,6 @@
import java.io.IOException;
import java.time.OffsetDateTime;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -509,10 +508,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/ApplicationAnalyticsDataPoint.java b/src/main/java/one/talon/model/ApplicationAnalyticsDataPoint.java
index ff9ad076..cb3672df 100644
--- a/src/main/java/one/talon/model/ApplicationAnalyticsDataPoint.java
+++ b/src/main/java/one/talon/model/ApplicationAnalyticsDataPoint.java
@@ -24,7 +24,6 @@
import java.time.OffsetDateTime;
import java.util.Arrays;
import one.talon.model.AnalyticsDataPoint;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -341,10 +340,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/ApplicationApiHealth.java b/src/main/java/one/talon/model/ApplicationApiHealth.java
index 152b4994..d68e264e 100644
--- a/src/main/java/one/talon/model/ApplicationApiHealth.java
+++ b/src/main/java/one/talon/model/ApplicationApiHealth.java
@@ -22,7 +22,6 @@
import java.io.IOException;
import java.time.OffsetDateTime;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -241,10 +240,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/ApplicationCIF.java b/src/main/java/one/talon/model/ApplicationCIF.java
index 76ba37de..a6f7c84b 100644
--- a/src/main/java/one/talon/model/ApplicationCIF.java
+++ b/src/main/java/one/talon/model/ApplicationCIF.java
@@ -22,7 +22,6 @@
import java.io.IOException;
import java.time.OffsetDateTime;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -365,10 +364,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/ApplicationCIFExpression.java b/src/main/java/one/talon/model/ApplicationCIFExpression.java
index 9e502ec8..96f6ec56 100644
--- a/src/main/java/one/talon/model/ApplicationCIFExpression.java
+++ b/src/main/java/one/talon/model/ApplicationCIFExpression.java
@@ -24,7 +24,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -297,10 +296,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/ApplicationCIFReferences.java b/src/main/java/one/talon/model/ApplicationCIFReferences.java
index 0bf443b9..f2a0fd8f 100644
--- a/src/main/java/one/talon/model/ApplicationCIFReferences.java
+++ b/src/main/java/one/talon/model/ApplicationCIFReferences.java
@@ -24,7 +24,6 @@
import java.util.Arrays;
import java.util.List;
import one.talon.model.CampaignDetail;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -193,10 +192,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/ApplicationCampaignAnalytics.java b/src/main/java/one/talon/model/ApplicationCampaignAnalytics.java
index 22f0881e..651d387a 100644
--- a/src/main/java/one/talon/model/ApplicationCampaignAnalytics.java
+++ b/src/main/java/one/talon/model/ApplicationCampaignAnalytics.java
@@ -27,7 +27,6 @@
import one.talon.model.AnalyticsDataPointWithTrend;
import one.talon.model.AnalyticsDataPointWithTrendAndInfluencedRate;
import one.talon.model.AnalyticsDataPointWithTrendAndUplift;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -516,10 +515,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/ApplicationCampaignStats.java b/src/main/java/one/talon/model/ApplicationCampaignStats.java
index afc4b582..5a99a8a7 100644
--- a/src/main/java/one/talon/model/ApplicationCampaignStats.java
+++ b/src/main/java/one/talon/model/ApplicationCampaignStats.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -286,10 +285,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/ApplicationCustomer.java b/src/main/java/one/talon/model/ApplicationCustomer.java
index 27a40168..bf108298 100644
--- a/src/main/java/one/talon/model/ApplicationCustomer.java
+++ b/src/main/java/one/talon/model/ApplicationCustomer.java
@@ -29,7 +29,6 @@
import java.util.Map;
import one.talon.model.AudienceMembership;
import one.talon.model.LoyaltyMembership;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -474,10 +473,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/ApplicationCustomerEntity.java b/src/main/java/one/talon/model/ApplicationCustomerEntity.java
index 63f13a47..330e5771 100644
--- a/src/main/java/one/talon/model/ApplicationCustomerEntity.java
+++ b/src/main/java/one/talon/model/ApplicationCustomerEntity.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -156,10 +155,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/ApplicationEntity.java b/src/main/java/one/talon/model/ApplicationEntity.java
index 133af337..3f72f275 100644
--- a/src/main/java/one/talon/model/ApplicationEntity.java
+++ b/src/main/java/one/talon/model/ApplicationEntity.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -156,10 +155,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/ApplicationEvent.java b/src/main/java/one/talon/model/ApplicationEvent.java
index bf34b0cc..63b50b64 100644
--- a/src/main/java/one/talon/model/ApplicationEvent.java
+++ b/src/main/java/one/talon/model/ApplicationEvent.java
@@ -26,7 +26,6 @@
import java.util.List;
import one.talon.model.Effect;
import one.talon.model.RuleFailureReason;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -86,6 +85,11 @@ public class ApplicationEvent {
@javax.annotation.Nullable
private String storeIntegrationId;
+ public static final String SERIALIZED_NAME_INTEGRATION_ID = "integrationId";
+ @SerializedName(SERIALIZED_NAME_INTEGRATION_ID)
+ @javax.annotation.Nullable
+ private String integrationId;
+
public static final String SERIALIZED_NAME_SESSION_ID = "sessionId";
@SerializedName(SERIALIZED_NAME_SESSION_ID)
@javax.annotation.Nullable
@@ -228,6 +232,25 @@ public void setStoreIntegrationId(@javax.annotation.Nullable String storeIntegra
}
+ public ApplicationEvent integrationId(@javax.annotation.Nullable String integrationId) {
+ this.integrationId = integrationId;
+ return this;
+ }
+
+ /**
+ * The unique ID of the event. Only one event with this ID can be registered.
+ * @return integrationId
+ */
+ @javax.annotation.Nullable
+ public String getIntegrationId() {
+ return integrationId;
+ }
+
+ public void setIntegrationId(@javax.annotation.Nullable String integrationId) {
+ this.integrationId = integrationId;
+ }
+
+
public ApplicationEvent sessionId(@javax.annotation.Nullable Long sessionId) {
this.sessionId = sessionId;
return this;
@@ -253,7 +276,7 @@ public ApplicationEvent type(@javax.annotation.Nonnull String type) {
}
/**
- * A string representing the event. Must not be a reserved event name.
+ * The name of the event. Must be a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#custom-events), not a built-in event.
* @return type
*/
@javax.annotation.Nonnull
@@ -399,6 +422,7 @@ public boolean equals(Object o) {
Objects.equals(this.profileId, applicationEvent.profileId) &&
Objects.equals(this.storeId, applicationEvent.storeId) &&
Objects.equals(this.storeIntegrationId, applicationEvent.storeIntegrationId) &&
+ Objects.equals(this.integrationId, applicationEvent.integrationId) &&
Objects.equals(this.sessionId, applicationEvent.sessionId) &&
Objects.equals(this.type, applicationEvent.type) &&
Objects.equals(this.attributes, applicationEvent.attributes) &&
@@ -409,7 +433,7 @@ public boolean equals(Object o) {
@Override
public int hashCode() {
- return Objects.hash(id, created, applicationId, profileId, storeId, storeIntegrationId, sessionId, type, attributes, effects, ruleFailureReasons, additionalProperties);
+ return Objects.hash(id, created, applicationId, profileId, storeId, storeIntegrationId, integrationId, sessionId, type, attributes, effects, ruleFailureReasons, additionalProperties);
}
@Override
@@ -422,6 +446,7 @@ public String toString() {
sb.append(" profileId: ").append(toIndentedString(profileId)).append("\n");
sb.append(" storeId: ").append(toIndentedString(storeId)).append("\n");
sb.append(" storeIntegrationId: ").append(toIndentedString(storeIntegrationId)).append("\n");
+ sb.append(" integrationId: ").append(toIndentedString(integrationId)).append("\n");
sb.append(" sessionId: ").append(toIndentedString(sessionId)).append("\n");
sb.append(" type: ").append(toIndentedString(type)).append("\n");
sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n");
@@ -437,10 +462,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
@@ -449,7 +471,7 @@ private String toIndentedString(Object o) {
static {
// a set of all properties/fields (JSON key names)
- openapiFields = new HashSet(Arrays.asList("id", "created", "applicationId", "profileId", "storeId", "storeIntegrationId", "sessionId", "type", "attributes", "effects", "ruleFailureReasons"));
+ openapiFields = new HashSet(Arrays.asList("id", "created", "applicationId", "profileId", "storeId", "storeIntegrationId", "integrationId", "sessionId", "type", "attributes", "effects", "ruleFailureReasons"));
// a set of required properties/fields (JSON key names)
openapiRequiredFields = new HashSet(Arrays.asList("id", "created", "applicationId", "type", "attributes", "effects"));
@@ -478,6 +500,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
if ((jsonObj.get("storeIntegrationId") != null && !jsonObj.get("storeIntegrationId").isJsonNull()) && !jsonObj.get("storeIntegrationId").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `storeIntegrationId` to be a primitive type in the JSON string but got `%s`", jsonObj.get("storeIntegrationId").toString()));
}
+ if ((jsonObj.get("integrationId") != null && !jsonObj.get("integrationId").isJsonNull()) && !jsonObj.get("integrationId").isJsonPrimitive()) {
+ throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `integrationId` to be a primitive type in the JSON string but got `%s`", jsonObj.get("integrationId").toString()));
+ }
if (!jsonObj.get("type").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString()));
}
diff --git a/src/main/java/one/talon/model/ApplicationNotification.java b/src/main/java/one/talon/model/ApplicationNotification.java
index 418913a0..61d478ab 100644
--- a/src/main/java/one/talon/model/ApplicationNotification.java
+++ b/src/main/java/one/talon/model/ApplicationNotification.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -156,10 +155,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/ApplicationReferee.java b/src/main/java/one/talon/model/ApplicationReferee.java
index 091f273d..aab27eab 100644
--- a/src/main/java/one/talon/model/ApplicationReferee.java
+++ b/src/main/java/one/talon/model/ApplicationReferee.java
@@ -22,7 +22,6 @@
import java.io.IOException;
import java.time.OffsetDateTime;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -287,10 +286,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/ApplicationSession.java b/src/main/java/one/talon/model/ApplicationSession.java
index 9214147c..b84b0b8d 100644
--- a/src/main/java/one/talon/model/ApplicationSession.java
+++ b/src/main/java/one/talon/model/ApplicationSession.java
@@ -28,7 +28,6 @@
import java.util.List;
import java.util.Map;
import one.talon.model.CartItem;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -599,10 +598,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/ApplicationSessionEntity.java b/src/main/java/one/talon/model/ApplicationSessionEntity.java
index bbe103f8..f130986c 100644
--- a/src/main/java/one/talon/model/ApplicationSessionEntity.java
+++ b/src/main/java/one/talon/model/ApplicationSessionEntity.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -156,10 +155,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/ApplicationStoreEntity.java b/src/main/java/one/talon/model/ApplicationStoreEntity.java
index 045ccb33..3b7dd243 100644
--- a/src/main/java/one/talon/model/ApplicationStoreEntity.java
+++ b/src/main/java/one/talon/model/ApplicationStoreEntity.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -156,10 +155,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AsyncCouponCreationResponse.java b/src/main/java/one/talon/model/AsyncCouponCreationResponse.java
index 1336809c..715d4ac2 100644
--- a/src/main/java/one/talon/model/AsyncCouponCreationResponse.java
+++ b/src/main/java/one/talon/model/AsyncCouponCreationResponse.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -156,10 +155,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AsyncCouponDeletionJobResponse.java b/src/main/java/one/talon/model/AsyncCouponDeletionJobResponse.java
index 8527e21d..6fb77c32 100644
--- a/src/main/java/one/talon/model/AsyncCouponDeletionJobResponse.java
+++ b/src/main/java/one/talon/model/AsyncCouponDeletionJobResponse.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -156,10 +155,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AsyncCouponsData.java b/src/main/java/one/talon/model/AsyncCouponsData.java
index 83a0b7ac..79a01d9a 100644
--- a/src/main/java/one/talon/model/AsyncCouponsData.java
+++ b/src/main/java/one/talon/model/AsyncCouponsData.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -310,10 +309,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/Attribute.java b/src/main/java/one/talon/model/Attribute.java
index 489ec534..7c4fff06 100644
--- a/src/main/java/one/talon/model/Attribute.java
+++ b/src/main/java/one/talon/model/Attribute.java
@@ -24,7 +24,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -795,10 +794,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AttributesMandatory.java b/src/main/java/one/talon/model/AttributesMandatory.java
index 4ebf369d..9c09d1bc 100644
--- a/src/main/java/one/talon/model/AttributesMandatory.java
+++ b/src/main/java/one/talon/model/AttributesMandatory.java
@@ -23,7 +23,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -200,10 +199,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AttributesSettings.java b/src/main/java/one/talon/model/AttributesSettings.java
index 8a62eb24..89138f3e 100644
--- a/src/main/java/one/talon/model/AttributesSettings.java
+++ b/src/main/java/one/talon/model/AttributesSettings.java
@@ -22,7 +22,6 @@
import java.io.IOException;
import java.util.Arrays;
import one.talon.model.AttributesMandatory;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -157,10 +156,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/Audience.java b/src/main/java/one/talon/model/Audience.java
index 70b31e65..17265a23 100644
--- a/src/main/java/one/talon/model/Audience.java
+++ b/src/main/java/one/talon/model/Audience.java
@@ -24,7 +24,6 @@
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.Set;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -427,10 +426,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AudienceAnalytics.java b/src/main/java/one/talon/model/AudienceAnalytics.java
index 22e66157..9cbd4427 100644
--- a/src/main/java/one/talon/model/AudienceAnalytics.java
+++ b/src/main/java/one/talon/model/AudienceAnalytics.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -182,10 +181,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AudienceCustomer.java b/src/main/java/one/talon/model/AudienceCustomer.java
index 440ca709..9111135f 100644
--- a/src/main/java/one/talon/model/AudienceCustomer.java
+++ b/src/main/java/one/talon/model/AudienceCustomer.java
@@ -29,7 +29,6 @@
import java.util.Map;
import one.talon.model.AudienceMembership;
import one.talon.model.LoyaltyMembership;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -516,10 +515,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AudienceIntegrationID.java b/src/main/java/one/talon/model/AudienceIntegrationID.java
index 511040c1..ea64f0f8 100644
--- a/src/main/java/one/talon/model/AudienceIntegrationID.java
+++ b/src/main/java/one/talon/model/AudienceIntegrationID.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -156,10 +155,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AudienceMembership.java b/src/main/java/one/talon/model/AudienceMembership.java
index f39c26cc..03a2ee77 100644
--- a/src/main/java/one/talon/model/AudienceMembership.java
+++ b/src/main/java/one/talon/model/AudienceMembership.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -182,10 +181,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AudienceReference.java b/src/main/java/one/talon/model/AudienceReference.java
index c2489fb2..5d97d694 100644
--- a/src/main/java/one/talon/model/AudienceReference.java
+++ b/src/main/java/one/talon/model/AudienceReference.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -208,10 +207,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/AwardGiveawayEffectProps.java b/src/main/java/one/talon/model/AwardGiveawayEffectProps.java
index be216650..6985340f 100644
--- a/src/main/java/one/talon/model/AwardGiveawayEffectProps.java
+++ b/src/main/java/one/talon/model/AwardGiveawayEffectProps.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -260,10 +259,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/BaseCampaign.java b/src/main/java/one/talon/model/BaseCampaign.java
index 0f28228d..173a7895 100644
--- a/src/main/java/one/talon/model/BaseCampaign.java
+++ b/src/main/java/one/talon/model/BaseCampaign.java
@@ -26,7 +26,6 @@
import java.util.List;
import one.talon.model.CodeGeneratorSettings;
import one.talon.model.LimitConfig;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -170,7 +169,9 @@ public enum FeaturesEnum {
STRIKETHROUGH("strikethrough"),
- ACHIEVEMENTS("achievements");
+ ACHIEVEMENTS("achievements"),
+
+ ADVANCED_EVENTS("advancedEvents");
private String value;
@@ -783,10 +784,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/BaseLoyaltyProgram.java b/src/main/java/one/talon/model/BaseLoyaltyProgram.java
index e1fff9aa..009df2ca 100644
--- a/src/main/java/one/talon/model/BaseLoyaltyProgram.java
+++ b/src/main/java/one/talon/model/BaseLoyaltyProgram.java
@@ -25,7 +25,6 @@
import java.util.Arrays;
import java.util.List;
import one.talon.model.CodeGeneratorSettings;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -749,10 +748,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/BaseNotification.java b/src/main/java/one/talon/model/BaseNotification.java
index 54155d34..0bb158e4 100644
--- a/src/main/java/one/talon/model/BaseNotification.java
+++ b/src/main/java/one/talon/model/BaseNotification.java
@@ -22,7 +22,6 @@
import java.io.IOException;
import java.util.Arrays;
import one.talon.model.BaseNotificationWebhook;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -338,10 +337,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/BaseNotificationEntity.java b/src/main/java/one/talon/model/BaseNotificationEntity.java
index 7a503c4d..54f33d57 100644
--- a/src/main/java/one/talon/model/BaseNotificationEntity.java
+++ b/src/main/java/one/talon/model/BaseNotificationEntity.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -182,10 +181,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/BaseNotificationWebhook.java b/src/main/java/one/talon/model/BaseNotificationWebhook.java
index 64a8ad63..1a0c579d 100644
--- a/src/main/java/one/talon/model/BaseNotificationWebhook.java
+++ b/src/main/java/one/talon/model/BaseNotificationWebhook.java
@@ -24,7 +24,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -297,10 +296,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/BaseNotifications.java b/src/main/java/one/talon/model/BaseNotifications.java
index 7c62e7a5..1245c90a 100644
--- a/src/main/java/one/talon/model/BaseNotifications.java
+++ b/src/main/java/one/talon/model/BaseNotifications.java
@@ -24,7 +24,6 @@
import java.util.Arrays;
import java.util.List;
import one.talon.model.BaseNotification;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -167,10 +166,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/BaseSamlConnection.java b/src/main/java/one/talon/model/BaseSamlConnection.java
index 008665f4..bdcc81ed 100644
--- a/src/main/java/one/talon/model/BaseSamlConnection.java
+++ b/src/main/java/one/talon/model/BaseSamlConnection.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -338,10 +337,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/BestPriorPrice.java b/src/main/java/one/talon/model/BestPriorPrice.java
index 7ca27b16..023e3db5 100644
--- a/src/main/java/one/talon/model/BestPriorPrice.java
+++ b/src/main/java/one/talon/model/BestPriorPrice.java
@@ -22,9 +22,10 @@
import java.io.IOException;
import java.math.BigDecimal;
import java.time.OffsetDateTime;
+import java.util.ArrayList;
import java.util.Arrays;
+import java.util.List;
import one.talon.model.BestPriorPriceMetadata;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -69,10 +70,15 @@ public class BestPriorPrice {
@javax.annotation.Nonnull
private OffsetDateTime observedAt;
+ public static final String SERIALIZED_NAME_CONTEXT_IDS = "contextIds";
+ @SerializedName(SERIALIZED_NAME_CONTEXT_IDS)
+ @javax.annotation.Nonnull
+ private List contextIds = new ArrayList<>();
+
public static final String SERIALIZED_NAME_CONTEXT_ID = "contextId";
@SerializedName(SERIALIZED_NAME_CONTEXT_ID)
- @javax.annotation.Nonnull
- private String contextId;
+ @javax.annotation.Nullable
+ private String contextId = "";
public static final String SERIALIZED_NAME_PRICE = "price";
@SerializedName(SERIALIZED_NAME_PRICE)
@@ -149,21 +155,48 @@ public void setObservedAt(@javax.annotation.Nonnull OffsetDateTime observedAt) {
}
- public BestPriorPrice contextId(@javax.annotation.Nonnull String contextId) {
+ public BestPriorPrice contextIds(@javax.annotation.Nonnull List contextIds) {
+ this.contextIds = contextIds;
+ return this;
+ }
+
+ public BestPriorPrice addContextIdsItem(String contextIdsItem) {
+ if (this.contextIds == null) {
+ this.contextIds = new ArrayList<>();
+ }
+ this.contextIds.add(contextIdsItem);
+ return this;
+ }
+
+ /**
+ * The identifiers of the relevant context at the time the price was observed. Includes the context IDs of any price adjustments and of the campaigns that influenced the final price.
+ * @return contextIds
+ */
+ @javax.annotation.Nonnull
+ public List getContextIds() {
+ return contextIds;
+ }
+
+ public void setContextIds(@javax.annotation.Nonnull List contextIds) {
+ this.contextIds = contextIds;
+ }
+
+
+ public BestPriorPrice contextId(@javax.annotation.Nullable String contextId) {
this.contextId = contextId;
return this;
}
/**
- * The context ID of the context active at the time of observation.
+ * This property is **deprecated**. Use `contextIds` instead. Defaults to an empty string.
* @return contextId
*/
- @javax.annotation.Nonnull
+ @javax.annotation.Nullable
public String getContextId() {
return contextId;
}
- public void setContextId(@javax.annotation.Nonnull String contextId) {
+ public void setContextId(@javax.annotation.Nullable String contextId) {
this.contextId = contextId;
}
@@ -282,6 +315,7 @@ public boolean equals(Object o) {
return Objects.equals(this.id, bestPriorPrice.id) &&
Objects.equals(this.sku, bestPriorPrice.sku) &&
Objects.equals(this.observedAt, bestPriorPrice.observedAt) &&
+ Objects.equals(this.contextIds, bestPriorPrice.contextIds) &&
Objects.equals(this.contextId, bestPriorPrice.contextId) &&
Objects.equals(this.price, bestPriorPrice.price) &&
Objects.equals(this.metadata, bestPriorPrice.metadata) &&
@@ -291,7 +325,7 @@ public boolean equals(Object o) {
@Override
public int hashCode() {
- return Objects.hash(id, sku, observedAt, contextId, price, metadata, target, additionalProperties);
+ return Objects.hash(id, sku, observedAt, contextIds, contextId, price, metadata, target, additionalProperties);
}
@Override
@@ -301,6 +335,7 @@ public String toString() {
sb.append(" id: ").append(toIndentedString(id)).append("\n");
sb.append(" sku: ").append(toIndentedString(sku)).append("\n");
sb.append(" observedAt: ").append(toIndentedString(observedAt)).append("\n");
+ sb.append(" contextIds: ").append(toIndentedString(contextIds)).append("\n");
sb.append(" contextId: ").append(toIndentedString(contextId)).append("\n");
sb.append(" price: ").append(toIndentedString(price)).append("\n");
sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n");
@@ -315,10 +350,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
@@ -327,10 +359,10 @@ private String toIndentedString(Object o) {
static {
// a set of all properties/fields (JSON key names)
- openapiFields = new HashSet(Arrays.asList("id", "sku", "observedAt", "contextId", "price", "metadata", "target"));
+ openapiFields = new HashSet(Arrays.asList("id", "sku", "observedAt", "contextIds", "contextId", "price", "metadata", "target"));
// a set of required properties/fields (JSON key names)
- openapiRequiredFields = new HashSet(Arrays.asList("id", "sku", "observedAt", "contextId", "price", "metadata", "target"));
+ openapiRequiredFields = new HashSet(Arrays.asList("id", "sku", "observedAt", "contextIds", "price", "metadata", "target"));
}
/**
@@ -356,7 +388,13 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
if (!jsonObj.get("sku").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `sku` to be a primitive type in the JSON string but got `%s`", jsonObj.get("sku").toString()));
}
- if (!jsonObj.get("contextId").isJsonPrimitive()) {
+ // ensure the required json array is present
+ if (jsonObj.get("contextIds") == null) {
+ throw new IllegalArgumentException("Expected the field `linkedContent` to be an array in the JSON string but got `null`");
+ } else if (!jsonObj.get("contextIds").isJsonArray()) {
+ throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `contextIds` to be an array in the JSON string but got `%s`", jsonObj.get("contextIds").toString()));
+ }
+ if ((jsonObj.get("contextId") != null && !jsonObj.get("contextId").isJsonNull()) && !jsonObj.get("contextId").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `contextId` to be a primitive type in the JSON string but got `%s`", jsonObj.get("contextId").toString()));
}
// validate the required field `metadata`
diff --git a/src/main/java/one/talon/model/BestPriorPriceMetadata.java b/src/main/java/one/talon/model/BestPriorPriceMetadata.java
index 1e20caba..3147d026 100644
--- a/src/main/java/one/talon/model/BestPriorPriceMetadata.java
+++ b/src/main/java/one/talon/model/BestPriorPriceMetadata.java
@@ -25,7 +25,6 @@
import java.util.List;
import one.talon.model.AdjustmentDetails;
import one.talon.model.InfluencingCampaignDetails;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -194,10 +193,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/BestPriorPriceRequest.java b/src/main/java/one/talon/model/BestPriorPriceRequest.java
index b929f955..5821ed6e 100644
--- a/src/main/java/one/talon/model/BestPriorPriceRequest.java
+++ b/src/main/java/one/talon/model/BestPriorPriceRequest.java
@@ -25,7 +25,6 @@
import java.util.Arrays;
import java.util.List;
import one.talon.model.BestPriorTarget;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -326,10 +325,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/BestPriorTarget.java b/src/main/java/one/talon/model/BestPriorTarget.java
index 6064ca56..1b0fccb0 100644
--- a/src/main/java/one/talon/model/BestPriorTarget.java
+++ b/src/main/java/one/talon/model/BestPriorTarget.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -234,10 +233,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/Binding.java b/src/main/java/one/talon/model/Binding.java
index a42ced89..2933b480 100644
--- a/src/main/java/one/talon/model/Binding.java
+++ b/src/main/java/one/talon/model/Binding.java
@@ -24,7 +24,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -349,10 +348,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/Blueprint.java b/src/main/java/one/talon/model/Blueprint.java
index ec5c013d..733eb945 100644
--- a/src/main/java/one/talon/model/Blueprint.java
+++ b/src/main/java/one/talon/model/Blueprint.java
@@ -26,7 +26,6 @@
import java.util.List;
import one.talon.model.CartItemFilterTemplate;
import one.talon.model.CatalogRule;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -597,10 +596,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/BulkApplicationNotification.java b/src/main/java/one/talon/model/BulkApplicationNotification.java
index ad727ffc..e237c17f 100644
--- a/src/main/java/one/talon/model/BulkApplicationNotification.java
+++ b/src/main/java/one/talon/model/BulkApplicationNotification.java
@@ -24,7 +24,6 @@
import java.util.Arrays;
import java.util.List;
import one.talon.model.ApplicationNotification;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -193,10 +192,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/BulkOperationOnCampaigns.java b/src/main/java/one/talon/model/BulkOperationOnCampaigns.java
index 3a0f39ca..df3f876e 100644
--- a/src/main/java/one/talon/model/BulkOperationOnCampaigns.java
+++ b/src/main/java/one/talon/model/BulkOperationOnCampaigns.java
@@ -24,7 +24,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -273,10 +272,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/Campaign.java b/src/main/java/one/talon/model/Campaign.java
index c6843344..26592a4f 100644
--- a/src/main/java/one/talon/model/Campaign.java
+++ b/src/main/java/one/talon/model/Campaign.java
@@ -28,7 +28,6 @@
import one.talon.model.CampaignBudget;
import one.talon.model.CodeGeneratorSettings;
import one.talon.model.LimitConfig;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -192,7 +191,9 @@ public enum FeaturesEnum {
STRIKETHROUGH("strikethrough"),
- ACHIEVEMENTS("achievements");
+ ACHIEVEMENTS("achievements"),
+
+ ADVANCED_EVENTS("advancedEvents");
private String value;
@@ -1849,10 +1850,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignActivationRequest.java b/src/main/java/one/talon/model/CampaignActivationRequest.java
index 58f31953..c36f30c1 100644
--- a/src/main/java/one/talon/model/CampaignActivationRequest.java
+++ b/src/main/java/one/talon/model/CampaignActivationRequest.java
@@ -23,7 +23,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -166,10 +165,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignAnalytics.java b/src/main/java/one/talon/model/CampaignAnalytics.java
index f23c05fd..d9f961ca 100644
--- a/src/main/java/one/talon/model/CampaignAnalytics.java
+++ b/src/main/java/one/talon/model/CampaignAnalytics.java
@@ -23,7 +23,6 @@
import java.math.BigDecimal;
import java.time.OffsetDateTime;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -782,10 +781,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignBudget.java b/src/main/java/one/talon/model/CampaignBudget.java
index a6ad492e..402e56ce 100644
--- a/src/main/java/one/talon/model/CampaignBudget.java
+++ b/src/main/java/one/talon/model/CampaignBudget.java
@@ -22,7 +22,6 @@
import java.io.IOException;
import java.math.BigDecimal;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -211,10 +210,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignCollection.java b/src/main/java/one/talon/model/CampaignCollection.java
index 1faf1c50..26566e31 100644
--- a/src/main/java/one/talon/model/CampaignCollection.java
+++ b/src/main/java/one/talon/model/CampaignCollection.java
@@ -24,7 +24,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -427,10 +426,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignCollectionEditedNotification.java b/src/main/java/one/talon/model/CampaignCollectionEditedNotification.java
index 3eaaa06b..b7f1b766 100644
--- a/src/main/java/one/talon/model/CampaignCollectionEditedNotification.java
+++ b/src/main/java/one/talon/model/CampaignCollectionEditedNotification.java
@@ -24,7 +24,6 @@
import java.util.Arrays;
import java.util.List;
import one.talon.model.CampaignCollectionEditedNotificationItem;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -269,10 +268,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignCollectionEditedNotificationItem.java b/src/main/java/one/talon/model/CampaignCollectionEditedNotificationItem.java
index 3407d142..4e027d8c 100644
--- a/src/main/java/one/talon/model/CampaignCollectionEditedNotificationItem.java
+++ b/src/main/java/one/talon/model/CampaignCollectionEditedNotificationItem.java
@@ -27,7 +27,6 @@
import one.talon.model.CollectionWithoutPayload;
import one.talon.model.PlaceholderDetails;
import one.talon.model.Ruleset;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -274,10 +273,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignCollectionWithoutPayload.java b/src/main/java/one/talon/model/CampaignCollectionWithoutPayload.java
index 9c3e6fe7..05866a0b 100644
--- a/src/main/java/one/talon/model/CampaignCollectionWithoutPayload.java
+++ b/src/main/java/one/talon/model/CampaignCollectionWithoutPayload.java
@@ -22,7 +22,6 @@
import java.io.IOException;
import java.time.OffsetDateTime;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -391,10 +390,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignCopy.java b/src/main/java/one/talon/model/CampaignCopy.java
index 19980b3d..7772c244 100644
--- a/src/main/java/one/talon/model/CampaignCopy.java
+++ b/src/main/java/one/talon/model/CampaignCopy.java
@@ -24,7 +24,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -331,10 +330,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignCreatedNotification.java b/src/main/java/one/talon/model/CampaignCreatedNotification.java
index 5f349f9b..5e5e8a07 100644
--- a/src/main/java/one/talon/model/CampaignCreatedNotification.java
+++ b/src/main/java/one/talon/model/CampaignCreatedNotification.java
@@ -24,7 +24,6 @@
import java.util.Arrays;
import java.util.List;
import one.talon.model.CampaignCreatedNotificationItem;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -269,10 +268,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignCreatedNotificationItem.java b/src/main/java/one/talon/model/CampaignCreatedNotificationItem.java
index 793b6e66..ec0b7144 100644
--- a/src/main/java/one/talon/model/CampaignCreatedNotificationItem.java
+++ b/src/main/java/one/talon/model/CampaignCreatedNotificationItem.java
@@ -27,7 +27,6 @@
import one.talon.model.CampaignEvaluationPosition;
import one.talon.model.PlaceholderDetails;
import one.talon.model.Ruleset;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -274,10 +273,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignDeactivationRequest.java b/src/main/java/one/talon/model/CampaignDeactivationRequest.java
index cc41e648..e18133da 100644
--- a/src/main/java/one/talon/model/CampaignDeactivationRequest.java
+++ b/src/main/java/one/talon/model/CampaignDeactivationRequest.java
@@ -23,7 +23,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -166,10 +165,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignDeletedNotification.java b/src/main/java/one/talon/model/CampaignDeletedNotification.java
index 186b4ef7..82def811 100644
--- a/src/main/java/one/talon/model/CampaignDeletedNotification.java
+++ b/src/main/java/one/talon/model/CampaignDeletedNotification.java
@@ -24,7 +24,6 @@
import java.util.Arrays;
import java.util.List;
import one.talon.model.CampaignDeletedNotificationItem;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -269,10 +268,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignDeletedNotificationItem.java b/src/main/java/one/talon/model/CampaignDeletedNotificationItem.java
index 9704997d..39c669e9 100644
--- a/src/main/java/one/talon/model/CampaignDeletedNotificationItem.java
+++ b/src/main/java/one/talon/model/CampaignDeletedNotificationItem.java
@@ -23,7 +23,6 @@
import java.time.OffsetDateTime;
import java.util.Arrays;
import one.talon.model.Campaign;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -210,10 +209,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignDetail.java b/src/main/java/one/talon/model/CampaignDetail.java
index 93875ca8..7caee82f 100644
--- a/src/main/java/one/talon/model/CampaignDetail.java
+++ b/src/main/java/one/talon/model/CampaignDetail.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -182,10 +181,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignEditedNotification.java b/src/main/java/one/talon/model/CampaignEditedNotification.java
index 506de795..0ef41abe 100644
--- a/src/main/java/one/talon/model/CampaignEditedNotification.java
+++ b/src/main/java/one/talon/model/CampaignEditedNotification.java
@@ -24,7 +24,6 @@
import java.util.Arrays;
import java.util.List;
import one.talon.model.CampaignEditedNotificationItem;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -269,10 +268,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignEditedNotificationItem.java b/src/main/java/one/talon/model/CampaignEditedNotificationItem.java
index dc754e36..fe9592eb 100644
--- a/src/main/java/one/talon/model/CampaignEditedNotificationItem.java
+++ b/src/main/java/one/talon/model/CampaignEditedNotificationItem.java
@@ -26,7 +26,6 @@
import one.talon.model.Campaign;
import one.talon.model.PlaceholderDetails;
import one.talon.model.Ruleset;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -273,10 +272,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignEligibility.java b/src/main/java/one/talon/model/CampaignEligibility.java
index bbce466e..b87d9568 100644
--- a/src/main/java/one/talon/model/CampaignEligibility.java
+++ b/src/main/java/one/talon/model/CampaignEligibility.java
@@ -25,8 +25,7 @@
import java.util.Arrays;
import java.util.List;
import one.talon.model.CampaignEligibilityDetails;
-import one.talon.model.RuleMetadata;
-import com.google.gson.JsonElement;
+import one.talon.model.RuleMetadataEligibility;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -56,16 +55,16 @@
*/
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.22.0")
public class CampaignEligibility {
- public static final String SERIALIZED_NAME_ID = "id";
- @SerializedName(SERIALIZED_NAME_ID)
- @javax.annotation.Nonnull
- private Long id;
-
public static final String SERIALIZED_NAME_APPLICATION_ID = "applicationId";
@SerializedName(SERIALIZED_NAME_APPLICATION_ID)
@javax.annotation.Nonnull
private Long applicationId;
+ public static final String SERIALIZED_NAME_ID = "id";
+ @SerializedName(SERIALIZED_NAME_ID)
+ @javax.annotation.Nonnull
+ private Long id;
+
public static final String SERIALIZED_NAME_NAME = "name";
@SerializedName(SERIALIZED_NAME_NAME)
@javax.annotation.Nonnull
@@ -216,54 +215,54 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
@javax.annotation.Nonnull
private List features = new ArrayList<>();
- public static final String SERIALIZED_NAME_RULES = "rules";
- @SerializedName(SERIALIZED_NAME_RULES)
- @javax.annotation.Nullable
- private List rules;
-
public static final String SERIALIZED_NAME_ELIGIBILITY = "eligibility";
@SerializedName(SERIALIZED_NAME_ELIGIBILITY)
@javax.annotation.Nonnull
private List eligibility = new ArrayList<>();
+ public static final String SERIALIZED_NAME_RULES = "rules";
+ @SerializedName(SERIALIZED_NAME_RULES)
+ @javax.annotation.Nonnull
+ private List rules = new ArrayList<>();
+
public CampaignEligibility() {
}
- public CampaignEligibility id(@javax.annotation.Nonnull Long id) {
- this.id = id;
+ public CampaignEligibility applicationId(@javax.annotation.Nonnull Long applicationId) {
+ this.applicationId = applicationId;
return this;
}
/**
- * Unique ID of Campaign.
- * @return id
+ * The ID of the Application that owns this entity.
+ * @return applicationId
*/
@javax.annotation.Nonnull
- public Long getId() {
- return id;
+ public Long getApplicationId() {
+ return applicationId;
}
- public void setId(@javax.annotation.Nonnull Long id) {
- this.id = id;
+ public void setApplicationId(@javax.annotation.Nonnull Long applicationId) {
+ this.applicationId = applicationId;
}
- public CampaignEligibility applicationId(@javax.annotation.Nonnull Long applicationId) {
- this.applicationId = applicationId;
+ public CampaignEligibility id(@javax.annotation.Nonnull Long id) {
+ this.id = id;
return this;
}
/**
- * The ID of the Application that owns this entity.
- * @return applicationId
+ * Unique ID of Campaign.
+ * @return id
*/
@javax.annotation.Nonnull
- public Long getApplicationId() {
- return applicationId;
+ public Long getId() {
+ return id;
}
- public void setApplicationId(@javax.annotation.Nonnull Long applicationId) {
- this.applicationId = applicationId;
+ public void setId(@javax.annotation.Nonnull Long id) {
+ this.id = id;
}
@@ -435,57 +434,57 @@ public void setFeatures(@javax.annotation.Nonnull List features) {
}
- public CampaignEligibility rules(@javax.annotation.Nullable List rules) {
- this.rules = rules;
+ public CampaignEligibility eligibility(@javax.annotation.Nonnull List eligibility) {
+ this.eligibility = eligibility;
return this;
}
- public CampaignEligibility addRulesItem(RuleMetadata rulesItem) {
- if (this.rules == null) {
- this.rules = new ArrayList<>();
+ public CampaignEligibility addEligibilityItem(CampaignEligibilityDetails eligibilityItem) {
+ if (this.eligibility == null) {
+ this.eligibility = new ArrayList<>();
}
- this.rules.add(rulesItem);
+ this.eligibility.add(eligibilityItem);
return this;
}
/**
- * A list of rules containing customer-facing details of the rewards defined in the campaign.
- * @return rules
+ * The customer's eligibility for each campaign in the current customer session.
+ * @return eligibility
*/
- @javax.annotation.Nullable
- public List getRules() {
- return rules;
+ @javax.annotation.Nonnull
+ public List getEligibility() {
+ return eligibility;
}
- public void setRules(@javax.annotation.Nullable List rules) {
- this.rules = rules;
+ public void setEligibility(@javax.annotation.Nonnull List eligibility) {
+ this.eligibility = eligibility;
}
- public CampaignEligibility eligibility(@javax.annotation.Nonnull List eligibility) {
- this.eligibility = eligibility;
+ public CampaignEligibility rules(@javax.annotation.Nonnull List rules) {
+ this.rules = rules;
return this;
}
- public CampaignEligibility addEligibilityItem(CampaignEligibilityDetails eligibilityItem) {
- if (this.eligibility == null) {
- this.eligibility = new ArrayList<>();
+ public CampaignEligibility addRulesItem(RuleMetadataEligibility rulesItem) {
+ if (this.rules == null) {
+ this.rules = new ArrayList<>();
}
- this.eligibility.add(eligibilityItem);
+ this.rules.add(rulesItem);
return this;
}
/**
- * The customer's eligibility for each campaign in the current customer session.
- * @return eligibility
+ * A list of rules containing customer-facing details of the rewards defined in the campaign.
+ * @return rules
*/
@javax.annotation.Nonnull
- public List getEligibility() {
- return eligibility;
+ public List getRules() {
+ return rules;
}
- public void setEligibility(@javax.annotation.Nonnull List eligibility) {
- this.eligibility = eligibility;
+ public void setRules(@javax.annotation.Nonnull List rules) {
+ this.rules = rules;
}
/**
@@ -543,8 +542,8 @@ public boolean equals(Object o) {
return false;
}
CampaignEligibility campaignEligibility = (CampaignEligibility) o;
- return Objects.equals(this.id, campaignEligibility.id) &&
- Objects.equals(this.applicationId, campaignEligibility.applicationId) &&
+ return Objects.equals(this.applicationId, campaignEligibility.applicationId) &&
+ Objects.equals(this.id, campaignEligibility.id) &&
Objects.equals(this.name, campaignEligibility.name) &&
Objects.equals(this.description, campaignEligibility.description) &&
Objects.equals(this.startTime, campaignEligibility.startTime) &&
@@ -553,22 +552,22 @@ public boolean equals(Object o) {
Objects.equals(this.state, campaignEligibility.state) &&
Objects.equals(this.tags, campaignEligibility.tags) &&
Objects.equals(this.features, campaignEligibility.features) &&
- Objects.equals(this.rules, campaignEligibility.rules) &&
- Objects.equals(this.eligibility, campaignEligibility.eligibility)&&
+ Objects.equals(this.eligibility, campaignEligibility.eligibility) &&
+ Objects.equals(this.rules, campaignEligibility.rules)&&
Objects.equals(this.additionalProperties, campaignEligibility.additionalProperties);
}
@Override
public int hashCode() {
- return Objects.hash(id, applicationId, name, description, startTime, endTime, attributes, state, tags, features, rules, eligibility, additionalProperties);
+ return Objects.hash(applicationId, id, name, description, startTime, endTime, attributes, state, tags, features, eligibility, rules, additionalProperties);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class CampaignEligibility {\n");
- sb.append(" id: ").append(toIndentedString(id)).append("\n");
sb.append(" applicationId: ").append(toIndentedString(applicationId)).append("\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
sb.append(" name: ").append(toIndentedString(name)).append("\n");
sb.append(" description: ").append(toIndentedString(description)).append("\n");
sb.append(" startTime: ").append(toIndentedString(startTime)).append("\n");
@@ -577,8 +576,8 @@ public String toString() {
sb.append(" state: ").append(toIndentedString(state)).append("\n");
sb.append(" tags: ").append(toIndentedString(tags)).append("\n");
sb.append(" features: ").append(toIndentedString(features)).append("\n");
- sb.append(" rules: ").append(toIndentedString(rules)).append("\n");
sb.append(" eligibility: ").append(toIndentedString(eligibility)).append("\n");
+ sb.append(" rules: ").append(toIndentedString(rules)).append("\n");
sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n");
sb.append("}");
return sb.toString();
@@ -589,10 +588,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
@@ -601,10 +597,10 @@ private String toIndentedString(Object o) {
static {
// a set of all properties/fields (JSON key names)
- openapiFields = new HashSet(Arrays.asList("id", "applicationId", "name", "description", "startTime", "endTime", "attributes", "state", "tags", "features", "rules", "eligibility"));
+ openapiFields = new HashSet(Arrays.asList("applicationId", "id", "name", "description", "startTime", "endTime", "attributes", "state", "tags", "features", "eligibility", "rules"));
// a set of required properties/fields (JSON key names)
- openapiRequiredFields = new HashSet(Arrays.asList("id", "applicationId", "name", "state", "tags", "features", "eligibility"));
+ openapiRequiredFields = new HashSet(Arrays.asList("applicationId", "id", "name", "state", "tags", "features", "eligibility", "rules"));
}
/**
@@ -650,20 +646,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
} else if (!jsonObj.get("features").isJsonArray()) {
throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `features` to be an array in the JSON string but got `%s`", jsonObj.get("features").toString()));
}
- if (jsonObj.get("rules") != null && !jsonObj.get("rules").isJsonNull()) {
- JsonArray jsonArrayrules = jsonObj.getAsJsonArray("rules");
- if (jsonArrayrules != null) {
- // ensure the json data is an array
- if (!jsonObj.get("rules").isJsonArray()) {
- throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `rules` to be an array in the JSON string but got `%s`", jsonObj.get("rules").toString()));
- }
-
- // validate the optional field `rules` (array)
- for (int i = 0; i < jsonArrayrules.size(); i++) {
- RuleMetadata.validateJsonElement(jsonArrayrules.get(i));
- };
- }
- }
if (jsonObj.get("eligibility") != null) {
if (!jsonObj.get("eligibility").isJsonArray()) {
throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `eligibility` to be an array in the JSON string but got `%s`", jsonObj.get("eligibility").toString()));
@@ -674,6 +656,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
CampaignEligibilityDetails.validateJsonElement(jsonArrayeligibility.get(i));
}
}
+ if (jsonObj.get("rules") != null) {
+ if (!jsonObj.get("rules").isJsonArray()) {
+ throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `rules` to be an array in the JSON string but got `%s`", jsonObj.get("rules").toString()));
+ }
+ JsonArray jsonArrayrules = jsonObj.getAsJsonArray("rules");
+ // validate the required field `rules` (array)
+ for (int i = 0; i < jsonArrayrules.size(); i++) {
+ RuleMetadataEligibility.validateJsonElement(jsonArrayrules.get(i));
+ }
+ }
}
public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
diff --git a/src/main/java/one/talon/model/CampaignEligibilityDetails.java b/src/main/java/one/talon/model/CampaignEligibilityDetails.java
index 3a910df8..d4cf586d 100644
--- a/src/main/java/one/talon/model/CampaignEligibilityDetails.java
+++ b/src/main/java/one/talon/model/CampaignEligibilityDetails.java
@@ -22,7 +22,6 @@
import java.io.IOException;
import java.util.Arrays;
import one.talon.model.CampaignEligibilityFailureDetails;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -209,10 +208,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignEligibilityFailureDetails.java b/src/main/java/one/talon/model/CampaignEligibilityFailureDetails.java
index 2abbbae3..81033940 100644
--- a/src/main/java/one/talon/model/CampaignEligibilityFailureDetails.java
+++ b/src/main/java/one/talon/model/CampaignEligibilityFailureDetails.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -210,10 +209,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignEntity.java b/src/main/java/one/talon/model/CampaignEntity.java
index 2965a255..ee7e0d93 100644
--- a/src/main/java/one/talon/model/CampaignEntity.java
+++ b/src/main/java/one/talon/model/CampaignEntity.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -156,10 +155,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignEvaluationGroup.java b/src/main/java/one/talon/model/CampaignEvaluationGroup.java
index 235537bb..5e3533bf 100644
--- a/src/main/java/one/talon/model/CampaignEvaluationGroup.java
+++ b/src/main/java/one/talon/model/CampaignEvaluationGroup.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -447,10 +446,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignEvaluationPosition.java b/src/main/java/one/talon/model/CampaignEvaluationPosition.java
index a0aa67bd..1248e76c 100644
--- a/src/main/java/one/talon/model/CampaignEvaluationPosition.java
+++ b/src/main/java/one/talon/model/CampaignEvaluationPosition.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -208,10 +207,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignEvaluationTreeChangedMessage.java b/src/main/java/one/talon/model/CampaignEvaluationTreeChangedMessage.java
index 8fcf416a..a393e26f 100644
--- a/src/main/java/one/talon/model/CampaignEvaluationTreeChangedMessage.java
+++ b/src/main/java/one/talon/model/CampaignEvaluationTreeChangedMessage.java
@@ -24,7 +24,6 @@
import java.util.Arrays;
import java.util.List;
import one.talon.model.ApplicationNotification;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -269,10 +268,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignEvaluationTreeChangedNotification.java b/src/main/java/one/talon/model/CampaignEvaluationTreeChangedNotification.java
index 877830bd..328be46c 100644
--- a/src/main/java/one/talon/model/CampaignEvaluationTreeChangedNotification.java
+++ b/src/main/java/one/talon/model/CampaignEvaluationTreeChangedNotification.java
@@ -22,7 +22,6 @@
import java.io.IOException;
import java.util.Arrays;
import one.talon.model.CampaignSet;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -209,10 +208,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignGroup.java b/src/main/java/one/talon/model/CampaignGroup.java
index 3df8cf64..c4bb36bd 100644
--- a/src/main/java/one/talon/model/CampaignGroup.java
+++ b/src/main/java/one/talon/model/CampaignGroup.java
@@ -24,7 +24,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -357,10 +356,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignGroupEntity.java b/src/main/java/one/talon/model/CampaignGroupEntity.java
index 56b96c6b..f12db572 100644
--- a/src/main/java/one/talon/model/CampaignGroupEntity.java
+++ b/src/main/java/one/talon/model/CampaignGroupEntity.java
@@ -23,7 +23,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -166,10 +165,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignLogSummary.java b/src/main/java/one/talon/model/CampaignLogSummary.java
index 23b529e6..e0fcd4d7 100644
--- a/src/main/java/one/talon/model/CampaignLogSummary.java
+++ b/src/main/java/one/talon/model/CampaignLogSummary.java
@@ -22,7 +22,6 @@
import java.io.IOException;
import java.time.OffsetDateTime;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -315,10 +314,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignNotificationBase.java b/src/main/java/one/talon/model/CampaignNotificationBase.java
index a64c3f16..16ce8013 100644
--- a/src/main/java/one/talon/model/CampaignNotificationBase.java
+++ b/src/main/java/one/talon/model/CampaignNotificationBase.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -232,10 +231,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignNotificationGeneric.java b/src/main/java/one/talon/model/CampaignNotificationGeneric.java
index 3931a76b..6ea00ca3 100644
--- a/src/main/java/one/talon/model/CampaignNotificationGeneric.java
+++ b/src/main/java/one/talon/model/CampaignNotificationGeneric.java
@@ -23,7 +23,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -268,10 +267,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignNotificationItemBase.java b/src/main/java/one/talon/model/CampaignNotificationItemBase.java
index b9f65be0..5a65e817 100644
--- a/src/main/java/one/talon/model/CampaignNotificationItemBase.java
+++ b/src/main/java/one/talon/model/CampaignNotificationItemBase.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -156,10 +155,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignNotificationPolicy.java b/src/main/java/one/talon/model/CampaignNotificationPolicy.java
index 705c32e1..0c042e94 100644
--- a/src/main/java/one/talon/model/CampaignNotificationPolicy.java
+++ b/src/main/java/one/talon/model/CampaignNotificationPolicy.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -208,10 +207,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignRulesetChangedNotification.java b/src/main/java/one/talon/model/CampaignRulesetChangedNotification.java
index d438f7c1..34a3d05e 100644
--- a/src/main/java/one/talon/model/CampaignRulesetChangedNotification.java
+++ b/src/main/java/one/talon/model/CampaignRulesetChangedNotification.java
@@ -24,7 +24,6 @@
import java.util.Arrays;
import java.util.List;
import one.talon.model.CampaignRulesetChangedNotificationItem;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -269,10 +268,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignRulesetChangedNotificationItem.java b/src/main/java/one/talon/model/CampaignRulesetChangedNotificationItem.java
index 125f2408..76193cba 100644
--- a/src/main/java/one/talon/model/CampaignRulesetChangedNotificationItem.java
+++ b/src/main/java/one/talon/model/CampaignRulesetChangedNotificationItem.java
@@ -26,7 +26,6 @@
import one.talon.model.Campaign;
import one.talon.model.PlaceholderDetails;
import one.talon.model.Ruleset;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -307,10 +306,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignSearch.java b/src/main/java/one/talon/model/CampaignSearch.java
index 7a56ac15..67e79ddc 100644
--- a/src/main/java/one/talon/model/CampaignSearch.java
+++ b/src/main/java/one/talon/model/CampaignSearch.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -156,10 +155,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignSet.java b/src/main/java/one/talon/model/CampaignSet.java
index 8e35382f..f77e8656 100644
--- a/src/main/java/one/talon/model/CampaignSet.java
+++ b/src/main/java/one/talon/model/CampaignSet.java
@@ -22,7 +22,6 @@
import java.io.IOException;
import java.util.Arrays;
import one.talon.model.CampaignSetBranchNode;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -262,10 +261,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignSetBranchNode.java b/src/main/java/one/talon/model/CampaignSetBranchNode.java
index 63225a3a..8de46a95 100644
--- a/src/main/java/one/talon/model/CampaignSetBranchNode.java
+++ b/src/main/java/one/talon/model/CampaignSetBranchNode.java
@@ -24,7 +24,6 @@
import java.util.Arrays;
import java.util.List;
import one.talon.model.CampaignSetNode;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -585,10 +584,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignSetLeafNode.java b/src/main/java/one/talon/model/CampaignSetLeafNode.java
index 76ca9ea7..03c5bc93 100644
--- a/src/main/java/one/talon/model/CampaignSetLeafNode.java
+++ b/src/main/java/one/talon/model/CampaignSetLeafNode.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -232,10 +231,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignSetNode.java b/src/main/java/one/talon/model/CampaignSetNode.java
index 3a348f32..69c4d0d5 100644
--- a/src/main/java/one/talon/model/CampaignSetNode.java
+++ b/src/main/java/one/talon/model/CampaignSetNode.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -156,10 +155,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignStateChangedNotification.java b/src/main/java/one/talon/model/CampaignStateChangedNotification.java
index 41ab3b10..f7e349c9 100644
--- a/src/main/java/one/talon/model/CampaignStateChangedNotification.java
+++ b/src/main/java/one/talon/model/CampaignStateChangedNotification.java
@@ -24,7 +24,6 @@
import java.util.Arrays;
import java.util.List;
import one.talon.model.CampaignStateChangedNotificationItem;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -269,10 +268,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignStateChangedNotificationItem.java b/src/main/java/one/talon/model/CampaignStateChangedNotificationItem.java
index f28b4cd5..cafdd685 100644
--- a/src/main/java/one/talon/model/CampaignStateChangedNotificationItem.java
+++ b/src/main/java/one/talon/model/CampaignStateChangedNotificationItem.java
@@ -26,7 +26,6 @@
import one.talon.model.Campaign;
import one.talon.model.PlaceholderDetails;
import one.talon.model.Ruleset;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -299,10 +298,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignStoreBudget.java b/src/main/java/one/talon/model/CampaignStoreBudget.java
index 4830f340..2edf1d41 100644
--- a/src/main/java/one/talon/model/CampaignStoreBudget.java
+++ b/src/main/java/one/talon/model/CampaignStoreBudget.java
@@ -25,7 +25,6 @@
import java.util.Arrays;
import java.util.List;
import one.talon.model.CampaignStoreBudgetLimitConfig;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -272,10 +271,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignStoreBudgetLimitConfig.java b/src/main/java/one/talon/model/CampaignStoreBudgetLimitConfig.java
index 611f5957..af822e7c 100644
--- a/src/main/java/one/talon/model/CampaignStoreBudgetLimitConfig.java
+++ b/src/main/java/one/talon/model/CampaignStoreBudgetLimitConfig.java
@@ -24,7 +24,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -388,10 +387,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignTemplate.java b/src/main/java/one/talon/model/CampaignTemplate.java
index 1cd0c3bc..5397ea1c 100644
--- a/src/main/java/one/talon/model/CampaignTemplate.java
+++ b/src/main/java/one/talon/model/CampaignTemplate.java
@@ -29,7 +29,6 @@
import one.talon.model.CampaignTemplateParams;
import one.talon.model.CodeGeneratorSettings;
import one.talon.model.TemplateLimitConfig;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -193,7 +192,9 @@ public enum FeaturesEnum {
STRIKETHROUGH("strikethrough"),
- ACHIEVEMENTS("achievements");
+ ACHIEVEMENTS("achievements"),
+
+ ADVANCED_EVENTS("advancedEvents");
private String value;
@@ -1088,10 +1089,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignTemplateCollection.java b/src/main/java/one/talon/model/CampaignTemplateCollection.java
index 53488355..872fa4c7 100644
--- a/src/main/java/one/talon/model/CampaignTemplateCollection.java
+++ b/src/main/java/one/talon/model/CampaignTemplateCollection.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -182,10 +181,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignTemplateCouponReservationSettings.java b/src/main/java/one/talon/model/CampaignTemplateCouponReservationSettings.java
index c717f25b..e64eb74e 100644
--- a/src/main/java/one/talon/model/CampaignTemplateCouponReservationSettings.java
+++ b/src/main/java/one/talon/model/CampaignTemplateCouponReservationSettings.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -184,10 +183,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignTemplateParams.java b/src/main/java/one/talon/model/CampaignTemplateParams.java
index d19e1e38..17887f1d 100644
--- a/src/main/java/one/talon/model/CampaignTemplateParams.java
+++ b/src/main/java/one/talon/model/CampaignTemplateParams.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -296,10 +295,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CampaignVersions.java b/src/main/java/one/talon/model/CampaignVersions.java
index 4c302d77..3fb34676 100644
--- a/src/main/java/one/talon/model/CampaignVersions.java
+++ b/src/main/java/one/talon/model/CampaignVersions.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -364,10 +363,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CardAddedDeductedPointsBalancesNotification.java b/src/main/java/one/talon/model/CardAddedDeductedPointsBalancesNotification.java
index 81482f95..9bacce5c 100644
--- a/src/main/java/one/talon/model/CardAddedDeductedPointsBalancesNotification.java
+++ b/src/main/java/one/talon/model/CardAddedDeductedPointsBalancesNotification.java
@@ -25,7 +25,6 @@
import java.util.Arrays;
import java.util.List;
import one.talon.model.AddedDeductedPointsBalancesAction;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -567,10 +566,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CardAddedDeductedPointsBalancesNotificationPolicy.java b/src/main/java/one/talon/model/CardAddedDeductedPointsBalancesNotificationPolicy.java
index 475915e5..ce3e1aee 100644
--- a/src/main/java/one/talon/model/CardAddedDeductedPointsBalancesNotificationPolicy.java
+++ b/src/main/java/one/talon/model/CardAddedDeductedPointsBalancesNotificationPolicy.java
@@ -23,7 +23,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -248,10 +247,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CardAddedDeductedPointsNotification.java b/src/main/java/one/talon/model/CardAddedDeductedPointsNotification.java
index b126b525..e14ce96d 100644
--- a/src/main/java/one/talon/model/CardAddedDeductedPointsNotification.java
+++ b/src/main/java/one/talon/model/CardAddedDeductedPointsNotification.java
@@ -26,7 +26,6 @@
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -718,10 +717,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CardAddedDeductedPointsNotificationPolicy.java b/src/main/java/one/talon/model/CardAddedDeductedPointsNotificationPolicy.java
index f0e201b5..48694e38 100644
--- a/src/main/java/one/talon/model/CardAddedDeductedPointsNotificationPolicy.java
+++ b/src/main/java/one/talon/model/CardAddedDeductedPointsNotificationPolicy.java
@@ -23,7 +23,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -248,10 +247,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CardExpiringPointsNotificationPolicy.java b/src/main/java/one/talon/model/CardExpiringPointsNotificationPolicy.java
index 6a8a1339..e9c56f1d 100644
--- a/src/main/java/one/talon/model/CardExpiringPointsNotificationPolicy.java
+++ b/src/main/java/one/talon/model/CardExpiringPointsNotificationPolicy.java
@@ -24,7 +24,6 @@
import java.util.Arrays;
import java.util.List;
import one.talon.model.CardExpiringPointsNotificationTrigger;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -245,10 +244,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CardExpiringPointsNotificationTrigger.java b/src/main/java/one/talon/model/CardExpiringPointsNotificationTrigger.java
index c34769d4..eb52fd3b 100644
--- a/src/main/java/one/talon/model/CardExpiringPointsNotificationTrigger.java
+++ b/src/main/java/one/talon/model/CardExpiringPointsNotificationTrigger.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -235,10 +234,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CardLedgerPointsEntryIntegrationAPI.java b/src/main/java/one/talon/model/CardLedgerPointsEntryIntegrationAPI.java
index 2f4d2901..6785040c 100644
--- a/src/main/java/one/talon/model/CardLedgerPointsEntryIntegrationAPI.java
+++ b/src/main/java/one/talon/model/CardLedgerPointsEntryIntegrationAPI.java
@@ -23,7 +23,6 @@
import java.math.BigDecimal;
import java.time.OffsetDateTime;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -444,10 +443,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CardLedgerTransactionLogEntry.java b/src/main/java/one/talon/model/CardLedgerTransactionLogEntry.java
index 73578d35..8a804c0b 100644
--- a/src/main/java/one/talon/model/CardLedgerTransactionLogEntry.java
+++ b/src/main/java/one/talon/model/CardLedgerTransactionLogEntry.java
@@ -23,7 +23,6 @@
import java.math.BigDecimal;
import java.time.OffsetDateTime;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -548,10 +547,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CardLedgerTransactionLogEntryIntegrationAPI.java b/src/main/java/one/talon/model/CardLedgerTransactionLogEntryIntegrationAPI.java
index ab9eb669..45d60cff 100644
--- a/src/main/java/one/talon/model/CardLedgerTransactionLogEntryIntegrationAPI.java
+++ b/src/main/java/one/talon/model/CardLedgerTransactionLogEntryIntegrationAPI.java
@@ -23,7 +23,6 @@
import java.math.BigDecimal;
import java.time.OffsetDateTime;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -574,10 +573,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CartItem.java b/src/main/java/one/talon/model/CartItem.java
index c4a12fb8..acd59370 100644
--- a/src/main/java/one/talon/model/CartItem.java
+++ b/src/main/java/one/talon/model/CartItem.java
@@ -29,7 +29,6 @@
import one.talon.model.AdditionalCost;
import one.talon.model.PriceDetail;
import one.talon.model.Product;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -644,10 +643,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CartItemFilterTemplate.java b/src/main/java/one/talon/model/CartItemFilterTemplate.java
index 2697b137..27c43872 100644
--- a/src/main/java/one/talon/model/CartItemFilterTemplate.java
+++ b/src/main/java/one/talon/model/CartItemFilterTemplate.java
@@ -23,7 +23,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -192,10 +191,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/Catalog.java b/src/main/java/one/talon/model/Catalog.java
index adaa9a95..847cf35a 100644
--- a/src/main/java/one/talon/model/Catalog.java
+++ b/src/main/java/one/talon/model/Catalog.java
@@ -24,7 +24,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -375,10 +374,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CatalogAction.java b/src/main/java/one/talon/model/CatalogAction.java
new file mode 100644
index 00000000..099fdcda
--- /dev/null
+++ b/src/main/java/one/talon/model/CatalogAction.java
@@ -0,0 +1,378 @@
+/*
+ * 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) 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#tag/Customer-sessions/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 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 java.io.IOException;
+import java.util.Arrays;
+
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonDeserializationContext;
+import com.google.gson.JsonDeserializer;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParseException;
+import com.google.gson.TypeAdapterFactory;
+import com.google.gson.reflect.TypeToken;
+import com.google.gson.TypeAdapter;
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonWriter;
+import java.io.IOException;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import one.talon.JSON;
+
+/**
+ * Definition of all the properties that are needed for a single catalog sync action.
+ */
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.22.0")
+public class CatalogAction {
+ /**
+ * The type of sync action.
+ */
+ @JsonAdapter(TypeEnum.Adapter.class)
+ public enum TypeEnum {
+ ADD("ADD"),
+
+ PATCH("PATCH"),
+
+ PATCH_MANY("PATCH_MANY"),
+
+ REMOVE("REMOVE"),
+
+ REMOVE_MANY("REMOVE_MANY"),
+
+ ADD_PRICE_ADJUSTMENT("ADD_PRICE_ADJUSTMENT");
+
+ private String value;
+
+ TypeEnum(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static TypeEnum fromValue(String value) {
+ for (TypeEnum b : TypeEnum.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 TypeEnum enumeration) throws IOException {
+ jsonWriter.value(enumeration.getValue());
+ }
+
+ @Override
+ public TypeEnum read(final JsonReader jsonReader) throws IOException {
+ String value = jsonReader.nextString();
+ return TypeEnum.fromValue(value);
+ }
+ }
+
+ public static void validateJsonElement(JsonElement jsonElement) throws IOException {
+ String value = jsonElement.getAsString();
+ TypeEnum.fromValue(value);
+ }
+ }
+
+ public static final String SERIALIZED_NAME_TYPE = "type";
+ @SerializedName(SERIALIZED_NAME_TYPE)
+ @javax.annotation.Nonnull
+ private TypeEnum type;
+
+ public static final String SERIALIZED_NAME_PAYLOAD = "payload";
+ @SerializedName(SERIALIZED_NAME_PAYLOAD)
+ @javax.annotation.Nonnull
+ private Object payload;
+
+ public CatalogAction() {
+ }
+
+ public CatalogAction type(@javax.annotation.Nonnull TypeEnum type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * The type of sync action.
+ * @return type
+ */
+ @javax.annotation.Nonnull
+ public TypeEnum getType() {
+ return type;
+ }
+
+ public void setType(@javax.annotation.Nonnull TypeEnum type) {
+ this.type = type;
+ }
+
+
+ public CatalogAction payload(@javax.annotation.Nonnull Object payload) {
+ this.payload = payload;
+ return this;
+ }
+
+ /**
+ * Get payload
+ * @return payload
+ */
+ @javax.annotation.Nonnull
+ public Object getPayload() {
+ return payload;
+ }
+
+ public void setPayload(@javax.annotation.Nonnull Object payload) {
+ this.payload = payload;
+ }
+
+ /**
+ * A container for additional, undeclared properties.
+ * This is a holder for any undeclared properties as specified with
+ * the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value.
+ * If the property does not already exist, create it otherwise replace it.
+ *
+ * @param key name of the property
+ * @param value value of the property
+ * @return the CatalogAction instance itself
+ */
+ public CatalogAction putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return a map of objects
+ */
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key name of the property
+ * @return an object
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ CatalogAction catalogAction = (CatalogAction) o;
+ return Objects.equals(this.type, catalogAction.type) &&
+ Objects.equals(this.payload, catalogAction.payload)&&
+ Objects.equals(this.additionalProperties, catalogAction.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(type, payload, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class CatalogAction {\n");
+ sb.append(" type: ").append(toIndentedString(type)).append("\n");
+ sb.append(" payload: ").append(toIndentedString(payload)).append("\n");
+ sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).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(Object o) {
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
+ }
+
+
+ public static HashSet openapiFields;
+ public static HashSet openapiRequiredFields;
+
+ static {
+ // a set of all properties/fields (JSON key names)
+ openapiFields = new HashSet(Arrays.asList("type", "payload"));
+
+ // a set of required properties/fields (JSON key names)
+ openapiRequiredFields = new HashSet(Arrays.asList("type", "payload"));
+ }
+
+ /**
+ * Validates the JSON Element and throws an exception if issues found
+ *
+ * @param jsonElement JSON Element
+ * @throws IOException if the JSON Element is invalid with respect to CatalogAction
+ */
+ public static void validateJsonElement(JsonElement jsonElement) throws IOException {
+ if (jsonElement == null) {
+ if (!CatalogAction.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null
+ throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in CatalogAction is not found in the empty JSON string", CatalogAction.openapiRequiredFields.toString()));
+ }
+ }
+
+ // check to make sure all required properties/fields are present in the JSON string
+ for (String requiredField : CatalogAction.openapiRequiredFields) {
+ if (jsonElement.getAsJsonObject().get(requiredField) == null) {
+ throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString()));
+ }
+ }
+ JsonObject jsonObj = jsonElement.getAsJsonObject();
+ if (!jsonObj.get("type").isJsonPrimitive()) {
+ throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString()));
+ }
+ // validate the required field `type`
+ TypeEnum.validateJsonElement(jsonObj.get("type"));
+ }
+
+ public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
+ @SuppressWarnings("unchecked")
+ @Override
+ public TypeAdapter create(Gson gson, TypeToken type) {
+ if (!CatalogAction.class.isAssignableFrom(type.getRawType())) {
+ return null; // this class only serializes 'CatalogAction' and its subtypes
+ }
+ final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
+ final TypeAdapter thisAdapter
+ = gson.getDelegateAdapter(this, TypeToken.get(CatalogAction.class));
+
+ return (TypeAdapter) new TypeAdapter() {
+ @Override
+ public void write(JsonWriter out, CatalogAction value) throws IOException {
+ JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ obj.remove("additionalProperties");
+ // serialize additional properties
+ if (value.getAdditionalProperties() != null) {
+ for (Map.Entry entry : value.getAdditionalProperties().entrySet()) {
+ if (entry.getValue() instanceof String)
+ obj.addProperty(entry.getKey(), (String) entry.getValue());
+ else if (entry.getValue() instanceof Number)
+ obj.addProperty(entry.getKey(), (Number) entry.getValue());
+ else if (entry.getValue() instanceof Boolean)
+ obj.addProperty(entry.getKey(), (Boolean) entry.getValue());
+ else if (entry.getValue() instanceof Character)
+ obj.addProperty(entry.getKey(), (Character) entry.getValue());
+ else {
+ JsonElement jsonElement = gson.toJsonTree(entry.getValue());
+ if (jsonElement.isJsonArray()) {
+ obj.add(entry.getKey(), jsonElement.getAsJsonArray());
+ } else {
+ obj.add(entry.getKey(), jsonElement.getAsJsonObject());
+ }
+ }
+ }
+ }
+ elementAdapter.write(out, obj);
+ }
+
+ @Override
+ public CatalogAction read(JsonReader in) throws IOException {
+ JsonElement jsonElement = elementAdapter.read(in);
+ validateJsonElement(jsonElement);
+ JsonObject jsonObj = jsonElement.getAsJsonObject();
+ // store additional fields in the deserialized instance
+ CatalogAction instance = thisAdapter.fromJsonTree(jsonObj);
+ for (Map.Entry entry : jsonObj.entrySet()) {
+ if (!openapiFields.contains(entry.getKey())) {
+ if (entry.getValue().isJsonPrimitive()) { // primitive type
+ if (entry.getValue().getAsJsonPrimitive().isString())
+ instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString());
+ else if (entry.getValue().getAsJsonPrimitive().isNumber())
+ instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber());
+ else if (entry.getValue().getAsJsonPrimitive().isBoolean())
+ instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean());
+ else
+ throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString()));
+ } else if (entry.getValue().isJsonArray()) {
+ instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), List.class));
+ } else { // JSON object
+ instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class));
+ }
+ }
+ }
+ return instance;
+ }
+
+ }.nullSafe();
+ }
+ }
+
+ /**
+ * Create an instance of CatalogAction given an JSON string
+ *
+ * @param jsonString JSON string
+ * @return An instance of CatalogAction
+ * @throws IOException if the JSON string is invalid with respect to CatalogAction
+ */
+ public static CatalogAction fromJson(String jsonString) throws IOException {
+ return JSON.getGson().fromJson(jsonString, CatalogAction.class);
+ }
+
+ /**
+ * Convert an instance of CatalogAction to an JSON string
+ *
+ * @return JSON string
+ */
+ public String toJson() {
+ return JSON.getGson().toJson(this);
+ }
+}
+
diff --git a/src/main/java/one/talon/model/CatalogActionFilter.java b/src/main/java/one/talon/model/CatalogActionFilter.java
index 01a526b0..25858932 100644
--- a/src/main/java/one/talon/model/CatalogActionFilter.java
+++ b/src/main/java/one/talon/model/CatalogActionFilter.java
@@ -21,7 +21,6 @@
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import java.util.Arrays;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -268,10 +267,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CatalogItem.java b/src/main/java/one/talon/model/CatalogItem.java
index ca3dc773..d2aa822e 100644
--- a/src/main/java/one/talon/model/CatalogItem.java
+++ b/src/main/java/one/talon/model/CatalogItem.java
@@ -27,7 +27,6 @@
import java.util.List;
import one.talon.model.ItemAttribute;
import one.talon.model.Product;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -353,10 +352,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CatalogRule.java b/src/main/java/one/talon/model/CatalogRule.java
index 5a357b7e..55632784 100644
--- a/src/main/java/one/talon/model/CatalogRule.java
+++ b/src/main/java/one/talon/model/CatalogRule.java
@@ -24,7 +24,6 @@
import java.util.Arrays;
import java.util.List;
import one.talon.model.Binding;
-import com.google.gson.JsonElement;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -261,10 +260,7 @@ public String toString() {
* (except the first line).
*/
private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
}
diff --git a/src/main/java/one/talon/model/CatalogSyncRequest.java b/src/main/java/one/talon/model/CatalogSyncRequest.java
index 371293b2..87fe5c2c 100644
--- a/src/main/java/one/talon/model/CatalogSyncRequest.java
+++ b/src/main/java/one/talon/model/CatalogSyncRequest.java
@@ -23,7 +23,7 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import com.google.gson.JsonElement;
+import one.talon.model.CatalogAction;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -56,7 +56,7 @@ public class CatalogSyncRequest {
public static final String SERIALIZED_NAME_ACTIONS = "actions";
@SerializedName(SERIALIZED_NAME_ACTIONS)
@javax.annotation.Nonnull
- private List