diff --git a/README.md b/README.md
index fcad1c4e..bd4e1916 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@ If you use Maven, we also host [Maven Artifacts](https://github.com/talon-one/ma
Building the API client library requires:
-1. Java 21+
+1. Java 1.7+
2. Maven/Gradle
## Installation
@@ -35,7 +35,7 @@ Add this dependency to your project's POM:
one.talon
talon-one-client
- 12.0.0
+ 13.0.0
compile
```
@@ -45,7 +45,7 @@ Add this dependency to your project's POM:
Add this dependency to your project's build file:
```groovy
-compile "one.talon:talon-one-client:12.0.0"
+compile "one.talon:talon-one-client:13.0.0"
```
### Others
@@ -232,6 +232,7 @@ Class | Method | HTTP request | Description
*ManagementApi* | [**createAttribute**](docs/ManagementApi.md#createAttribute) | **POST** /v1/attributes | Create custom attribute
*ManagementApi* | [**createBatchLoyaltyCards**](docs/ManagementApi.md#createBatchLoyaltyCards) | **POST** /v1/loyalty_programs/{loyaltyProgramId}/cards/batch | Create loyalty cards
*ManagementApi* | [**createCampaignFromTemplate**](docs/ManagementApi.md#createCampaignFromTemplate) | **POST** /v1/applications/{applicationId}/create_campaign_from_template | Create campaign from campaign template
+*ManagementApi* | [**createCampaignStoreBudget**](docs/ManagementApi.md#createCampaignStoreBudget) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets | Create campaign store budget
*ManagementApi* | [**createCollection**](docs/ManagementApi.md#createCollection) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/collections | Create campaign-level collection
*ManagementApi* | [**createCoupons**](docs/ManagementApi.md#createCoupons) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons | Create coupons
*ManagementApi* | [**createCouponsAsync**](docs/ManagementApi.md#createCouponsAsync) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons_async | Create coupons asynchronously
@@ -247,6 +248,7 @@ Class | Method | HTTP request | Description
*ManagementApi* | [**deleteAccountCollection**](docs/ManagementApi.md#deleteAccountCollection) | **DELETE** /v1/collections/{collectionId} | Delete account-level collection
*ManagementApi* | [**deleteAchievement**](docs/ManagementApi.md#deleteAchievement) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId} | Delete achievement
*ManagementApi* | [**deleteCampaign**](docs/ManagementApi.md#deleteCampaign) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId} | Delete campaign
+*ManagementApi* | [**deleteCampaignStoreBudgets**](docs/ManagementApi.md#deleteCampaignStoreBudgets) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets | Delete campaign store budgets
*ManagementApi* | [**deleteCollection**](docs/ManagementApi.md#deleteCollection) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId} | Delete campaign-level collection
*ManagementApi* | [**deleteCoupon**](docs/ManagementApi.md#deleteCoupon) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons/{couponId} | Delete coupon
*ManagementApi* | [**deleteCoupons**](docs/ManagementApi.md#deleteCoupons) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons | Delete coupons
@@ -260,6 +262,7 @@ Class | Method | HTTP request | Description
*ManagementApi* | [**exportAccountCollectionItems**](docs/ManagementApi.md#exportAccountCollectionItems) | **GET** /v1/collections/{collectionId}/export | Export account-level collection's items
*ManagementApi* | [**exportAchievements**](docs/ManagementApi.md#exportAchievements) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId}/export | Export achievement customer data
*ManagementApi* | [**exportAudiencesMemberships**](docs/ManagementApi.md#exportAudiencesMemberships) | **GET** /v1/audiences/{audienceId}/memberships/export | Export audience members
+*ManagementApi* | [**exportCampaignStoreBudgets**](docs/ManagementApi.md#exportCampaignStoreBudgets) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets/export | Export campaign store budgets
*ManagementApi* | [**exportCampaignStores**](docs/ManagementApi.md#exportCampaignStores) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/stores/export | Export stores
*ManagementApi* | [**exportCollectionItems**](docs/ManagementApi.md#exportCollectionItems) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}/export | Export campaign-level collection's items
*ManagementApi* | [**exportCoupons**](docs/ManagementApi.md#exportCoupons) | **GET** /v1/applications/{applicationId}/export_coupons | Export coupons
@@ -335,12 +338,11 @@ Class | Method | HTTP request | Description
*ManagementApi* | [**getUser**](docs/ManagementApi.md#getUser) | **GET** /v1/users/{userId} | Get user
*ManagementApi* | [**getUsers**](docs/ManagementApi.md#getUsers) | **GET** /v1/users | List users in account
*ManagementApi* | [**getWebhook**](docs/ManagementApi.md#getWebhook) | **GET** /v1/webhooks/{webhookId} | Get webhook
-*ManagementApi* | [**getWebhookActivationLogs**](docs/ManagementApi.md#getWebhookActivationLogs) | **GET** /v1/webhook_activation_logs | List webhook activation log entries
-*ManagementApi* | [**getWebhookLogs**](docs/ManagementApi.md#getWebhookLogs) | **GET** /v1/webhook_logs | List webhook log entries
*ManagementApi* | [**getWebhooks**](docs/ManagementApi.md#getWebhooks) | **GET** /v1/webhooks | List webhooks
*ManagementApi* | [**importAccountCollection**](docs/ManagementApi.md#importAccountCollection) | **POST** /v1/collections/{collectionId}/import | Import data into existing account-level collection
*ManagementApi* | [**importAllowedList**](docs/ManagementApi.md#importAllowedList) | **POST** /v1/attributes/{attributeId}/allowed_list/import | Import allowed values for attribute
*ManagementApi* | [**importAudiencesMemberships**](docs/ManagementApi.md#importAudiencesMemberships) | **POST** /v1/audiences/{audienceId}/memberships/import | Import audience members
+*ManagementApi* | [**importCampaignStoreBudget**](docs/ManagementApi.md#importCampaignStoreBudget) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets/import | Import campaign store budgets
*ManagementApi* | [**importCampaignStores**](docs/ManagementApi.md#importCampaignStores) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/stores/import | Import stores
*ManagementApi* | [**importCollection**](docs/ManagementApi.md#importCollection) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}/import | Import data into existing campaign-level collection
*ManagementApi* | [**importCoupons**](docs/ManagementApi.md#importCoupons) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/import_coupons | Import coupons
@@ -353,6 +355,7 @@ Class | Method | HTTP request | Description
*ManagementApi* | [**listAccountCollections**](docs/ManagementApi.md#listAccountCollections) | **GET** /v1/collections | List collections in account
*ManagementApi* | [**listAchievements**](docs/ManagementApi.md#listAchievements) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/achievements | List achievements
*ManagementApi* | [**listAllRolesV2**](docs/ManagementApi.md#listAllRolesV2) | **GET** /v2/roles | List roles
+*ManagementApi* | [**listCampaignStoreBudgetLimits**](docs/ManagementApi.md#listCampaignStoreBudgetLimits) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets | List campaign store budget limits
*ManagementApi* | [**listCatalogItems**](docs/ManagementApi.md#listCatalogItems) | **GET** /v1/catalogs/{catalogId}/items | List items in a catalog
*ManagementApi* | [**listCollections**](docs/ManagementApi.md#listCollections) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/collections | List collections in campaign
*ManagementApi* | [**listCollectionsInApplication**](docs/ManagementApi.md#listCollectionsInApplication) | **GET** /v1/applications/{applicationId}/collections | List collections in Application
@@ -360,17 +363,24 @@ Class | Method | HTTP request | Description
*ManagementApi* | [**oktaEventHandlerChallenge**](docs/ManagementApi.md#oktaEventHandlerChallenge) | **GET** /v1/provisioning/okta | Validate Okta API ownership
*ManagementApi* | [**removeLoyaltyPoints**](docs/ManagementApi.md#removeLoyaltyPoints) | **PUT** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/deduct_points | Deduct points from customer profile
*ManagementApi* | [**resetPassword**](docs/ManagementApi.md#resetPassword) | **POST** /v1/reset_password | Reset password
+*ManagementApi* | [**scimCreateGroup**](docs/ManagementApi.md#scimCreateGroup) | **POST** /v1/provisioning/scim/Groups | Create SCIM group
*ManagementApi* | [**scimCreateUser**](docs/ManagementApi.md#scimCreateUser) | **POST** /v1/provisioning/scim/Users | Create SCIM user
+*ManagementApi* | [**scimDeleteGroup**](docs/ManagementApi.md#scimDeleteGroup) | **DELETE** /v1/provisioning/scim/Groups/{groupId} | Delete SCIM group
*ManagementApi* | [**scimDeleteUser**](docs/ManagementApi.md#scimDeleteUser) | **DELETE** /v1/provisioning/scim/Users/{userId} | Delete SCIM user
+*ManagementApi* | [**scimGetGroup**](docs/ManagementApi.md#scimGetGroup) | **GET** /v1/provisioning/scim/Groups/{groupId} | Get SCIM group
+*ManagementApi* | [**scimGetGroups**](docs/ManagementApi.md#scimGetGroups) | **GET** /v1/provisioning/scim/Groups | List SCIM groups
*ManagementApi* | [**scimGetResourceTypes**](docs/ManagementApi.md#scimGetResourceTypes) | **GET** /v1/provisioning/scim/ResourceTypes | List supported SCIM resource types
*ManagementApi* | [**scimGetSchemas**](docs/ManagementApi.md#scimGetSchemas) | **GET** /v1/provisioning/scim/Schemas | List supported SCIM schemas
*ManagementApi* | [**scimGetServiceProviderConfig**](docs/ManagementApi.md#scimGetServiceProviderConfig) | **GET** /v1/provisioning/scim/ServiceProviderConfig | Get SCIM service provider configuration
*ManagementApi* | [**scimGetUser**](docs/ManagementApi.md#scimGetUser) | **GET** /v1/provisioning/scim/Users/{userId} | Get SCIM user
*ManagementApi* | [**scimGetUsers**](docs/ManagementApi.md#scimGetUsers) | **GET** /v1/provisioning/scim/Users | List SCIM users
+*ManagementApi* | [**scimPatchGroup**](docs/ManagementApi.md#scimPatchGroup) | **PATCH** /v1/provisioning/scim/Groups/{groupId} | Update SCIM group attributes
*ManagementApi* | [**scimPatchUser**](docs/ManagementApi.md#scimPatchUser) | **PATCH** /v1/provisioning/scim/Users/{userId} | Update SCIM user attributes
+*ManagementApi* | [**scimReplaceGroupAttributes**](docs/ManagementApi.md#scimReplaceGroupAttributes) | **PUT** /v1/provisioning/scim/Groups/{groupId} | Update SCIM group
*ManagementApi* | [**scimReplaceUserAttributes**](docs/ManagementApi.md#scimReplaceUserAttributes) | **PUT** /v1/provisioning/scim/Users/{userId} | Update SCIM user
*ManagementApi* | [**searchCouponsAdvancedApplicationWideWithoutTotalCount**](docs/ManagementApi.md#searchCouponsAdvancedApplicationWideWithoutTotalCount) | **POST** /v1/applications/{applicationId}/coupons_search_advanced/no_total | List coupons that match the given attributes (without total count)
*ManagementApi* | [**searchCouponsAdvancedWithoutTotalCount**](docs/ManagementApi.md#searchCouponsAdvancedWithoutTotalCount) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons_search_advanced/no_total | List coupons that match the given attributes in campaign (without total count)
+*ManagementApi* | [**summarizeCampaignStoreBudget**](docs/ManagementApi.md#summarizeCampaignStoreBudget) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets/summary | Get summary of campaign store budgets
*ManagementApi* | [**transferLoyaltyCard**](docs/ManagementApi.md#transferLoyaltyCard) | **PUT** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/transfer | Transfer card data
*ManagementApi* | [**updateAccountCollection**](docs/ManagementApi.md#updateAccountCollection) | **PUT** /v1/collections/{collectionId} | Update account-level collection
*ManagementApi* | [**updateAchievement**](docs/ManagementApi.md#updateAchievement) | **PUT** /v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId} | Update achievement
@@ -413,7 +423,10 @@ Class | Method | HTTP request | Description
- [AddItemCatalogAction](docs/AddItemCatalogAction.md)
- [AddLoyaltyPoints](docs/AddLoyaltyPoints.md)
- [AddLoyaltyPointsEffectProps](docs/AddLoyaltyPointsEffectProps.md)
+- [AddPriceAdjustmentCatalogAction](docs/AddPriceAdjustmentCatalogAction.md)
- [AddToAudienceEffectProps](docs/AddToAudienceEffectProps.md)
+- [AddedDeductedPointsBalancesNotificationPolicy](docs/AddedDeductedPointsBalancesNotificationPolicy.md)
+- [AddedDeductedPointsNotification](docs/AddedDeductedPointsNotification.md)
- [AddedDeductedPointsNotificationPolicy](docs/AddedDeductedPointsNotificationPolicy.md)
- [AdditionalCampaignProperties](docs/AdditionalCampaignProperties.md)
- [AdditionalCost](docs/AdditionalCost.md)
@@ -443,6 +456,7 @@ Class | Method | HTTP request | Description
- [ApplicationStoreEntity](docs/ApplicationStoreEntity.md)
- [AsyncCouponCreationResponse](docs/AsyncCouponCreationResponse.md)
- [AsyncCouponDeletionJobResponse](docs/AsyncCouponDeletionJobResponse.md)
+- [AsyncCouponsData](docs/AsyncCouponsData.md)
- [Attribute](docs/Attribute.md)
- [AttributesMandatory](docs/AttributesMandatory.md)
- [AttributesSettings](docs/AttributesSettings.md)
@@ -472,16 +486,20 @@ Class | Method | HTTP request | Description
- [CampaignCollectionWithoutPayload](docs/CampaignCollectionWithoutPayload.md)
- [CampaignCopy](docs/CampaignCopy.md)
- [CampaignCreatedNotification](docs/CampaignCreatedNotification.md)
+- [CampaignDeactivationRequest](docs/CampaignDeactivationRequest.md)
- [CampaignDeletedNotification](docs/CampaignDeletedNotification.md)
- [CampaignDetail](docs/CampaignDetail.md)
- [CampaignEditedNotification](docs/CampaignEditedNotification.md)
- [CampaignEntity](docs/CampaignEntity.md)
- [CampaignEvaluationGroup](docs/CampaignEvaluationGroup.md)
- [CampaignEvaluationPosition](docs/CampaignEvaluationPosition.md)
+- [CampaignEvaluationTreeChangedMessage](docs/CampaignEvaluationTreeChangedMessage.md)
- [CampaignEvaluationTreeChangedNotification](docs/CampaignEvaluationTreeChangedNotification.md)
- [CampaignGroup](docs/CampaignGroup.md)
- [CampaignGroupEntity](docs/CampaignGroupEntity.md)
- [CampaignNotification](docs/CampaignNotification.md)
+- [CampaignNotificationData](docs/CampaignNotificationData.md)
+- [CampaignNotificationMessage](docs/CampaignNotificationMessage.md)
- [CampaignNotificationPolicy](docs/CampaignNotificationPolicy.md)
- [CampaignRulesetChangedNotification](docs/CampaignRulesetChangedNotification.md)
- [CampaignSearch](docs/CampaignSearch.md)
@@ -497,6 +515,8 @@ Class | Method | HTTP request | Description
- [CampaignTemplateCouponReservationSettings](docs/CampaignTemplateCouponReservationSettings.md)
- [CampaignTemplateParams](docs/CampaignTemplateParams.md)
- [CampaignVersions](docs/CampaignVersions.md)
+- [CardAddedDeductedPointsBalancesNotificationPolicy](docs/CardAddedDeductedPointsBalancesNotificationPolicy.md)
+- [CardAddedDeductedPointsNotification](docs/CardAddedDeductedPointsNotification.md)
- [CardAddedDeductedPointsNotificationPolicy](docs/CardAddedDeductedPointsNotificationPolicy.md)
- [CardExpiringPointsNotificationPolicy](docs/CardExpiringPointsNotificationPolicy.md)
- [CardExpiringPointsNotificationTrigger](docs/CardExpiringPointsNotificationTrigger.md)
@@ -523,14 +543,17 @@ Class | Method | HTTP request | Description
- [CouponCreationJob](docs/CouponCreationJob.md)
- [CouponDeletionFilters](docs/CouponDeletionFilters.md)
- [CouponDeletionJob](docs/CouponDeletionJob.md)
+- [CouponEntity](docs/CouponEntity.md)
- [CouponLimitConfigs](docs/CouponLimitConfigs.md)
- [CouponRejectionReason](docs/CouponRejectionReason.md)
- [CouponReservations](docs/CouponReservations.md)
- [CouponSearch](docs/CouponSearch.md)
- [CouponValue](docs/CouponValue.md)
+- [CouponsNotificationData](docs/CouponsNotificationData.md)
- [CouponsNotificationPolicy](docs/CouponsNotificationPolicy.md)
- [CreateAchievement](docs/CreateAchievement.md)
- [CreateApplicationAPIKey](docs/CreateApplicationAPIKey.md)
+- [CreateCouponData](docs/CreateCouponData.md)
- [CreateManagementKey](docs/CreateManagementKey.md)
- [CreateTemplateCampaign](docs/CreateTemplateCampaign.md)
- [CreateTemplateCampaignResponse](docs/CreateTemplateCampaignResponse.md)
@@ -542,6 +565,7 @@ Class | Method | HTTP request | Description
- [CustomerProfile](docs/CustomerProfile.md)
- [CustomerProfileAudienceRequest](docs/CustomerProfileAudienceRequest.md)
- [CustomerProfileAudienceRequestItem](docs/CustomerProfileAudienceRequestItem.md)
+- [CustomerProfileEntity](docs/CustomerProfileEntity.md)
- [CustomerProfileIntegrationRequestV2](docs/CustomerProfileIntegrationRequestV2.md)
- [CustomerProfileIntegrationResponseV2](docs/CustomerProfileIntegrationResponseV2.md)
- [CustomerProfileSearchQuery](docs/CustomerProfileSearchQuery.md)
@@ -550,6 +574,7 @@ Class | Method | HTTP request | Description
- [CustomerSessionV2](docs/CustomerSessionV2.md)
- [DeductLoyaltyPoints](docs/DeductLoyaltyPoints.md)
- [DeductLoyaltyPointsEffectProps](docs/DeductLoyaltyPointsEffectProps.md)
+- [DeleteCouponsData](docs/DeleteCouponsData.md)
- [DeleteUserRequest](docs/DeleteUserRequest.md)
- [Effect](docs/Effect.md)
- [EffectEntity](docs/EffectEntity.md)
@@ -566,11 +591,19 @@ Class | Method | HTTP request | Description
- [Event](docs/Event.md)
- [EventType](docs/EventType.md)
- [EventV2](docs/EventV2.md)
+- [ExpiringCardPointsData](docs/ExpiringCardPointsData.md)
+- [ExpiringCardPointsNotification](docs/ExpiringCardPointsNotification.md)
+- [ExpiringCouponsData](docs/ExpiringCouponsData.md)
+- [ExpiringCouponsNotification](docs/ExpiringCouponsNotification.md)
- [ExpiringCouponsNotificationPolicy](docs/ExpiringCouponsNotificationPolicy.md)
- [ExpiringCouponsNotificationTrigger](docs/ExpiringCouponsNotificationTrigger.md)
+- [ExpiringPointsData](docs/ExpiringPointsData.md)
+- [ExpiringPointsNotification](docs/ExpiringPointsNotification.md)
- [ExpiringPointsNotificationPolicy](docs/ExpiringPointsNotificationPolicy.md)
- [ExpiringPointsNotificationTrigger](docs/ExpiringPointsNotificationTrigger.md)
- [Export](docs/Export.md)
+- [ExtendLoyaltyPointsExpiryDateEffectProps](docs/ExtendLoyaltyPointsExpiryDateEffectProps.md)
+- [ExtendedCoupon](docs/ExtendedCoupon.md)
- [FeatureFlag](docs/FeatureFlag.md)
- [FeaturesFeed](docs/FeaturesFeed.md)
- [FuncArgDef](docs/FuncArgDef.md)
@@ -640,6 +673,8 @@ Class | Method | HTTP request | Description
- [InlineResponse2009](docs/InlineResponse2009.md)
- [InlineResponse201](docs/InlineResponse201.md)
- [IntegrationCoupon](docs/IntegrationCoupon.md)
+- [IntegrationCustomerProfileAudienceRequest](docs/IntegrationCustomerProfileAudienceRequest.md)
+- [IntegrationCustomerProfileAudienceRequestItem](docs/IntegrationCustomerProfileAudienceRequestItem.md)
- [IntegrationCustomerSessionResponse](docs/IntegrationCustomerSessionResponse.md)
- [IntegrationEntity](docs/IntegrationEntity.md)
- [IntegrationEvent](docs/IntegrationEvent.md)
@@ -753,6 +788,8 @@ Class | Method | HTTP request | Description
- [NewPassword](docs/NewPassword.md)
- [NewPasswordEmail](docs/NewPasswordEmail.md)
- [NewPicklist](docs/NewPicklist.md)
+- [NewPriceAdjustment](docs/NewPriceAdjustment.md)
+- [NewPriceType](docs/NewPriceType.md)
- [NewReferral](docs/NewReferral.md)
- [NewReferralsForMultipleAdvocates](docs/NewReferralsForMultipleAdvocates.md)
- [NewReturn](docs/NewReturn.md)
@@ -761,6 +798,7 @@ Class | Method | HTTP request | Description
- [NewRoleV2](docs/NewRoleV2.md)
- [NewRuleset](docs/NewRuleset.md)
- [NewSamlConnection](docs/NewSamlConnection.md)
+- [NewSecondaryDeployment](docs/NewSecondaryDeployment.md)
- [NewStore](docs/NewStore.md)
- [NewTemplateDef](docs/NewTemplateDef.md)
- [NewUser](docs/NewUser.md)
@@ -785,8 +823,12 @@ Class | Method | HTTP request | Description
- [OutgoingIntegrationTypes](docs/OutgoingIntegrationTypes.md)
- [PatchItemCatalogAction](docs/PatchItemCatalogAction.md)
- [PatchManyItemsCatalogAction](docs/PatchManyItemsCatalogAction.md)
+- [PendingActivePointsData](docs/PendingActivePointsData.md)
+- [PendingActivePointsNotification](docs/PendingActivePointsNotification.md)
- [PendingPointsNotificationPolicy](docs/PendingPointsNotificationPolicy.md)
- [Picklist](docs/Picklist.md)
+- [PriceDetail](docs/PriceDetail.md)
+- [PriceType](docs/PriceType.md)
- [Product](docs/Product.md)
- [ProductSearchMatch](docs/ProductSearchMatch.md)
- [ProductUnitAnalytics](docs/ProductUnitAnalytics.md)
@@ -835,8 +877,12 @@ Class | Method | HTTP request | Description
- [SamlConnectionInternal](docs/SamlConnectionInternal.md)
- [SamlConnectionMetadata](docs/SamlConnectionMetadata.md)
- [SamlLoginEndpoint](docs/SamlLoginEndpoint.md)
+- [ScimBaseGroup](docs/ScimBaseGroup.md)
- [ScimBaseUser](docs/ScimBaseUser.md)
- [ScimBaseUserName](docs/ScimBaseUserName.md)
+- [ScimGroup](docs/ScimGroup.md)
+- [ScimGroupMember](docs/ScimGroupMember.md)
+- [ScimGroupsListResponse](docs/ScimGroupsListResponse.md)
- [ScimNewUser](docs/ScimNewUser.md)
- [ScimPatchOperation](docs/ScimPatchOperation.md)
- [ScimPatchRequest](docs/ScimPatchRequest.md)
@@ -852,6 +898,7 @@ Class | Method | HTTP request | Description
- [ScimServiceProviderConfigResponseSort](docs/ScimServiceProviderConfigResponseSort.md)
- [ScimUser](docs/ScimUser.md)
- [ScimUsersListResponse](docs/ScimUsersListResponse.md)
+- [SecondaryDeployment](docs/SecondaryDeployment.md)
- [Session](docs/Session.md)
- [SetDiscountEffectProps](docs/SetDiscountEffectProps.md)
- [SetDiscountPerAdditionalCostEffectProps](docs/SetDiscountPerAdditionalCostEffectProps.md)
@@ -877,8 +924,14 @@ Class | Method | HTTP request | Description
- [TemplateDef](docs/TemplateDef.md)
- [TemplateLimitConfig](docs/TemplateLimitConfig.md)
- [Tier](docs/Tier.md)
+- [TierDowngradeData](docs/TierDowngradeData.md)
+- [TierDowngradeNotification](docs/TierDowngradeNotification.md)
- [TierDowngradeNotificationPolicy](docs/TierDowngradeNotificationPolicy.md)
+- [TierUpgradeData](docs/TierUpgradeData.md)
+- [TierUpgradeNotification](docs/TierUpgradeNotification.md)
- [TierUpgradeNotificationPolicy](docs/TierUpgradeNotificationPolicy.md)
+- [TierWillDowngradeData](docs/TierWillDowngradeData.md)
+- [TierWillDowngradeNotification](docs/TierWillDowngradeNotification.md)
- [TierWillDowngradeNotificationPolicy](docs/TierWillDowngradeNotificationPolicy.md)
- [TierWillDowngradeNotificationTrigger](docs/TierWillDowngradeNotificationTrigger.md)
- [TimePoint](docs/TimePoint.md)
@@ -902,6 +955,7 @@ Class | Method | HTTP request | Description
- [UpdateCollection](docs/UpdateCollection.md)
- [UpdateCoupon](docs/UpdateCoupon.md)
- [UpdateCouponBatch](docs/UpdateCouponBatch.md)
+- [UpdateCouponsData](docs/UpdateCouponsData.md)
- [UpdateLoyaltyCard](docs/UpdateLoyaltyCard.md)
- [UpdateLoyaltyProgram](docs/UpdateLoyaltyProgram.md)
- [UpdateLoyaltyProgramTier](docs/UpdateLoyaltyProgramTier.md)
@@ -915,8 +969,11 @@ Class | Method | HTTP request | Description
- [UserEntity](docs/UserEntity.md)
- [ValueMap](docs/ValueMap.md)
- [Webhook](docs/Webhook.md)
-- [WebhookActivationLogEntry](docs/WebhookActivationLogEntry.md)
-- [WebhookLogEntry](docs/WebhookLogEntry.md)
+- [WebhookAuthentication](docs/WebhookAuthentication.md)
+- [WebhookAuthenticationBase](docs/WebhookAuthenticationBase.md)
+- [WebhookAuthenticationDataBasic](docs/WebhookAuthenticationDataBasic.md)
+- [WebhookAuthenticationDataCustom](docs/WebhookAuthenticationDataCustom.md)
+- [WebhookAuthenticationWebhookRef](docs/WebhookAuthenticationWebhookRef.md)
- [WebhookWithOutgoingIntegrationDetails](docs/WebhookWithOutgoingIntegrationDetails.md)
- [WillAwardGiveawayEffectProps](docs/WillAwardGiveawayEffectProps.md)
diff --git a/api/openapi.yaml b/api/openapi.yaml
index 2129491e..244e0c83 100644
--- a/api/openapi.yaml
+++ b/api/openapi.yaml
@@ -67,6 +67,19 @@ tags:
See the [docs](https://docs.talon.one/docs/product/account/account-settings/managing-campaign-groups).
name: Campaign access groups
+- description: |
+ Represents the [notifications](/docs/product/applications/application-notifications/overview)
+ about campaign-related changes.
+
+ **Note:** The value of the `NotificationType` property indicates the campaign change:
+ - `CampaignNotification` signifies one of the following events:
+ - [Campaign created](#tag/Campaign-notifications/paths/campaign_created/post)
+ - [Campaign state changed](#tag/Campaign-notifications/paths/campaign_state_changed/post)
+ - [Campaign rules changed](#tag/Campaign-notifications/paths/campaign_rusleset_changed/post)
+ - [Campaign edited](#tag/Campaign-notifications/paths/campaign_edited/post)
+ - [Campaign deleted](#tag/Campaign-notifications/paths/campaign_deleted/post)
+ - `CampaignEvaluationTreeChanged` signifies [Campaign evaluation tree changed](#tag/Campaign-notifications/paths/campaign_evaluation_tree_changed/post).
+ name: Campaign notifications
- description: |
Represents templates used to generate campaigns from.
name: Campaign templates
@@ -86,6 +99,10 @@ tags:
See the [docs](https://docs.talon.one/docs/product/campaigns/managing-collections).
name: Collections
+- description: |
+ Represents the [notifications](/docs/product/applications/application-notifications/overview)
+ about coupons.
+ name: Coupon notifications
- description: |
Coupons are unique codes belonging to a particular campaign. They don't define any behavior on their own.
Instead the campaign ruleset can include rules that validate coupons and carry out particular effects.
@@ -129,11 +146,18 @@ tags:
See [the Product docs](https://docs.talon.one/docs/product/loyalty-programs/overview) for more information.
name: Loyalty
+- description: Represents the [notifications](/docs/product/loyalty-programs/loyalty-notifications/overview)
+ about changes to loyalty points in card-based loyalty programs.
+ name: Loyalty card notifications
- description: |
Represents loyalty cards.
[Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview) allow your customers to collect and spend loyalty points within a card-based loyalty program.
name: Loyalty cards
+- description: |
+ Represents the [notifications](/docs/product/loyalty-programs/loyalty-notifications/overview)
+ about changes to loyalty points in profile-based loyalty programs.
+ name: Loyalty notifications
- description: |
A referral is a code shared between a customer and a prospect.
@@ -153,9 +177,16 @@ tags:
Represents a session used for authentication purposes.
Create one with the [Create session](#operation/createSession) endpoint.
name: Sessions
+- description: Represents store budgets. You can set a store budget to limit the total
+ amount an individual store can spend in a campaign.
+ name: Store budgets
- description: |
Represents physical or digital stores, branches, and franchises.
name: Stores
+- description: |
+ Represents the [notifications](/docs/product/applications/application-notifications/overview)
+ about strikethrough pricing updates.
+ name: Strikethrough pricing notifications
- description: |
A way to send information from Talon.One to the URI of your choice.
@@ -209,41 +240,33 @@ paths:
- integration
x-accepts: application/json
put:
- description: |
- Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions).
- The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart.
- For example, use this endpoint to share the contents of a customer's cart with Talon.One.
-
- **Note:** The currency for the session and the cart items in the session is the currency set for the
- Application that owns this session.
-
- ### Session management
-
- To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions)
- and their states and refer to the `state` parameter documentation the request body schema docs below.
-
- ### Sessions and customer profiles
-
- - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`.
- - While you can create an anonymous session with `profileId=""`, we recommend you use a guest ID instead.
- - A profile can be linked to simultaneous sessions in different Applications. Either:
- - Use unique session integration IDs or,
- - Use the same session integration ID across all of the Applications.
-
- **Note:** If the specified profile does not exist, an empty profile is **created automatically**.
- You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2).
-
-
-
Performance tips
-
- - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls.
- For example, you can get the customer profile details directly without extra requests.
- - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests).
-
-
- For more information, see:
- - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview).
- - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one).
+ description: "Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions).\n\
+ The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects)\
+ \ that match the current cart.\nFor example, use this endpoint to share the\
+ \ contents of a customer's cart with Talon.One.\n\n**Note:** \n- The currency\
+ \ for the session and the cart items in it is the currency set for the Application\
+ \ linked to this session. - [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign)\
+ \ are not considered for rule evaluation.\n\n### Session management\n\nTo\
+ \ use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions)\n\
+ and their states and refer to the `state` parameter documentation the request\
+ \ body schema docs below.\n\n### Sessions and customer profiles\n\n- To link\
+ \ a session to a customer profile, set the `profileId` parameter in the request\
+ \ body to a customer profile's `integrationId`.\n- While you can create an\
+ \ anonymous session with `profileId=\"\"`, we recommend you use a guest ID\
+ \ instead.\n- A profile can be linked to simultaneous sessions in different\
+ \ Applications. Either:\n - Use unique session integration IDs or,\n - Use\
+ \ the same session integration ID across all of the Applications.\n\n**Note:**\
+ \ If the specified profile does not exist, an empty profile is **created automatically**.\n\
+ \ You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2).\n\
+ \n\n
Performance tips
\n\
+ \n - Updating a customer session returns a response with the new integration\
+ \ state. Use the `responseContent` property to save yourself extra API calls.\n\
+ \ For example, you can get the customer profile details directly without\
+ \ extra requests.\n - We recommend sending requests sequentially. See [Managing\
+ \ parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests).\n\
+
\n\nFor more information, see:\n- The introductory video in [Getting\
+ \ started](https://docs.talon.one/docs/dev/getting-started/overview).\n- The\
+ \ [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one).\n"
operationId: updateCustomerSessionV2
parameters:
- description: |
@@ -465,7 +488,7 @@ paths:
You can use this endpoint to:
- Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first.
- Modify the audience the customer profile is a member of.
-
+ **Note:** [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered in rule evaluation when `runRuleEngine` is `true`.
Performance tips
@@ -981,9 +1004,10 @@ paths:
Important
- 1. `profileId` is required even though the schema does not say it.
+ 1. `profileId` is required even though the schema does not specify it.
1. If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered.
1. We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests).
+ 1. [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered in rule evaluation.
operationId: trackEventV2
@@ -4204,6 +4228,14 @@ paths:
schema:
format: int64
type: integer
+ - description: |
+ 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`.
+ in: query
+ name: notificationsEnabled
+ schema:
+ type: boolean
requestBody:
content:
multipart/form-data:
@@ -5224,6 +5256,26 @@ paths:
name: batchId
schema:
type: string
+ - description: |
+ Only return loyalty cards created before this timestamp.
+
+ **Note:**
+ - This must be an RFC3339 timestamp string.
+ in: query
+ name: createdBefore
+ schema:
+ format: date-time
+ type: string
+ - description: |
+ Only return loyalty cards created after this timestamp.
+
+ **Note:**
+ - This must be an RFC3339 timestamp string.
+ in: query
+ name: createdAfter
+ schema:
+ format: date-time
+ type: string
- description: Determines the format of dates in the export document.
in: query
name: dateFormat
@@ -8297,7 +8349,7 @@ paths:
schema:
type: boolean
- description: Filter results by one or more SKUs. Must be exact match.
- explode: false
+ explode: true
in: query
name: sku
schema:
@@ -8306,7 +8358,7 @@ paths:
type: array
style: form
- description: Filter results by one or more product names. Must be exact match.
- explode: false
+ explode: true
in: query
name: productNames
schema:
@@ -8849,166 +8901,6 @@ paths:
tags:
- management
x-accepts: application/json
- /v1/webhook_activation_logs:
- get:
- description: |
- Webhook activation log entries are created as soon as an integration request
- triggers a webhook effect. See the [docs](https://docs.talon.one/docs/dev/getting-started/webhooks).
- operationId: getWebhookActivationLogs
- parameters:
- - description: The number of items in the response.
- in: query
- name: pageSize
- schema:
- default: 1000
- format: int64
- maximum: 1000
- minimum: 1
- type: integer
- - description: The number of items to skip when paging through large result
- sets.
- in: query
- name: skip
- schema:
- format: int64
- type: integer
- - description: |
- The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`.
-
- **Note:** You may not be able to use all fields for sorting. This is due to performance limitations.
- in: query
- name: sort
- schema:
- type: string
- - description: Filter results by integration request UUID.
- in: query
- name: integrationRequestUuid
- schema:
- type: string
- - description: Filter results by webhook id.
- in: query
- name: webhookId
- schema:
- type: number
- - description: Filter results by Application ID.
- in: query
- name: applicationId
- schema:
- type: number
- - description: Filter results by campaign ID.
- in: query
- name: campaignId
- schema:
- type: number
- - description: Only return events created before this date. You can use any
- time zone setting. Talon.One will convert to UTC internally.
- in: query
- name: createdBefore
- schema:
- format: date-time
- type: string
- - description: Only return events created after this date. You can use any time
- zone setting. Talon.One will convert to UTC internally.
- in: query
- name: createdAfter
- schema:
- format: date-time
- type: string
- responses:
- "200":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/inline_response_200_40'
- description: OK
- summary: List webhook activation log entries
- tags:
- - management
- x-accepts: application/json
- /v1/webhook_logs:
- get:
- description: Retrieve all webhook log entries.
- operationId: getWebhookLogs
- parameters:
- - description: The number of items in the response.
- in: query
- name: pageSize
- schema:
- default: 1000
- format: int64
- maximum: 1000
- minimum: 1
- type: integer
- - description: The number of items to skip when paging through large result
- sets.
- in: query
- name: skip
- schema:
- format: int64
- type: integer
- - description: |
- The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`.
-
- **Note:** You may not be able to use all fields for sorting. This is due to performance limitations.
- in: query
- name: sort
- schema:
- type: string
- - description: Filter results by HTTP status codes.
- in: query
- name: status
- schema:
- enum:
- - success
- - error
- type: string
- - description: Filter results by webhook id.
- in: query
- name: webhookId
- schema:
- type: number
- - description: Filter results by Application ID.
- in: query
- name: applicationId
- schema:
- type: number
- - description: Filter results by campaign ID.
- in: query
- name: campaignId
- schema:
- type: number
- - description: Filter results by request UUID.
- in: query
- name: requestUuid
- schema:
- type: string
- - description: Filter results where request and response times to return entries
- before parameter value, expected to be an RFC3339 timestamp string. You
- can use any time zone setting. Talon.One will convert to UTC internally.
- in: query
- name: createdBefore
- schema:
- format: date-time
- type: string
- - description: Filter results where request and response times to return entries
- after parameter value, expected to be an RFC3339 timestamp string. You can
- use any time zone setting. Talon.One will convert to UTC internally.
- in: query
- name: createdAfter
- schema:
- format: date-time
- type: string
- responses:
- "200":
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/inline_response_200_41'
- description: OK
- summary: List webhook log entries
- tags:
- - management
- x-accepts: application/json
/v1/message_logs:
get:
description: Retrieve all message log entries.
@@ -9038,6 +8930,8 @@ paths:
- LoyaltyPointsDeducted
- LoyaltyPointsExpiring
- LoyaltyPointsPendingToActive
+ - LoyaltyAddedDeductedPointsBalances
+ - LoyaltyCardAddedDeductedPointsBalances
- TierWillDowngrade
- TierUpgrade
- TierDowngrade
@@ -9190,7 +9084,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/inline_response_200_42'
+ $ref: '#/components/schemas/inline_response_200_40'
description: OK
summary: List event types
tags:
@@ -9619,7 +9513,7 @@ paths:
description: |
Download a CSV file containing the customer sessions that match the request.
- **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy).
+ **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/dev/server-infrastructure-and-data-retention).
**Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/).
@@ -9811,7 +9705,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/inline_response_200_43'
+ $ref: '#/components/schemas/inline_response_200_41'
description: OK
summary: List users in account
tags:
@@ -9907,6 +9801,160 @@ paths:
tags:
- management
x-accepts: application/json
+ /v1/provisioning/scim/Groups:
+ get:
+ description: |-
+ Retrieve a paginated list of groups created using the SCIM protocol with an identity provider, for example, Microsoft Entra ID.
+ In Talon.One, a `Group` corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and `members` are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
+ operationId: scimGetGroups
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ScimGroupsListResponse'
+ description: List of SCIM groups
+ summary: List SCIM groups
+ tags:
+ - management
+ x-accepts: application/json
+ post:
+ description: |-
+ Create a new Talon.One group using the SCIM Group provisioning protocol with an identity provider, for example, Microsoft Entra ID, and assign members from the payload to the new group.
+ In Talon.One, a `Group` corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and `members` are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
+ operationId: scimCreateGroup
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ScimBaseGroup'
+ description: body
+ required: true
+ responses:
+ "201":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ScimGroup'
+ description: Created
+ summary: Create SCIM group
+ tags:
+ - management
+ x-codegen-request-body-name: body
+ x-contentType: application/json
+ x-accepts: application/json
+ /v1/provisioning/scim/Groups/{groupId}:
+ delete:
+ description: |-
+ Delete a specific group created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID.
+ In Talon.One, a `Group` corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and `members` are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
+ operationId: scimDeleteGroup
+ parameters:
+ - description: The ID of the group.
+ in: path
+ name: groupId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ responses:
+ "204":
+ content: {}
+ description: No Content
+ summary: Delete SCIM group
+ tags:
+ - management
+ x-accepts: application/json
+ get:
+ description: |-
+ Retrieve data for a specific group created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID.
+ In Talon.One, a `Group` corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and `members` are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
+ operationId: scimGetGroup
+ parameters:
+ - description: The ID of the group.
+ in: path
+ name: groupId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ScimGroup'
+ description: Group details
+ summary: Get SCIM group
+ tags:
+ - management
+ x-accepts: application/json
+ patch:
+ description: |
+ Update certain attributes of a group created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. This endpoint allows for selective adding, removing, or replacing of specific group attributes while other attributes remain unchanged.
+ In Talon.One, a `Group` corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and `members` are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
+ operationId: scimPatchGroup
+ parameters:
+ - description: The ID of the group.
+ in: path
+ name: groupId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ScimPatchRequest'
+ description: body
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ScimGroup'
+ description: Group details
+ summary: Update SCIM group attributes
+ tags:
+ - management
+ x-codegen-request-body-name: body
+ x-contentType: application/json
+ x-accepts: application/json
+ put:
+ description: |
+ Update the details of a specific group created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. This endpoint replaces all attributes of the given group with the attributes provided in the request payload.
+ In Talon.One, a `Group` corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and `members` are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
+ operationId: scimReplaceGroupAttributes
+ parameters:
+ - description: The ID of the group.
+ in: path
+ name: groupId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ScimBaseGroup'
+ description: body
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ScimGroup'
+ description: Group details
+ summary: Update SCIM group
+ tags:
+ - management
+ x-codegen-request-body-name: body
+ x-contentType: application/json
+ x-accepts: application/json
/v1/provisioning/scim/Users:
get:
description: Retrieve a paginated list of users that have been provisioned using
@@ -10290,7 +10338,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/inline_response_200_44'
+ $ref: '#/components/schemas/inline_response_200_42'
description: OK
summary: Get audit logs for an account
tags:
@@ -10557,7 +10605,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/inline_response_200_45'
+ $ref: '#/components/schemas/inline_response_200_43'
description: OK
summary: Get exports
tags:
@@ -10572,7 +10620,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/inline_response_200_46'
+ $ref: '#/components/schemas/inline_response_200_44'
description: OK
summary: List roles
tags:
@@ -10710,7 +10758,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/inline_response_200_47'
+ $ref: '#/components/schemas/inline_response_200_45'
description: OK
summary: List stores
tags:
@@ -11058,6 +11106,389 @@ paths:
- management
x-contentType: multipart/form-data
x-accepts: application/json
+ /v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets:
+ delete:
+ description: Delete the store budgets for a given campaign.
+ operationId: deleteCampaignStoreBudgets
+ parameters:
+ - description: The ID of the Application. It is displayed in your Talon.One
+ deployment URL.
+ in: path
+ name: applicationId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The ID of the campaign. It is displayed in your Talon.One deployment
+ URL.
+ in: path
+ name: campaignId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The action that this budget is limiting.
+ in: query
+ name: action
+ schema:
+ enum:
+ - setDiscount
+ type: string
+ - description: |
+ The period to which the limit applies.
+
+ **Note**: For budgets with no period, set this to `overall`.
+ in: query
+ name: period
+ schema:
+ enum:
+ - overall
+ - daily
+ - weekly
+ - monthly
+ - yearly
+ type: string
+ responses:
+ "204":
+ content: {}
+ description: Deleted
+ "400":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: Bad request
+ summary: Delete campaign store budgets
+ tags:
+ - management
+ x-accepts: application/json
+ get:
+ description: Return the store budget limits for a given campaign.
+ operationId: listCampaignStoreBudgetLimits
+ parameters:
+ - description: The ID of the Application. It is displayed in your Talon.One
+ deployment URL.
+ in: path
+ name: applicationId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The ID of the campaign. It is displayed in your Talon.One deployment
+ URL.
+ in: path
+ name: campaignId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The action that this budget is limiting.
+ in: query
+ name: action
+ schema:
+ enum:
+ - setDiscount
+ type: string
+ - description: |
+ The period to which the limit applies.
+
+ **Note**: For budgets with no period, set this to `overall`.
+ in: query
+ name: period
+ schema:
+ enum:
+ - overall
+ - daily
+ - weekly
+ - monthly
+ - yearly
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/inline_response_200_46'
+ description: OK
+ "400":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: Bad request
+ "401":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: Unauthorized - Invalid API key
+ "404":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: Not found
+ summary: List campaign store budget limits
+ tags:
+ - management
+ x-accepts: application/json
+ post:
+ description: Create a new store budget for a given campaign.
+ operationId: createCampaignStoreBudget
+ parameters:
+ - description: The ID of the Application. It is displayed in your Talon.One
+ deployment URL.
+ in: path
+ name: applicationId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The ID of the campaign. It is displayed in your Talon.One deployment
+ URL.
+ in: path
+ name: campaignId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NewCampaignStoreBudget'
+ description: body
+ required: true
+ responses:
+ "201":
+ content: {}
+ description: Created
+ "400":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: Bad request
+ "409":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: Conflict
+ summary: Create campaign store budget
+ tags:
+ - management
+ x-codegen-request-body-name: body
+ x-contentType: application/json
+ x-accepts: application/json
+ /v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets/summary:
+ get:
+ description: Fetch a summary of all store budget information for a given campaign.
+ operationId: summarizeCampaignStoreBudget
+ parameters:
+ - description: The ID of the Application. It is displayed in your Talon.One
+ deployment URL.
+ in: path
+ name: applicationId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The ID of the campaign. It is displayed in your Talon.One deployment
+ URL.
+ in: path
+ name: campaignId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/inline_response_200_47'
+ description: OK
+ "400":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: Bad request
+ "401":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: Unauthorized - Invalid API key
+ "404":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: Not found
+ summary: Get summary of campaign store budgets
+ tags:
+ - management
+ x-accepts: application/json
+ /v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets/import:
+ post:
+ description: |
+ Upload a CSV file containing store budgets for a given campaign.
+
+ Send the file as multipart data.
+
+ The CSV file **must** only contain the following columns:
+ - `store_integration_id`: The identifier of the store.
+ - `limit`: The budget limit for the store.
+
+ The import **replaces** the previous list of store budgets.
+ operationId: importCampaignStoreBudget
+ parameters:
+ - description: The ID of the Application. It is displayed in your Talon.One
+ deployment URL.
+ in: path
+ name: applicationId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The ID of the campaign. It is displayed in your Talon.One deployment
+ URL.
+ in: path
+ name: campaignId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The action that this budget is limiting.
+ in: query
+ name: action
+ schema:
+ enum:
+ - setDiscount
+ type: string
+ - description: |
+ The period to which the limit applies.
+
+ **Note**: For budgets with no period, set this to `overall`.
+ in: query
+ name: period
+ schema:
+ enum:
+ - overall
+ - daily
+ - weekly
+ - monthly
+ - yearly
+ type: string
+ requestBody:
+ content:
+ multipart/form-data:
+ schema:
+ properties:
+ upFile:
+ description: The file containing the data that is being imported.
+ format: csv
+ type: string
+ responses:
+ "201":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Import'
+ description: Created
+ "400":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: Bad request
+ summary: Import campaign store budgets
+ tags:
+ - management
+ x-contentType: multipart/form-data
+ x-accepts: application/json
+ /v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets/export:
+ get:
+ description: |
+ Download a CSV file containing the store budgets for a given campaign.
+
+ **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/).
+
+ The CSV file contains the following columns:
+
+ - `store_integration_id`: The identifier of the store.
+ - `limit`: The budget limit for the store.
+ operationId: exportCampaignStoreBudgets
+ parameters:
+ - description: The ID of the Application. It is displayed in your Talon.One
+ deployment URL.
+ in: path
+ name: applicationId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The ID of the campaign. It is displayed in your Talon.One deployment
+ URL.
+ in: path
+ name: campaignId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The action that this budget is limiting.
+ in: query
+ name: action
+ schema:
+ enum:
+ - setDiscount
+ type: string
+ - description: |
+ The period to which the limit applies.
+
+ **Note**: For budgets with no period, set this to `overall`.
+ in: query
+ name: period
+ schema:
+ enum:
+ - overall
+ - daily
+ - weekly
+ - monthly
+ - yearly
+ type: string
+ responses:
+ "200":
+ content:
+ application/csv:
+ schema:
+ format: csv
+ type: string
+ description: OK
+ "400":
+ content:
+ application/csv:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: Bad request
+ "401":
+ content:
+ application/csv:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: Unauthorized - Invalid API key
+ "404":
+ content:
+ application/csv:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: Not found
+ summary: Export campaign store budgets
+ tags:
+ - management
+ x-accepts: application/csv
/v1/applications/{applicationId}/campaigns/{campaignId}/achievements:
get:
description: List all the achievements for a specific campaign.
@@ -11539,7 +11970,7 @@ components:
CampaignCollection:
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -11608,7 +12039,7 @@ components:
CampaignCollectionWithoutPayload:
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -11677,7 +12108,7 @@ components:
CampaignStoreBudget:
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -11759,7 +12190,7 @@ components:
CouponCreationJob:
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -11796,7 +12227,7 @@ components:
description: |
The total discount value that the code can give. Typically used to represent a gift card value.
example: 30.0
- maximum: 999999
+ maximum: 1E+15
minimum: 0
type: number
reservationLimit:
@@ -11916,7 +12347,7 @@ components:
CouponDeletionJob:
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -11998,6 +12429,9 @@ components:
- id
- status
type: object
+ EffectProps:
+ description: The properties of the effect. See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects).
+ type: object
FeaturesFeed:
properties:
title:
@@ -12107,6 +12541,62 @@ components:
- totalBatches
- trigger
type: object
+ SecondaryDeployment:
+ description: The record of the secondary deployment.
+ properties:
+ id:
+ description: Unique ID for this entity. Not to be confused with the Integration
+ ID, which is set by your integration layer and used in most endpoints.
+ example: 6
+ format: int64
+ type: integer
+ name:
+ description: The name of the deployment. Used as subdomain, e.g. experimental.your-company.europe-west1.talon.one
+ example: experimental
+ minLength: 1
+ pattern: ^[a-z0-9]+$
+ type: string
+ userId:
+ description: The ID of the user who created the deployment.
+ example: 4
+ format: int64
+ type: integer
+ status:
+ description: The status of the deployment.
+ enum:
+ - created
+ - active
+ - failed
+ - deleted
+ example: active
+ type: string
+ createdAt:
+ description: Timestamp when the deployment was created.
+ example: 2023-01-16T16:00:00.700763Z
+ format: date-time
+ type: string
+ activeAt:
+ description: Timestamp when the deployment became active.
+ example: 2023-01-17T16:00:00.700763Z
+ format: date-time
+ type: string
+ failedAt:
+ description: Timestamp when the deployment failed.
+ example: 2023-01-17T16:00:00.700763Z
+ format: date-time
+ type: string
+ deletedAt:
+ description: Timestamp when the deployment was deleted.
+ example: 2023-01-18T16:00:00.700763Z
+ format: date-time
+ type: string
+ required:
+ - createdAt
+ - id
+ - name
+ - status
+ - userId
+ type: object
UpdateCatalog:
properties:
description:
@@ -12134,7 +12624,7 @@ components:
Entity:
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -12232,6 +12722,30 @@ components:
required:
- price
type: object
+ PriceDetail:
+ properties:
+ price:
+ description: The value of this price type.
+ example: 90.0
+ format: float
+ type: number
+ adjustmentReferenceId:
+ description: The reference identifier of the selected price adjustment for
+ this SKU.
+ example: 68851723-e6fa-488f-ace9-112581e6c19b
+ format: uuid
+ type: string
+ adjustmentEffectiveFrom:
+ description: The date and time from which the price adjustment is effective.
+ example: 2025-05-25T00:00:00Z
+ format: date-time
+ type: string
+ adjustmentEffectiveUntil:
+ description: The date and time until which the price adjustment is effective.
+ example: 2025-05-30T00:00:00Z
+ format: date-time
+ type: string
+ type: object
CartItem:
example:
remainingQuantity: 1
@@ -12241,19 +12755,31 @@ components:
returnedQuantity: 1
length: 1.4658129805029452
weight: 1130.0
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ adjustmentEffectiveFrom: 2021-09-12T10:12:42Z
catalogItemID: 5
additionalCosts:
shipping:
price: 9
price: 99.99
+ selectedPriceType: member
name: Air Glide
width: 6.027456183070403
attributes:
image: 11.jpeg
material: leather
+ adjustmentEffectiveUntil: 2021-09-12T10:12:42Z
position: 5.962133916683182
sku: SKU1241028
category: shoes
+ prices:
+ member:
+ price: 90
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ effectiveFrom: 2025-05-25T00:00:00Z
+ effectiveUntil: 2025-05-30T00:00:00Z
+ base:
+ price: 100
height: 0.8008281904610115
properties:
name:
@@ -12349,240 +12875,79 @@ components:
price: 9
type: object
catalogItemID:
- description: The [catalog item ID](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs/#synchronizing-a-cart-item-catalog).
+ description: The catalog item ID.
format: int64
title: The catalog item ID
type: integer
- required:
- - quantity
- - sku
- type: object
- NewCustomerSessionV2:
- description: The representation of the customer session.
- example:
- couponCodes:
- - XMAS-20-2021
- loyaltyCards:
- - loyalty-card-1
- additionalCosts:
- shipping:
- price: 9
- storeIntegrationId: STORE-001
- profileId: URNGV8294NV
- identifiers:
- - d41306257915f83fe01e54092ae470f631161ea16fcf4415842eed41470386ea
- evaluableCampaignIds:
- - 10
- - 12
- referralCode: NT2K54D9
- attributes:
- ShippingCity: Berlin
- state: open
- cartItems:
- - remainingQuantity: 1
- product:
- name: sample_product
- quantity: 1
- returnedQuantity: 1
- length: 1.4658129805029452
- weight: 1130.0
- catalogItemID: 5
- additionalCosts:
- shipping:
- price: 9
- price: 99.99
- name: Air Glide
- width: 6.027456183070403
- attributes:
- image: 11.jpeg
- material: leather
- position: 5.962133916683182
- sku: SKU1241028
- category: shoes
- height: 0.8008281904610115
- - remainingQuantity: 1
- product:
- name: sample_product
- quantity: 1
- returnedQuantity: 1
- length: 1.4658129805029452
- weight: 1130.0
- catalogItemID: 5
- additionalCosts:
- shipping:
- price: 9
- price: 99.99
- name: Air Glide
- width: 6.027456183070403
- attributes:
- image: 11.jpeg
- material: leather
- position: 5.962133916683182
- sku: SKU1241028
- category: shoes
- height: 0.8008281904610115
- 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
+ selectedPriceType:
+ description: The selected price type for this cart item (e.g. the price
+ for members only).
+ example: member
+ title: Price Type
type: string
- storeIntegrationId:
- description: The integration ID of the store. You choose this ID when you
- create a store.
- example: STORE-001
- maxLength: 1000
- minLength: 1
+ adjustmentReferenceId:
+ description: The reference ID of the selected price adjustment for this
+ cart item. Only returned if the selected price resulted from a price adjustment.
+ example: 68851723-e6fa-488f-ace9-112581e6c19b
+ format: uuid
+ title: Price Adjustment ID
type: string
- evaluableCampaignIds:
- description: |
- When using the `dry` query parameter, use this property to list the campaign to be evaluated by the Rule Engine.
-
- These campaigns will be evaluated, even if they are disabled, allowing you to test specific campaigns before activating them.
- example:
- - 10
- - 12
- items:
- format: int64
- type: integer
- title: Campaigns to evaluate
- type: array
- couponCodes:
- description: |
- Any coupon codes entered.
-
- **Important - for requests only**:
-
- - If you [create a coupon budget](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets/#budget-types) for your campaign, ensure the session contains a coupon code by the time you close it.
- - In requests where `dry=false`, providing an empty array discards any previous coupons. To avoid this, omit the parameter entirely.
- example:
- - XMAS-20-2021
- items:
- maxLength: 100
- type: string
- title: Coupons entered in session
- type: array
- referralCode:
- description: |
- Any referral code entered.
-
- **Important - for requests only**:
-
- - If you [create a referral budget](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets/#budget-types) for your campaign, ensure the session contains a referral code by the time you close it.
- - In requests where `dry=false`, providing an empty value discards the previous referral code. To avoid this, omit the parameter entirely.
- example: NT2K54D9
- maxLength: 100
- title: Referral code entered in session
+ adjustmentEffectiveFrom:
+ description: The date and time from which the price adjustment is effective.
+ Only returned if the selected price resulted from a price adjustment that
+ contains this field.
+ example: 2021-09-12T10:12:42Z
+ format: date-time
+ title: Price Adjustment Start Date
type: string
- loyaltyCards:
- description: Identifier of a loyalty card.
- example:
- - loyalty-card-1
- items:
- type: string
- maxItems: 1
- type: array
- state:
- default: open
- description: |
- Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are:
-
- 1. `open` → `closed`
- 2. `open` → `cancelled`
- 3. Either:
- - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or
- - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems))
- - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession))
- 4. `partially_returned` → `cancelled`
-
- For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions).
- enum:
- - open
- - closed
- - partially_returned
- - cancelled
- example: open
- title: Customer's session state
+ adjustmentEffectiveUntil:
+ description: The date and time until which the price adjustment is effective.
+ Only returned if the selected price resulted from a price adjustment that
+ contains this field.
+ example: 2021-09-12T10:12:42Z
+ format: date-time
+ title: Price Adjustment Expiry Date
type: string
- cartItems:
- description: |
- The items to add to this session. **Do not exceed 1000 items** and ensure the sum of all cart item's `quantity` **does not exceed 10.000** per request.
- items:
- $ref: '#/components/schemas/CartItem'
- title: Customer session's cart items
- type: array
- additionalCosts:
+ prices:
additionalProperties:
- $ref: '#/components/schemas/AdditionalCost'
- description: |
- Use this property to set a value for the additional costs of this session, such as a shipping cost.
-
- They must be created in the Campaign Manager
- before you set them with this property. See [Managing additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs).
- example:
- shipping:
- price: 9
- type: object
- identifiers:
- description: |
- Session custom identifiers that you can set limits on or use inside your rules.
-
- For example, you can use IP addresses as identifiers to potentially identify devices
- and limit discounts abuse in case of customers creating multiple accounts.
- See the [tutorial](https://docs.talon.one/docs/dev/tutorials/using-identifiers).
-
- **Important**: Ensure the session contains an identifier by the time you close it if:
- - You [create a unique identifier budget](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets/#budget-types)
- for your campaign.
- - Your campaign has [coupons](https://docs.talon.one/docs/product/campaigns/coupons/coupon-page-overview).
- - We recommend passing an anonymized (hashed) version of the identifier value.
- example:
- - d41306257915f83fe01e54092ae470f631161ea16fcf4415842eed41470386ea
- items:
- type: string
- maxItems: 5
- title: Session identifiers
- type: array
- attributes:
+ $ref: '#/components/schemas/PriceDetail'
description: |
- Use this property to set a value for the attributes of your choice. Attributes represent any information to attach to your session, like the shipping city.
-
- You can use [built-in attributes](https://docs.talon.one/docs/dev/concepts/attributes#built-in-attributes) or [custom ones](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes).
- Custom attributes must be created in the Campaign Manager before you set them with this property.
+ A map of keys and values representing the price types and related price adjustment details for this cart item.
+ The keys correspond to the `priceType` names.
example:
- ShippingCity: Berlin
- properties: {}
+ member:
+ price: 90
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ effectiveFrom: 2025-05-25T00:00:00Z
+ effectiveUntil: 2025-05-30T00:00:00Z
+ base:
+ price: 100
type: object
+ required:
+ - quantity
+ - sku
type: object
- CustomerSessionV2:
+ NewCustomerSessionV2:
description: The representation of the customer session.
example:
couponCodes:
- XMAS-20-2021
- created: 2020-02-07T08:15:22Z
- identifiers:
- - d41306257915f83fe01e54092ae470f631161ea16fcf4415842eed41470386ea
- integrationId: URNGV8294NV
- total: 119.99
loyaltyCards:
- loyalty-card-1
additionalCosts:
shipping:
price: 9
- additionalCostTotal: 20.0
storeIntegrationId: STORE-001
profileId: URNGV8294NV
+ identifiers:
+ - d41306257915f83fe01e54092ae470f631161ea16fcf4415842eed41470386ea
evaluableCampaignIds:
- 10
- 12
referralCode: NT2K54D9
attributes:
ShippingCity: Berlin
- id: 6
state: open
- applicationId: 322
cartItems:
- remainingQuantity: 1
product:
@@ -12591,19 +12956,31 @@ components:
returnedQuantity: 1
length: 1.4658129805029452
weight: 1130.0
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ adjustmentEffectiveFrom: 2021-09-12T10:12:42Z
catalogItemID: 5
additionalCosts:
shipping:
price: 9
price: 99.99
+ selectedPriceType: member
name: Air Glide
width: 6.027456183070403
attributes:
image: 11.jpeg
material: leather
+ adjustmentEffectiveUntil: 2021-09-12T10:12:42Z
position: 5.962133916683182
sku: SKU1241028
category: shoes
+ prices:
+ member:
+ price: 90
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ effectiveFrom: 2025-05-25T00:00:00Z
+ effectiveUntil: 2025-05-30T00:00:00Z
+ base:
+ price: 100
height: 0.8008281904610115
- remainingQuantity: 1
product:
@@ -12612,26 +12989,267 @@ components:
returnedQuantity: 1
length: 1.4658129805029452
weight: 1130.0
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ adjustmentEffectiveFrom: 2021-09-12T10:12:42Z
catalogItemID: 5
additionalCosts:
shipping:
price: 9
price: 99.99
+ selectedPriceType: member
name: Air Glide
width: 6.027456183070403
attributes:
image: 11.jpeg
material: leather
+ adjustmentEffectiveUntil: 2021-09-12T10:12:42Z
position: 5.962133916683182
sku: SKU1241028
category: shoes
+ prices:
+ member:
+ price: 90
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ effectiveFrom: 2025-05-25T00:00:00Z
+ effectiveUntil: 2025-05-30T00:00:00Z
+ base:
+ price: 100
+ height: 0.8008281904610115
+ properties:
+ profileId:
+ description: |
+ ID of the customer profile set by your integration layer.
+
+ **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`.
+ example: URNGV8294NV
+ type: string
+ storeIntegrationId:
+ description: The integration ID of the store. You choose this ID when you
+ create a store.
+ example: STORE-001
+ maxLength: 1000
+ minLength: 1
+ type: string
+ evaluableCampaignIds:
+ description: |
+ When using the `dry` query parameter, use this property to list the campaign to be evaluated by the Rule Engine.
+
+ These campaigns will be evaluated, even if they are disabled, allowing you to test specific campaigns before activating them.
+ example:
+ - 10
+ - 12
+ items:
+ format: int64
+ type: integer
+ title: Campaigns to evaluate
+ type: array
+ couponCodes:
+ description: |
+ Any coupon codes entered.
+
+ **Important - for requests only**:
+
+ - If you [create a coupon budget](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets/#budget-types) for your campaign, ensure the session contains a coupon code by the time you close it.
+ - In requests where `dry=false`, providing an empty array discards any previous coupons. To avoid this, omit the parameter entirely.
+ example:
+ - XMAS-20-2021
+ items:
+ maxLength: 100
+ type: string
+ title: Coupons entered in session
+ type: array
+ referralCode:
+ description: |
+ Any referral code entered.
+
+ **Important - for requests only**:
+
+ - If you [create a referral budget](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets/#budget-types) for your campaign, ensure the session contains a referral code by the time you close it.
+ - In requests where `dry=false`, providing an empty value discards the previous referral code. To avoid this, omit the parameter entirely.
+ example: NT2K54D9
+ maxLength: 100
+ title: Referral code entered in session
+ type: string
+ loyaltyCards:
+ description: Identifier of a loyalty card.
+ example:
+ - loyalty-card-1
+ items:
+ type: string
+ maxItems: 1
+ type: array
+ state:
+ default: open
+ description: |
+ Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are:
+
+ 1. `open` → `closed`
+ 2. `open` → `cancelled`
+ 3. Either:
+ - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or
+ - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems))
+ - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession))
+ 4. `partially_returned` → `cancelled`
+
+ For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions).
+ enum:
+ - open
+ - closed
+ - partially_returned
+ - cancelled
+ example: open
+ title: Customer's session state
+ type: string
+ cartItems:
+ description: |
+ The items to add to this session. **Do not exceed 1000 items** and ensure the sum of all cart item's `quantity` **does not exceed 10.000** per request.
+ items:
+ $ref: '#/components/schemas/CartItem'
+ title: Customer session's cart items
+ type: array
+ additionalCosts:
+ additionalProperties:
+ $ref: '#/components/schemas/AdditionalCost'
+ description: |
+ Use this property to set a value for the additional costs of this session, such as a shipping cost.
+
+ They must be created in the Campaign Manager
+ before you set them with this property. See [Managing additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs).
+ example:
+ shipping:
+ price: 9
+ type: object
+ identifiers:
+ description: |
+ Session custom identifiers that you can set limits on or use inside your rules.
+
+ For example, you can use IP addresses as identifiers to potentially identify devices
+ and limit discounts abuse in case of customers creating multiple accounts.
+ See the [tutorial](https://docs.talon.one/docs/dev/tutorials/using-identifiers).
+
+ **Important**: Ensure the session contains an identifier by the time you close it if:
+ - You [create a unique identifier budget](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets/#budget-types)
+ for your campaign.
+ - Your campaign has [coupons](https://docs.talon.one/docs/product/campaigns/coupons/coupon-page-overview).
+ - We recommend passing an anonymized (hashed) version of the identifier value.
+ example:
+ - d41306257915f83fe01e54092ae470f631161ea16fcf4415842eed41470386ea
+ items:
+ type: string
+ maxItems: 5
+ title: Session identifiers
+ type: array
+ attributes:
+ description: |
+ Use this property to set a value for the attributes of your choice. Attributes represent any information to attach to your session, like the shipping city.
+
+ You can use [built-in attributes](https://docs.talon.one/docs/dev/concepts/attributes#built-in-attributes) or [custom ones](https://docs.talon.one/docs/dev/concepts/attributes#custom-attributes).
+ Custom attributes must be created in the Campaign Manager before you set them with this property.
+ example:
+ ShippingCity: Berlin
+ properties: {}
+ type: object
+ type: object
+ CustomerSessionV2:
+ description: The representation of the customer session.
+ example:
+ couponCodes:
+ - XMAS-20-2021
+ created: 2020-02-07T08:15:22Z
+ identifiers:
+ - d41306257915f83fe01e54092ae470f631161ea16fcf4415842eed41470386ea
+ integrationId: URNGV8294NV
+ total: 119.99
+ loyaltyCards:
+ - loyalty-card-1
+ additionalCosts:
+ shipping:
+ price: 9
+ additionalCostTotal: 20.0
+ storeIntegrationId: STORE-001
+ profileId: URNGV8294NV
+ evaluableCampaignIds:
+ - 10
+ - 12
+ referralCode: NT2K54D9
+ attributes:
+ ShippingCity: Berlin
+ id: 6
+ state: open
+ applicationId: 322
+ cartItems:
+ - remainingQuantity: 1
+ product:
+ name: sample_product
+ quantity: 1
+ returnedQuantity: 1
+ length: 1.4658129805029452
+ weight: 1130.0
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ adjustmentEffectiveFrom: 2021-09-12T10:12:42Z
+ catalogItemID: 5
+ additionalCosts:
+ shipping:
+ price: 9
+ price: 99.99
+ selectedPriceType: member
+ name: Air Glide
+ width: 6.027456183070403
+ attributes:
+ image: 11.jpeg
+ material: leather
+ adjustmentEffectiveUntil: 2021-09-12T10:12:42Z
+ position: 5.962133916683182
+ sku: SKU1241028
+ category: shoes
+ prices:
+ member:
+ price: 90
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ effectiveFrom: 2025-05-25T00:00:00Z
+ effectiveUntil: 2025-05-30T00:00:00Z
+ base:
+ price: 100
+ height: 0.8008281904610115
+ - remainingQuantity: 1
+ product:
+ name: sample_product
+ quantity: 1
+ returnedQuantity: 1
+ length: 1.4658129805029452
+ weight: 1130.0
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ adjustmentEffectiveFrom: 2021-09-12T10:12:42Z
+ catalogItemID: 5
+ additionalCosts:
+ shipping:
+ price: 9
+ price: 99.99
+ selectedPriceType: member
+ name: Air Glide
+ width: 6.027456183070403
+ attributes:
+ image: 11.jpeg
+ material: leather
+ adjustmentEffectiveUntil: 2021-09-12T10:12:42Z
+ position: 5.962133916683182
+ sku: SKU1241028
+ category: shoes
+ prices:
+ member:
+ price: 90
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ effectiveFrom: 2025-05-25T00:00:00Z
+ effectiveUntil: 2025-05-30T00:00:00Z
+ base:
+ price: 100
height: 0.8008281904610115
updated: 2020-02-08T14:15:22Z
firstSession: true
cartItemTotal: 99.99
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -12897,6 +13515,22 @@ components:
example: 5
format: int64
type: integer
+ selectedPriceType:
+ description: The selected price type for the SKU targeted by this effect.
+ example: member
+ type: string
+ selectedPrice:
+ description: The value of the selected price type to apply to the SKU targeted
+ by this effect, before any discounts are applied.
+ example: 100.0
+ type: number
+ adjustmentReferenceId:
+ description: The reference identifier of the selected price adjustment for
+ this SKU. This is only returned if the `selectedPrice` resulted from a
+ price adjustment.
+ example: 68851723-e6fa-488f-ace9-112581e6c19b
+ format: uuid
+ type: string
required:
- campaignId
- effectType
@@ -13843,8 +14477,58 @@ components:
- progressTrackerId
- target
type: object
- EffectProps:
- description: The properties of the effect. See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects).
+ ExtendLoyaltyPointsExpiryDateEffectProps:
+ description: |
+ The properties specific to the "extendLoyaltyPointsExpiryDate" effect. This gets triggered when a validated rule contains the "extend expiry date" effect. The current expiry date gets extended by the time frame given in the effect.
+ properties:
+ programId:
+ description: ID of the loyalty program that contains these points.
+ format: int64
+ type: integer
+ subLedgerId:
+ description: API name of the loyalty program subledger that contains these
+ points. added.
+ type: string
+ extensionDuration:
+ description: |
+ Time frame by which the expiry date extends.
+
+ The time format is either:
+ - immediate, or
+ - an **integer** followed by a letter indicating the time unit.
+
+ Examples: `immediate`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`.
+
+ Available units:
+
+ - `s`: seconds
+ - `m`: minutes
+ - `h`: hours
+ - `D`: days
+ - `W`: weeks
+ - `M`: months
+ - `Y`: years
+
+ You can round certain units up or down:
+ - `_D` for rounding down days only. Signifies the start of the day.
+ - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year.
+ example: 12h
+ type: string
+ transactionUUIDs:
+ description: The list of identifiers of transactions affected affected by
+ the extension.
+ items:
+ type: string
+ type: array
+ previousExpirationDate:
+ description: Expiry date before applying the extension.
+ format: date-time
+ type: string
+ required:
+ - extensionDuration
+ - previousExpirationDate
+ - programId
+ - subLedgerId
type: object
Effect:
description: A generic effect that is fired by a triggered campaign. The props
@@ -13857,9 +14541,12 @@ components:
conditionIndex: 786
evaluationGroupMode: stackable
effectType: rejectCoupon
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
props: '{}'
+ selectedPrice: 100.0
evaluationGroupID: 3
triggeredForCatalogItem: 786
+ selectedPriceType: member
campaignRevisionId: 1
ruleName: Give 20% discount
triggeredByCoupon: 4928
@@ -13929,8 +14616,23 @@ components:
example: 5
format: int64
type: integer
+ selectedPriceType:
+ description: The selected price type for the SKU targeted by this effect.
+ example: member
+ type: string
+ selectedPrice:
+ description: The value of the selected price type to apply to the SKU targeted
+ by this effect, before any discounts are applied.
+ example: 100.0
+ type: number
+ adjustmentReferenceId:
+ description: The reference identifier of the selected price adjustment for
+ this SKU. This is only returned if the `selectedPrice` resulted from a
+ price adjustment.
+ example: 68851723-e6fa-488f-ace9-112581e6c19b
+ format: uuid
+ type: string
props:
- description: The properties of the effect. See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects).
type: object
required:
- campaignId
@@ -13950,9 +14652,12 @@ components:
conditionIndex: 786
evaluationGroupMode: stackable
effectType: rejectCoupon
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
props: '{}'
+ selectedPrice: 100.0
evaluationGroupID: 3
triggeredForCatalogItem: 786
+ selectedPriceType: member
campaignRevisionId: 1
ruleName: Give 20% discount
triggeredByCoupon: 4928
@@ -13963,9 +14668,12 @@ components:
conditionIndex: 786
evaluationGroupMode: stackable
effectType: rejectCoupon
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
props: '{}'
+ selectedPrice: 100.0
evaluationGroupID: 3
triggeredForCatalogItem: 786
+ selectedPriceType: member
campaignRevisionId: 1
ruleName: Give 20% discount
triggeredByCoupon: 4928
@@ -14002,19 +14710,31 @@ components:
returnedQuantity: 1
length: 1.4658129805029452
weight: 1130.0
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ adjustmentEffectiveFrom: 2021-09-12T10:12:42Z
catalogItemID: 5
additionalCosts:
shipping:
price: 9
price: 99.99
+ selectedPriceType: member
name: Air Glide
width: 6.027456183070403
attributes:
image: 11.jpeg
material: leather
+ adjustmentEffectiveUntil: 2021-09-12T10:12:42Z
position: 5.962133916683182
sku: SKU1241028
category: shoes
+ prices:
+ member:
+ price: 90
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ effectiveFrom: 2025-05-25T00:00:00Z
+ effectiveUntil: 2025-05-30T00:00:00Z
+ base:
+ price: 100
height: 0.8008281904610115
- remainingQuantity: 1
product:
@@ -14023,19 +14743,31 @@ components:
returnedQuantity: 1
length: 1.4658129805029452
weight: 1130.0
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ adjustmentEffectiveFrom: 2021-09-12T10:12:42Z
catalogItemID: 5
additionalCosts:
shipping:
price: 9
price: 99.99
+ selectedPriceType: member
name: Air Glide
width: 6.027456183070403
attributes:
image: 11.jpeg
material: leather
+ adjustmentEffectiveUntil: 2021-09-12T10:12:42Z
position: 5.962133916683182
sku: SKU1241028
category: shoes
+ prices:
+ member:
+ price: 90
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ effectiveFrom: 2025-05-25T00:00:00Z
+ effectiveUntil: 2025-05-30T00:00:00Z
+ base:
+ price: 100
height: 0.8008281904610115
updated: 2020-02-08T14:15:22Z
firstSession: true
@@ -14143,19 +14875,31 @@ components:
returnedQuantity: 1
length: 1.4658129805029452
weight: 1130.0
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ adjustmentEffectiveFrom: 2021-09-12T10:12:42Z
catalogItemID: 5
additionalCosts:
shipping:
price: 9
price: 99.99
+ selectedPriceType: member
name: Air Glide
width: 6.027456183070403
attributes:
image: 11.jpeg
material: leather
+ adjustmentEffectiveUntil: 2021-09-12T10:12:42Z
position: 5.962133916683182
sku: SKU1241028
category: shoes
+ prices:
+ member:
+ price: 90
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ effectiveFrom: 2025-05-25T00:00:00Z
+ effectiveUntil: 2025-05-30T00:00:00Z
+ base:
+ price: 100
height: 0.8008281904610115
- remainingQuantity: 1
product:
@@ -14164,19 +14908,31 @@ components:
returnedQuantity: 1
length: 1.4658129805029452
weight: 1130.0
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ adjustmentEffectiveFrom: 2021-09-12T10:12:42Z
catalogItemID: 5
additionalCosts:
shipping:
price: 9
price: 99.99
+ selectedPriceType: member
name: Air Glide
width: 6.027456183070403
attributes:
image: 11.jpeg
material: leather
+ adjustmentEffectiveUntil: 2021-09-12T10:12:42Z
position: 5.962133916683182
sku: SKU1241028
category: shoes
+ prices:
+ member:
+ price: 90
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ effectiveFrom: 2025-05-25T00:00:00Z
+ effectiveUntil: 2025-05-30T00:00:00Z
+ base:
+ price: 100
height: 0.8008281904610115
responseContent:
- customerSession
@@ -14210,6 +14966,22 @@ components:
required:
- customerSession
type: object
+ CustomerProfileEntity:
+ properties:
+ id:
+ description: The internal ID of the customer profile.
+ example: 6
+ format: int64
+ type: integer
+ created:
+ description: The time the customer profile was created.
+ example: 2020-06-10T09:05:27.993483Z
+ format: date-time
+ type: string
+ required:
+ - created
+ - id
+ type: object
NewCustomerProfile:
properties:
attributes:
@@ -14285,7 +15057,7 @@ components:
id: 2
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of the customer profile.
example: 6
format: int64
type: integer
@@ -14314,8 +15086,8 @@ components:
title: Profile belongs to Account
type: integer
closedSessions:
- description: The total amount of closed sessions by a customer. A closed
- session is a successful purchase.
+ description: The total number of closed sessions. Does not include closed
+ sessions that have been cancelled or reopened. See the [docs](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states).
example: 3
format: int64
title: Closed sessions
@@ -14419,7 +15191,7 @@ components:
referenceId: 6
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -14633,7 +15405,7 @@ components:
type: pageViewed
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -14818,11 +15590,9 @@ components:
required:
- currentBalance
- expiredBalance
- - negativeBalance
- pendingBalance
- spentBalance
- tentativeCurrentBalance
- - tentativeNegativeBalance
type: object
Tier:
example:
@@ -14944,11 +15714,9 @@ components:
required:
- currentBalance
- expiredBalance
- - negativeBalance
- pendingBalance
- spentBalance
- tentativeCurrentBalance
- - tentativeNegativeBalance
type: object
LoyaltyCard:
example:
@@ -15005,7 +15773,7 @@ components:
status: active
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -15445,7 +16213,7 @@ components:
startDate: 2020-11-10T23:00:00Z
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -15553,7 +16321,7 @@ components:
startDate: 2020-11-10T23:00:00Z
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -15646,6 +16414,22 @@ components:
- usageCounter
- usageLimit
type: object
+ CouponEntity:
+ properties:
+ id:
+ description: The internal ID of the coupon.
+ example: 6
+ format: int64
+ type: integer
+ created:
+ description: The time the coupon was created.
+ example: 2020-06-10T09:05:27.993483Z
+ format: date-time
+ type: string
+ required:
+ - created
+ - id
+ type: object
CampaignEntity:
properties:
campaignId:
@@ -15680,7 +16464,7 @@ components:
description: |
The total discount value that the code can give. Typically used to represent a gift card value.
example: 30.0
- maximum: 999999
+ maximum: 1E+15
minimum: 0
type: number
reservationLimit:
@@ -15802,12 +16586,12 @@ components:
isReservationMandatory: false
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of the coupon.
example: 6
format: int64
type: integer
created:
- description: The time this entity was created.
+ description: The time the coupon was created.
example: 2020-06-10T09:05:27.993483Z
format: date-time
type: string
@@ -15835,7 +16619,7 @@ components:
description: |
The total discount value that the code can give. Typically used to represent a gift card value.
example: 30.0
- maximum: 999999
+ maximum: 1E+15
minimum: 0
type: number
reservationLimit:
@@ -15986,12 +16770,12 @@ components:
isReservationMandatory: false
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of the coupon.
example: 6
format: int64
type: integer
created:
- description: The time this entity was created.
+ description: The time the coupon was created.
example: 2020-06-10T09:05:27.993483Z
format: date-time
type: string
@@ -16019,7 +16803,7 @@ components:
description: |
The total discount value that the code can give. Typically used to represent a gift card value.
example: 30.0
- maximum: 999999
+ maximum: 1E+15
minimum: 0
type: number
reservationLimit:
@@ -17234,7 +18018,7 @@ components:
startDate: 2000-01-23T04:56:07.000+00:00
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -17355,7 +18139,7 @@ components:
applicationId: 322
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -17721,9 +18505,12 @@ components:
conditionIndex: 786
evaluationGroupMode: stackable
effectType: rejectCoupon
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
props: '{}'
+ selectedPrice: 100.0
evaluationGroupID: 3
triggeredForCatalogItem: 786
+ selectedPriceType: member
campaignRevisionId: 1
ruleName: Give 20% discount
triggeredByCoupon: 4928
@@ -17734,9 +18521,12 @@ components:
conditionIndex: 786
evaluationGroupMode: stackable
effectType: rejectCoupon
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
props: '{}'
+ selectedPrice: 100.0
evaluationGroupID: 3
triggeredForCatalogItem: 786
+ selectedPriceType: member
campaignRevisionId: 1
ruleName: Give 20% discount
triggeredByCoupon: 4928
@@ -18163,19 +18953,31 @@ components:
returnedQuantity: 1
length: 1.4658129805029452
weight: 1130.0
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ adjustmentEffectiveFrom: 2021-09-12T10:12:42Z
catalogItemID: 5
additionalCosts:
shipping:
price: 9
price: 99.99
+ selectedPriceType: member
name: Air Glide
width: 6.027456183070403
attributes:
image: 11.jpeg
material: leather
+ adjustmentEffectiveUntil: 2021-09-12T10:12:42Z
position: 5.962133916683182
sku: SKU1241028
category: shoes
+ prices:
+ member:
+ price: 90
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ effectiveFrom: 2025-05-25T00:00:00Z
+ effectiveUntil: 2025-05-30T00:00:00Z
+ base:
+ price: 100
height: 0.8008281904610115
- remainingQuantity: 1
product:
@@ -18184,19 +18986,31 @@ components:
returnedQuantity: 1
length: 1.4658129805029452
weight: 1130.0
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ adjustmentEffectiveFrom: 2021-09-12T10:12:42Z
catalogItemID: 5
additionalCosts:
shipping:
price: 9
price: 99.99
+ selectedPriceType: member
name: Air Glide
width: 6.027456183070403
attributes:
image: 11.jpeg
material: leather
+ adjustmentEffectiveUntil: 2021-09-12T10:12:42Z
position: 5.962133916683182
sku: SKU1241028
category: shoes
+ prices:
+ member:
+ price: 90
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ effectiveFrom: 2025-05-25T00:00:00Z
+ effectiveUntil: 2025-05-30T00:00:00Z
+ base:
+ price: 100
height: 0.8008281904610115
updated: 2020-02-08T14:15:22Z
firstSession: true
@@ -18426,9 +19240,12 @@ components:
conditionIndex: 786
evaluationGroupMode: stackable
effectType: rejectCoupon
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
props: '{}'
+ selectedPrice: 100.0
evaluationGroupID: 3
triggeredForCatalogItem: 786
+ selectedPriceType: member
campaignRevisionId: 1
ruleName: Give 20% discount
triggeredByCoupon: 4928
@@ -18439,9 +19256,12 @@ components:
conditionIndex: 786
evaluationGroupMode: stackable
effectType: rejectCoupon
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
props: '{}'
+ selectedPrice: 100.0
evaluationGroupID: 3
triggeredForCatalogItem: 786
+ selectedPriceType: member
campaignRevisionId: 1
ruleName: Give 20% discount
triggeredByCoupon: 4928
@@ -18559,9 +19379,12 @@ components:
conditionIndex: 786
evaluationGroupMode: stackable
effectType: rejectCoupon
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
props: '{}'
+ selectedPrice: 100.0
evaluationGroupID: 3
triggeredForCatalogItem: 786
+ selectedPriceType: member
campaignRevisionId: 1
ruleName: Give 20% discount
triggeredByCoupon: 4928
@@ -18572,9 +19395,12 @@ components:
conditionIndex: 786
evaluationGroupMode: stackable
effectType: rejectCoupon
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
props: '{}'
+ selectedPrice: 100.0
evaluationGroupID: 3
triggeredForCatalogItem: 786
+ selectedPriceType: member
campaignRevisionId: 1
ruleName: Give 20% discount
triggeredByCoupon: 4928
@@ -19499,7 +20325,7 @@ components:
format: int64
type: integer
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -19636,6 +20462,42 @@ components:
required:
- integrationId
type: object
+ IntegrationCustomerProfileAudienceRequestItem:
+ properties:
+ action:
+ description: |
+ Defines the action to perform:
+ - `add`: Adds the customer profile to the audience.
+
+ **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.
+ - `delete`: Removes the customer profile from the audience.
+ enum:
+ - add
+ - delete
+ example: add
+ type: string
+ profileIntegrationId:
+ description: The ID of this customer profile in the third-party integration.
+ example: R195412
+ maxLength: 1000
+ type: string
+ integrationId:
+ description: The ID of this audience in the third-party integration.
+ example: 382370BKDB946
+ type: string
+ required:
+ - action
+ - integrationId
+ - profileIntegrationId
+ type: object
+ IntegrationCustomerProfileAudienceRequest:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/IntegrationCustomerProfileAudienceRequestItem'
+ type: array
+ type: object
NewAttribute:
example:
editable: true
@@ -19820,7 +20682,7 @@ components:
entity: Event
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -19964,6 +20826,235 @@ components:
- title
- type
type: object
+ GetIntegrationCouponRequest:
+ properties:
+ campaignIds:
+ description: A list of IDs of the campaigns to get coupons from.
+ example:
+ - 1
+ - 2
+ - 3
+ items:
+ format: int64
+ type: integer
+ type: array
+ limit:
+ default: 10
+ description: The maximum number of coupons included in the response.
+ format: int64
+ maximum: 1E+3
+ minimum: 1
+ type: integer
+ required:
+ - campaignIds
+ - limit
+ type: object
+ InventoryCoupon:
+ example:
+ recipientIntegrationId: URNGV8294NV
+ implicitlyReserved: false
+ created: 2020-06-10T09:05:27.993483Z
+ campaignId: 211
+ usageLimit: 100
+ referralId: 326632952
+ profileRedemptionCount: 5
+ usageCounter: 10
+ batchId: 32535-43255
+ discountCounter: 10.0
+ expiryDate: 2023-08-24T14:15:22Z
+ importId: 4
+ reservationLimit: 45
+ reservationCounter: 1.0
+ reservation: false
+ attributes: '{}'
+ id: 6
+ state: active
+ value: XMAS-20-2021
+ discountLimit: 30.0
+ startDate: 2020-01-24T14:15:22Z
+ limits:
+ - period: yearly
+ entities:
+ - Coupon
+ limit: 1000.0
+ action: createCoupon
+ - period: yearly
+ entities:
+ - Coupon
+ limit: 1000.0
+ action: createCoupon
+ discountRemainder: 5.0
+ isReservationMandatory: false
+ properties:
+ id:
+ description: The internal ID of the coupon.
+ example: 6
+ format: int64
+ type: integer
+ created:
+ description: The time the coupon was created.
+ example: 2020-06-10T09:05:27.993483Z
+ format: date-time
+ type: string
+ campaignId:
+ description: The ID of the campaign that owns this entity.
+ example: 211
+ format: int64
+ title: Campaign ID
+ type: integer
+ value:
+ description: The coupon code.
+ example: XMAS-20-2021
+ minLength: 4
+ title: Coupon Code
+ type: string
+ usageLimit:
+ description: |
+ The number of times the coupon code can be redeemed. `0` means unlimited redemptions but any campaign usage limits will still apply.
+ example: 100
+ format: int64
+ maximum: 999999
+ minimum: 0
+ type: integer
+ discountLimit:
+ description: |
+ The total discount value that the code can give. Typically used to represent a gift card value.
+ example: 30.0
+ maximum: 1E+15
+ minimum: 0
+ type: number
+ reservationLimit:
+ description: |
+ The number of reservations that can be made with this coupon code.
+ example: 45
+ format: int64
+ maximum: 999999
+ minimum: 0
+ type: integer
+ startDate:
+ description: Timestamp at which point the coupon becomes valid.
+ example: 2020-01-24T14:15:22Z
+ format: date-time
+ type: string
+ expiryDate:
+ description: Expiration date of the coupon. Coupon never expires if this
+ is omitted.
+ example: 2023-08-24T14:15:22Z
+ format: date-time
+ type: string
+ limits:
+ description: |
+ Limits configuration for a coupon. These limits will override the limits
+ set from the campaign.
+
+ **Note:** Only usable when creating a single coupon which is not tied to a specific recipient.
+ Only per-profile limits are allowed to be configured.
+ items:
+ $ref: '#/components/schemas/LimitConfig'
+ type: array
+ usageCounter:
+ description: The number of times the coupon has been successfully redeemed.
+ example: 10
+ format: int64
+ title: Total coupon redemptions
+ type: integer
+ discountCounter:
+ description: The amount of discounts given on rules redeeming this coupon.
+ Only usable if a coupon discount budget was set for this coupon.
+ example: 10.0
+ title: Discounts Given
+ type: number
+ discountRemainder:
+ description: The remaining discount this coupon can give.
+ example: 5.0
+ title: Coupon Discount Remainder
+ type: number
+ reservationCounter:
+ description: The number of times this coupon has been reserved.
+ example: 1.0
+ title: Number of reservations
+ type: number
+ attributes:
+ description: Custom attributes associated with this coupon.
+ properties: {}
+ title: Attributes of coupon
+ type: object
+ referralId:
+ description: The integration ID of the referring customer (if any) for whom
+ this coupon was created as an effect.
+ example: 326632952
+ format: int64
+ title: Advocate ID
+ type: integer
+ recipientIntegrationId:
+ description: The Integration ID of the customer that is allowed to redeem
+ this coupon.
+ example: URNGV8294NV
+ maxLength: 1000
+ title: Recipient ID
+ type: string
+ importId:
+ description: The ID of the Import which created this coupon.
+ example: 4
+ format: int64
+ title: Import ID
+ type: integer
+ reservation:
+ default: true
+ description: |
+ Defines the reservation type:
+ - `true`: The coupon can be reserved for multiple customers.
+ - `false`: The coupon can be reserved only for one customer. It is a personal code.
+ example: false
+ title: Reservation Type
+ type: boolean
+ batchId:
+ description: The id of the batch the coupon belongs to.
+ example: 32535-43255
+ title: Batch ID
+ type: string
+ isReservationMandatory:
+ default: false
+ description: An indication of whether the code can be redeemed only if it
+ has been reserved first.
+ example: false
+ title: Is reservation mandatory
+ type: boolean
+ implicitlyReserved:
+ description: An indication of whether the coupon is implicitly reserved
+ for all customers.
+ example: false
+ title: Is coupon implicitly reserved for all customers
+ type: boolean
+ profileRedemptionCount:
+ description: The number of times the coupon was redeemed by the profile.
+ example: 5
+ format: int64
+ title: Number of coupon usages per profile
+ type: integer
+ state:
+ description: |
+ Can be:
+
+ - `active`: The coupon can be used. It is a reserved coupon that is not pending, used, or expired, and it has a non-exhausted limit counter.
+
+ **Note:** This coupon state is returned for [scheduled campaigns](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-schedule), but the coupon cannot be used until the campaign is **running**.
+ - `used`: The coupon has been redeemed and cannot be used again. It is not pending and has reached its redemption limit or was redeemed by the profile before expiration.
+ - `expired`: The coupon was never redeemed, and it is now expired. It is non-pending, non-active, and non-used by the profile.
+ - `pending`: The coupon will be usable in the future.
+ - `disabled`: The coupon is part of a non-active campaign.
+ example: active
+ type: string
+ required:
+ - campaignId
+ - created
+ - id
+ - profileRedemptionCount
+ - state
+ - usageCounter
+ - usageLimit
+ - value
+ type: object
EventV2:
properties:
profileId:
@@ -20013,6 +21104,8 @@ components:
type: object
IntegrationEventV2Request:
example:
+ loyaltyCards:
+ - loyalty-card-1
storeIntegrationId: STORE-001
profileId: URNGV8294NV
evaluableCampaignIds:
@@ -20067,6 +21160,14 @@ components:
myAttribute: myValue
properties: {}
type: object
+ loyaltyCards:
+ description: Identifier of the loyalty card used during this event.
+ example:
+ - loyalty-card-1
+ items:
+ type: string
+ maxItems: 1
+ type: array
responseContent:
description: |
Optional list of requested information to be present on the response related to the tracking custom event.
@@ -20086,235 +21187,6 @@ components:
required:
- type
type: object
- GetIntegrationCouponRequest:
- properties:
- campaignIds:
- description: A list of IDs of the campaigns to get coupons from.
- example:
- - 1
- - 2
- - 3
- items:
- format: int64
- type: integer
- type: array
- limit:
- default: 10
- description: The maximum number of coupons included in the response.
- format: int64
- maximum: 1E+3
- minimum: 1
- type: integer
- required:
- - campaignIds
- - limit
- type: object
- InventoryCoupon:
- example:
- recipientIntegrationId: URNGV8294NV
- implicitlyReserved: false
- created: 2020-06-10T09:05:27.993483Z
- campaignId: 211
- usageLimit: 100
- referralId: 326632952
- profileRedemptionCount: 5
- usageCounter: 10
- batchId: 32535-43255
- discountCounter: 10.0
- expiryDate: 2023-08-24T14:15:22Z
- importId: 4
- reservationLimit: 45
- reservationCounter: 1.0
- reservation: false
- attributes: '{}'
- id: 6
- state: active
- value: XMAS-20-2021
- discountLimit: 30.0
- startDate: 2020-01-24T14:15:22Z
- limits:
- - period: yearly
- entities:
- - Coupon
- limit: 1000.0
- action: createCoupon
- - period: yearly
- entities:
- - Coupon
- limit: 1000.0
- action: createCoupon
- discountRemainder: 5.0
- isReservationMandatory: false
- properties:
- id:
- description: Internal ID of this entity.
- example: 6
- format: int64
- type: integer
- created:
- description: The time this entity was created.
- example: 2020-06-10T09:05:27.993483Z
- format: date-time
- type: string
- campaignId:
- description: The ID of the campaign that owns this entity.
- example: 211
- format: int64
- title: Campaign ID
- type: integer
- value:
- description: The coupon code.
- example: XMAS-20-2021
- minLength: 4
- title: Coupon Code
- type: string
- usageLimit:
- description: |
- The number of times the coupon code can be redeemed. `0` means unlimited redemptions but any campaign usage limits will still apply.
- example: 100
- format: int64
- maximum: 999999
- minimum: 0
- type: integer
- discountLimit:
- description: |
- The total discount value that the code can give. Typically used to represent a gift card value.
- example: 30.0
- maximum: 999999
- minimum: 0
- type: number
- reservationLimit:
- description: |
- The number of reservations that can be made with this coupon code.
- example: 45
- format: int64
- maximum: 999999
- minimum: 0
- type: integer
- startDate:
- description: Timestamp at which point the coupon becomes valid.
- example: 2020-01-24T14:15:22Z
- format: date-time
- type: string
- expiryDate:
- description: Expiration date of the coupon. Coupon never expires if this
- is omitted.
- example: 2023-08-24T14:15:22Z
- format: date-time
- type: string
- limits:
- description: |
- Limits configuration for a coupon. These limits will override the limits
- set from the campaign.
-
- **Note:** Only usable when creating a single coupon which is not tied to a specific recipient.
- Only per-profile limits are allowed to be configured.
- items:
- $ref: '#/components/schemas/LimitConfig'
- type: array
- usageCounter:
- description: The number of times the coupon has been successfully redeemed.
- example: 10
- format: int64
- title: Total coupon redemptions
- type: integer
- discountCounter:
- description: The amount of discounts given on rules redeeming this coupon.
- Only usable if a coupon discount budget was set for this coupon.
- example: 10.0
- title: Discounts Given
- type: number
- discountRemainder:
- description: The remaining discount this coupon can give.
- example: 5.0
- title: Coupon Discount Remainder
- type: number
- reservationCounter:
- description: The number of times this coupon has been reserved.
- example: 1.0
- title: Number of reservations
- type: number
- attributes:
- description: Custom attributes associated with this coupon.
- properties: {}
- title: Attributes of coupon
- type: object
- referralId:
- description: The integration ID of the referring customer (if any) for whom
- this coupon was created as an effect.
- example: 326632952
- format: int64
- title: Advocate ID
- type: integer
- recipientIntegrationId:
- description: The Integration ID of the customer that is allowed to redeem
- this coupon.
- example: URNGV8294NV
- maxLength: 1000
- title: Recipient ID
- type: string
- importId:
- description: The ID of the Import which created this coupon.
- example: 4
- format: int64
- title: Import ID
- type: integer
- reservation:
- default: true
- description: |
- Defines the reservation type:
- - `true`: The coupon can be reserved for multiple customers.
- - `false`: The coupon can be reserved only for one customer. It is a personal code.
- example: false
- title: Reservation Type
- type: boolean
- batchId:
- description: The id of the batch the coupon belongs to.
- example: 32535-43255
- title: Batch ID
- type: string
- isReservationMandatory:
- default: false
- description: An indication of whether the code can be redeemed only if it
- has been reserved first.
- example: false
- title: Is reservation mandatory
- type: boolean
- implicitlyReserved:
- description: An indication of whether the coupon is implicitly reserved
- for all customers.
- example: false
- title: Is coupon implicitly reserved for all customers
- type: boolean
- profileRedemptionCount:
- description: The number of times the coupon was redeemed by the profile.
- example: 5
- format: int64
- title: Number of coupon usages per profile
- type: integer
- state:
- description: |
- Can be:
-
- - `active`: The coupon can be used. It is a reserved coupon that is not pending, used, or expired, and it has a non-exhausted limit counter.
-
- **Note:** This coupon state is returned for [scheduled campaigns](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-schedule), but the coupon cannot be used until the campaign is **running**.
- - `used`: The coupon has been redeemed and cannot be used again. It is not pending and has reached its redemption limit or was redeemed by the profile before expiration.
- - `expired`: The coupon was never redeemed, and it is now expired. It is non-pending, non-active, and non-used by the profile.
- - `pending`: The coupon will be usable in the future.
- - `disabled`: The coupon is part of a non-active campaign.
- example: active
- type: string
- required:
- - campaignId
- - created
- - id
- - profileRedemptionCount
- - state
- - usageCounter
- - usageLimit
- - value
- type: object
AddLoyaltyPoints:
description: Points to add.
example:
@@ -20330,10 +21202,8 @@ components:
points:
description: Amount of loyalty points.
example: 300.0
- exclusiveMaximum: false
- exclusiveMinimum: true
+ exclusiveMinimum: false
maximum: 999999999999.99
- minimum: 0
type: number
name:
description: Name / reason for the point addition.
@@ -20716,7 +21586,7 @@ components:
description: A tier in a loyalty program.
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -21277,7 +22147,7 @@ components:
enablePartialDiscounts: false
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -21456,7 +22326,7 @@ components:
MultipleAudiencesItem:
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -21764,9 +22634,12 @@ components:
conditionIndex: 786
evaluationGroupMode: stackable
effectType: rejectCoupon
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
props: '{}'
+ selectedPrice: 100.0
evaluationGroupID: 3
triggeredForCatalogItem: 786
+ selectedPriceType: member
campaignRevisionId: 1
ruleName: Give 20% discount
triggeredByCoupon: 4928
@@ -21777,9 +22650,12 @@ components:
conditionIndex: 786
evaluationGroupMode: stackable
effectType: rejectCoupon
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
props: '{}'
+ selectedPrice: 100.0
evaluationGroupID: 3
triggeredForCatalogItem: 786
+ selectedPriceType: member
campaignRevisionId: 1
ruleName: Give 20% discount
triggeredByCoupon: 4928
@@ -22754,9 +23630,11 @@ components:
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.
enum:
- no_recurrence
- on_expiration
+ - on_completion
example: no_recurrence
type: string
achievementActivationPolicy:
@@ -23266,9 +24144,11 @@ components:
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.
enum:
- no_recurrence
- on_expiration
+ - on_completion
example: no_recurrence
type: string
activationPolicy:
@@ -23374,9 +24254,11 @@ components:
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.
enum:
- no_recurrence
- on_expiration
+ - on_completion
example: no_recurrence
type: string
activationPolicy:
@@ -23438,7 +24320,7 @@ components:
status: active
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -23507,9 +24389,11 @@ components:
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.
enum:
- no_recurrence
- on_expiration
+ - on_completion
example: no_recurrence
type: string
activationPolicy:
@@ -24418,7 +25302,6 @@ components:
activeRulesetId:
description: The ID of the ruleset this campaign template will use.
example: 5
- format: int64
nullable: true
type: integer
tags:
@@ -24511,7 +25394,6 @@ components:
activeRulesetId:
description: The ID of the ruleset this campaign template will use.
example: 5
- format: int64
nullable: true
type: integer
tags:
@@ -24857,7 +25739,7 @@ components:
format: int64
type: integer
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -25225,6 +26107,23 @@ components:
required:
- userIds
type: object
+ CampaignDeactivationRequest:
+ properties:
+ userIds:
+ description: The list of IDs of the users receiving the deactivation request
+ emails.
+ example:
+ - 1
+ - 2
+ - 3
+ items:
+ format: int64
+ type: integer
+ maxItems: 5
+ type: array
+ required:
+ - userIds
+ type: object
BulkOperationOnCampaigns:
properties:
operation:
@@ -25646,6 +26545,10 @@ components:
description: A description of the webhook.
example: A webhook to send a coupon to the user.
type: string
+ draft:
+ description: Indicates if the webhook is a draft.
+ example: false
+ type: boolean
verb:
description: API method for this webhook.
enum:
@@ -25684,8 +26587,14 @@ components:
description: Enables or disables webhook from showing in the Rule Builder.
example: true
type: boolean
+ authenticationId:
+ description: The ID of the credential that this webhook is using.
+ example: 1
+ format: int64
+ type: integer
required:
- applicationIds
+ - draft
- enabled
- headers
- params
@@ -25698,12 +26607,10 @@ components:
headers:
- '{"Authorization": "Basic bmF2ZWVua3VtYXIU="}'
- '{"Content-Type": "application/json"}'
- payload: "{\n\t\"message\": \"${message}\"\n}"
created: 2020-06-10T09:05:27.993483Z
verb: POST
- modified: 2021-09-12T10:12:42Z
description: A webhook to send a coupon to the user.
- id: 6
+ authenticationId: 1
title: Send message
params: []
url: www.my-company.com/my-endpoint-name
@@ -25711,9 +26618,13 @@ components:
applicationIds:
- 0
- 0
+ payload: "{\n\t\"message\": \"${message}\"\n}"
+ draft: false
+ modified: 2021-09-12T10:12:42Z
+ id: 6
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -25744,6 +26655,10 @@ components:
description: A description of the webhook.
example: A webhook to send a coupon to the user.
type: string
+ draft:
+ description: Indicates if the webhook is a draft.
+ example: false
+ type: boolean
verb:
description: API method for this webhook.
enum:
@@ -25782,9 +26697,15 @@ components:
description: Enables or disables webhook from showing in the Rule Builder.
example: true
type: boolean
+ authenticationId:
+ description: The ID of the credential that this webhook is using.
+ example: 1
+ format: int64
+ type: integer
required:
- applicationIds
- created
+ - draft
- enabled
- headers
- id
@@ -25979,6 +26900,50 @@ components:
- name
- scopes
type: object
+ AddedDeductedPointsBalancesNotificationPolicy:
+ properties:
+ name:
+ description: Notification name.
+ example: Christmas Sale
+ minLength: 1
+ type: string
+ scopes:
+ items:
+ enum:
+ - all
+ - campaign_manager
+ - management_api
+ - rule_engine
+ type: string
+ maxItems: 4
+ minItems: 1
+ type: array
+ required:
+ - name
+ - scopes
+ type: object
+ CardAddedDeductedPointsBalancesNotificationPolicy:
+ properties:
+ name:
+ description: Notification name.
+ example: Christmas Sale
+ minLength: 1
+ type: string
+ scopes:
+ items:
+ enum:
+ - all
+ - campaign_manager
+ - management_api
+ - rule_engine
+ type: string
+ maxItems: 4
+ minItems: 1
+ type: array
+ required:
+ - name
+ - scopes
+ type: object
CouponsNotificationPolicy:
properties:
name:
@@ -26209,7 +27174,7 @@ components:
BaseNotificationWebhook:
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -26269,6 +27234,8 @@ components:
- campaign
- loyalty_added_deducted_points
- card_added_deducted_points
+ - loyalty_added_deducted_points_balances
+ - loyalty_card_added_deducted_points_balances
- coupon
- expiring_coupons
- expiring_points
@@ -26419,6 +27386,102 @@ components:
$ref: '#/components/schemas/StrikethroughEffect'
type: array
type: object
+ PriceType:
+ properties:
+ id:
+ description: The internal ID of this entity.
+ example: 6
+ format: int64
+ type: integer
+ created:
+ description: The time this entity was created.
+ example: 2020-06-10T09:05:27.993483Z
+ format: date-time
+ type: string
+ accountId:
+ description: The ID of the account that owns this price type.
+ example: 1
+ format: int64
+ type: integer
+ name:
+ description: The API name of the price type. This is an immutable value.
+ example: member
+ pattern: ^[A-Za-z]\w*$
+ type: string
+ title:
+ description: The title of the price type.
+ example: Member Price
+ type: string
+ description:
+ description: The description of the price type.
+ example: Price available exclusively to members.
+ type: string
+ modified:
+ description: The date and time when the price type was last modified.
+ example: 2021-09-12T10:12:42Z
+ format: date-time
+ type: string
+ subscribedCatalogsIds:
+ description: A list of the IDs of the catalogs that are subscribed to this
+ price type.
+ example:
+ - 1
+ - 2
+ - 3
+ items:
+ format: int64
+ type: integer
+ type: array
+ targetedAudiencesIds:
+ description: A list of the IDs of the audiences that are targeted by this
+ price type.
+ example:
+ - 1
+ - 2
+ - 3
+ items:
+ format: int64
+ type: integer
+ type: array
+ required:
+ - created
+ - id
+ - modified
+ - name
+ - subscribedCatalogsIds
+ - targetedAudiencesIds
+ - title
+ type: object
+ NewPriceType:
+ properties:
+ name:
+ description: The API name of the price type. This is an immutable value.
+ example: member
+ pattern: ^[A-Za-z]\w*$
+ type: string
+ title:
+ description: The title of the price type.
+ example: Member Price
+ type: string
+ description:
+ description: The description of the price type.
+ example: Price available exclusively to members.
+ type: string
+ targetedAudiencesIds:
+ description: A list of the IDs of the audiences that are targeted by this
+ price type.
+ example:
+ - 1
+ - 2
+ - 3
+ items:
+ format: int64
+ type: integer
+ type: array
+ required:
+ - name
+ - title
+ type: object
NewMessageTest:
properties:
type:
@@ -26427,6 +27490,8 @@ components:
- campaign
- loyalty_added_deducted_points
- card_added_deducted_points
+ - loyalty_added_deducted_points_balances
+ - loyalty_card_added_deducted_points_balances
- coupon
- expiring_coupons
- expiring_points
@@ -26514,11 +27579,15 @@ components:
type: object
Binding:
example:
+ attributeId: 100
+ minValue: 0.0
expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
properties:
name:
@@ -26551,6 +27620,25 @@ components:
- `boolean`
example: string
type: string
+ minValue:
+ description: The minimum value allowed for this placeholder.
+ example: 0.0
+ type: number
+ maxValue:
+ description: The maximum value allowed for this placeholder.
+ example: 19.9
+ type: number
+ attributeId:
+ description: Id of the attribute attached to the placeholder.
+ example: 100
+ format: int64
+ title: Attribute ID
+ type: integer
+ description:
+ description: Describes the placeholder field and value in the template.
+ This description can be used when creating campaigns from this template.
+ example: This is a template parameter of type `number`.
+ type: string
required:
- expression
- name
@@ -26573,17 +27661,25 @@ components:
- 10
- 100
bindings:
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
description: Creates a discount when a coupon is valid
id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23
@@ -26709,17 +27805,25 @@ components:
- 10
- 100
bindings:
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
description: Creates a discount when a coupon is valid
id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23
@@ -26741,17 +27845,25 @@ components:
- 10
- 100
bindings:
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
description: Creates a discount when a coupon is valid
id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23
@@ -26775,17 +27887,25 @@ components:
- 10
- 100
bindings:
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
description: Creates a discount when a coupon is valid
id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23
@@ -26807,17 +27927,25 @@ components:
- 10
- 100
bindings:
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
description: Creates a discount when a coupon is valid
id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23
@@ -26827,7 +27955,7 @@ components:
userId: 388
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -26914,7 +28042,7 @@ components:
description: |
The total discount value that the code can give. Typically used to represent a gift card value.
example: 30.0
- maximum: 999999
+ maximum: 1E+15
minimum: 0
type: number
reservationLimit:
@@ -26994,7 +28122,7 @@ components:
description: |
The total discount value that the code can give. Typically used to represent a gift card value.
example: 30.0
- maximum: 999999
+ maximum: 1E+15
minimum: 0
type: number
reservationLimit:
@@ -27140,7 +28268,7 @@ components:
description: |
The total discount value that the code can give. Typically used to represent a gift card value.
example: 30.0
- maximum: 999999
+ maximum: 1E+15
minimum: 0
type: number
reservationLimit:
@@ -27285,7 +28413,7 @@ components:
description: |
The total discount value that the code can give. Typically used to represent a gift card value.
example: 30.0
- maximum: 999999
+ maximum: 1E+15
minimum: 0
type: number
reservationLimit:
@@ -27517,7 +28645,7 @@ components:
description: |
The total discount value that the code can give. Typically used to represent a gift card value.
example: 30.0
- maximum: 999999
+ maximum: 1E+15
minimum: 0
type: number
reservationLimit:
@@ -27715,7 +28843,7 @@ components:
- 8
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -27811,7 +28939,7 @@ components:
Role:
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -28261,7 +29389,7 @@ components:
updated: 2022-08-24T14:15:22Z
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -28554,17 +29682,25 @@ components:
limit: 1000.0
action: createCoupon
templateParamValues:
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
templateId: 4
campaignGroups:
@@ -28728,7 +29864,7 @@ components:
applicationId: 1
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -28817,7 +29953,7 @@ components:
applicationId: 1
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -28955,17 +30091,25 @@ components:
- 10
- 100
bindings:
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
description: Creates a discount when a coupon is valid
id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23
@@ -28987,17 +30131,25 @@ components:
- 10
- 100
bindings:
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
description: Creates a discount when a coupon is valid
id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23
@@ -29021,17 +30173,25 @@ components:
- 10
- 100
bindings:
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
description: Creates a discount when a coupon is valid
id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23
@@ -29053,17 +30213,25 @@ components:
- 10
- 100
bindings:
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
description: Creates a discount when a coupon is valid
id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23
@@ -29657,7 +30825,7 @@ components:
entity: AttributeAllowedList
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -30251,10 +31419,8 @@ components:
points:
description: Amount of loyalty points.
example: 300.0
- exclusiveMaximum: false
- exclusiveMinimum: true
+ exclusiveMinimum: false
maximum: 999999999999.99
- minimum: 0
type: number
name:
description: Name / reason for the point deduction.
@@ -30692,7 +31858,7 @@ components:
description: Giveaways pools is an entity for managing multiple similar giveaways.
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -30888,7 +32054,7 @@ components:
CustomEffect:
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -30993,7 +32159,7 @@ components:
Picklist:
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -31317,7 +32483,7 @@ components:
This is most often the SP Entity ID of your application. When not specified, the ACS URL will be used.
type: string
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -31824,7 +32990,7 @@ components:
id: 2
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of the customer profile.
example: 6
format: int64
type: integer
@@ -31853,8 +33019,8 @@ components:
title: Profile belongs to Account
type: integer
closedSessions:
- description: The total amount of closed sessions by a customer. A closed
- session is a successful purchase.
+ description: The total number of closed sessions. Does not include closed
+ sessions that have been cancelled or reopened. See the [docs](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states).
example: 3
format: int64
title: Closed sessions
@@ -32102,19 +33268,31 @@ components:
returnedQuantity: 1
length: 1.4658129805029452
weight: 1130.0
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ adjustmentEffectiveFrom: 2021-09-12T10:12:42Z
catalogItemID: 5
additionalCosts:
shipping:
price: 9
price: 99.99
+ selectedPriceType: member
name: Air Glide
width: 6.027456183070403
attributes:
image: 11.jpeg
material: leather
+ adjustmentEffectiveUntil: 2021-09-12T10:12:42Z
position: 5.962133916683182
sku: SKU1241028
category: shoes
+ prices:
+ member:
+ price: 90
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ effectiveFrom: 2025-05-25T00:00:00Z
+ effectiveUntil: 2025-05-30T00:00:00Z
+ base:
+ price: 100
height: 0.8008281904610115
- remainingQuantity: 1
product:
@@ -32123,23 +33301,35 @@ components:
returnedQuantity: 1
length: 1.4658129805029452
weight: 1130.0
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ adjustmentEffectiveFrom: 2021-09-12T10:12:42Z
catalogItemID: 5
additionalCosts:
shipping:
price: 9
price: 99.99
+ selectedPriceType: member
name: Air Glide
width: 6.027456183070403
attributes:
image: 11.jpeg
material: leather
+ adjustmentEffectiveUntil: 2021-09-12T10:12:42Z
position: 5.962133916683182
sku: SKU1241028
category: shoes
+ prices:
+ member:
+ price: 90
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ effectiveFrom: 2025-05-25T00:00:00Z
+ effectiveUntil: 2025-05-30T00:00:00Z
+ base:
+ price: 100
height: 0.8008281904610115
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -32260,9 +33450,12 @@ components:
conditionIndex: 786
evaluationGroupMode: stackable
effectType: rejectCoupon
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
props: '{}'
+ selectedPrice: 100.0
evaluationGroupID: 3
triggeredForCatalogItem: 786
+ selectedPriceType: member
campaignRevisionId: 1
ruleName: Give 20% discount
triggeredByCoupon: 4928
@@ -32273,9 +33466,12 @@ components:
conditionIndex: 786
evaluationGroupMode: stackable
effectType: rejectCoupon
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
props: '{}'
+ selectedPrice: 100.0
evaluationGroupID: 3
triggeredForCatalogItem: 786
+ selectedPriceType: member
campaignRevisionId: 1
ruleName: Give 20% discount
triggeredByCoupon: 4928
@@ -32319,7 +33515,7 @@ components:
campaignName: campaignName
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -32403,7 +33599,7 @@ components:
AudienceCustomer:
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of the customer profile.
example: 6
format: int64
type: integer
@@ -32432,8 +33628,8 @@ components:
title: Profile belongs to Account
type: integer
closedSessions:
- description: The total amount of closed sessions by a customer. A closed
- session is a successful purchase.
+ description: The total number of closed sessions. Does not include closed
+ sessions that have been cancelled or reopened. See the [docs](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states).
example: 3
format: int64
title: Closed sessions
@@ -32647,7 +33843,7 @@ components:
TemplateDef:
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -32769,7 +33965,7 @@ components:
status: inprogress
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -32838,9 +34034,11 @@ components:
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.
enum:
- no_recurrence
- on_expiration
+ - on_completion
example: no_recurrence
type: string
activationPolicy:
@@ -32974,7 +34172,7 @@ components:
type: session
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -33073,7 +34271,7 @@ components:
ApplicationCIF:
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -33126,7 +34324,7 @@ components:
Environment:
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -33202,6 +34400,11 @@ components:
items:
$ref: '#/components/schemas/ApplicationCIF'
type: array
+ priceTypes:
+ description: The price types that this Application can use.
+ items:
+ $ref: '#/components/schemas/PriceType'
+ type: array
required:
- applicationId
- created
@@ -33388,7 +34591,7 @@ components:
version: 6
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -33487,7 +34690,7 @@ components:
version: 5
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -33657,6 +34860,61 @@ components:
$ref: '#/components/schemas/CatalogActionFilter'
type: array
type: object
+ NewPriceAdjustment:
+ properties:
+ priceType:
+ description: The price type (e.g. the price for members only) to apply to
+ a given SKU.
+ example: member
+ type: string
+ price:
+ description: The value of the price type applied to the SKU. When set to
+ `null`, the defined price type no longer applies to the SKU.
+ example: 100.0
+ nullable: true
+ type: number
+ referenceId:
+ description: A unique reference identifier, e.g. a UUID.
+ example: 68851723-e6fa-488f-ace9-112581e6c19b
+ type: string
+ calculatedAt:
+ description: The time at which this price was calculated. If provided, this
+ is used to determine the most recent price adjustment to choose if price
+ adjustments overlap. Defaults to internal creation time if not provided.
+ example: 2021-09-12T10:12:42Z
+ format: date-time
+ type: string
+ effectiveFrom:
+ description: The date and time from which the price adjustment is effective.
+ example: 2021-09-12T10:12:42Z
+ format: date-time
+ type: string
+ effectiveUntil:
+ description: The date and time until which the price adjustment is effective.
+ example: 2021-09-12T10:12:42Z
+ format: date-time
+ type: string
+ required:
+ - priceType
+ - referenceId
+ type: object
+ AddPriceAdjustmentCatalogAction:
+ description: |
+ The specific properties of the "ADD_PRICE_ADJUSTMENT" catalog sync action.
+ properties:
+ sku:
+ description: The SKU of the item for which the price is being adjusted.
+ example: SKU1241028
+ type: string
+ adjustments:
+ description: A list of adjustments to apply to a given item.
+ items:
+ $ref: '#/components/schemas/NewPriceAdjustment'
+ type: array
+ required:
+ - adjustments
+ - sku
+ type: object
CatalogActionPayload:
type: object
CatalogAction:
@@ -33674,6 +34932,7 @@ components:
- PATCH_MANY
- REMOVE
- REMOVE_MANY
+ - ADD_PRICE_ADJUSTMENT
example: ADD
type: string
payload:
@@ -33721,6 +34980,7 @@ components:
outgoingIntegrationTemplateId: 1
verb: POST
description: A webhook to send a coupon to the user.
+ authenticationId: 1
title: Send message
params: []
url: www.my-company.com/my-endpoint-name
@@ -33731,11 +34991,12 @@ components:
outgoingIntegrationTypeId: 1
outgoingIntegrationTypeName: Braze
payload: "{\n\t\"message\": \"${message}\"\n}"
+ draft: false
modified: 2021-09-12T10:12:42Z
id: 6
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -33766,6 +35027,10 @@ components:
description: A description of the webhook.
example: A webhook to send a coupon to the user.
type: string
+ draft:
+ description: Indicates if the webhook is a draft.
+ example: false
+ type: boolean
verb:
description: API method for this webhook.
enum:
@@ -33804,6 +35069,11 @@ components:
description: Enables or disables webhook from showing in the Rule Builder.
example: true
type: boolean
+ authenticationId:
+ description: The ID of the credential that this webhook is using.
+ example: 1
+ format: int64
+ type: integer
outgoingIntegrationTemplateId:
description: Identifier of the outgoing integration template.
example: 1
@@ -33821,6 +35091,7 @@ components:
required:
- applicationIds
- created
+ - draft
- enabled
- headers
- id
@@ -33830,120 +35101,113 @@ components:
- url
- verb
type: object
- WebhookActivationLogEntry:
- description: Log of activated webhooks.
- example:
- webhookId: 1
- campaignId: 86
- created: 2023-03-21T13:55:08.571144Z
- integrationRequestUuid: 6d3699cf-95bd-444a-b62f-80d6e8391dc9
- applicationId: 13
+ WebhookAuthenticationWebhookRef:
properties:
- integrationRequestUuid:
- description: UUID reference of the integration request that triggered the
- effect with the webhook.
- example: 6d3699cf-95bd-444a-b62f-80d6e8391dc9
- type: string
- webhookId:
- description: ID of the webhook that triggered the request.
- example: 1
- format: int64
- type: integer
- applicationId:
- description: ID of the application that triggered the webhook.
- example: 13
- format: int64
- type: integer
- campaignId:
- description: ID of the campaign that triggered the webhook.
- example: 86
+ id:
+ description: The internal ID of this entity.
+ example: 6
format: int64
type: integer
- created:
- description: Timestamp of request
- example: 2023-03-21T13:55:08.571144Z
- format: date-time
+ title:
+ description: The title of the webhook authentication.
+ example: Send message
+ pattern: ^[A-Za-z][A-Za-z0-9_.!~*'() -]*$
+ type: string
+ description:
+ description: A description of the webhook authentication.
+ example: A webhook to send a coupon to the user.
type: string
required:
- - applicationId
- - campaignId
- - created
- - integrationRequestUuid
- - webhookId
+ - id
+ - title
type: object
- WebhookLogEntry:
- description: Log of webhook API calls.
- example:
- requestTime: 2021-07-20T22:00:00Z
- request: |
- {
- mydata: "somevalue"
- }
- webhookId: 5
- response: ""
- responseTime: 2021-07-20T22:00:50Z
- integrationRequestUuid: "472075793"
- id: "2"
- applicationId: 12
- url: www.my-company.com/my-endpoint-name
- status: 204
+ WebhookAuthenticationDataBasic:
properties:
- id:
- description: UUID reference of the webhook request.
- example: "2"
+ username:
+ description: The Basic HTTP username.
type: string
- integrationRequestUuid:
- description: UUID reference of the integration request linked to this webhook
- request.
- example: "472075793"
+ password:
+ description: The Basic HTTP password.
type: string
- webhookId:
- description: ID of the webhook that triggered the request.
- example: 5
- format: int64
- type: integer
- applicationId:
- description: ID of the application that triggered the webhook.
- example: 12
- format: int64
- type: integer
- url:
- description: The target URL of the request.
- example: www.my-company.com/my-endpoint-name
+ required:
+ - password
+ - username
+ type: object
+ WebhookAuthenticationDataCustom:
+ properties:
+ headers:
+ additionalProperties:
+ type: string
+ type: object
+ required:
+ - headers
+ type: object
+ WebhookAuthenticationBase:
+ properties:
+ name:
+ description: The name of the webhook authentication.
+ example: My basic auth
type: string
- request:
- description: Request message
- example: |
- {
- mydata: "somevalue"
- }
+ type:
+ enum:
+ - basic
+ - custom
type: string
- response:
- description: Response message
- example: ""
+ data:
+ type: object
+ required:
+ - data
+ - name
+ - type
+ type: object
+ WebhookAuthentication:
+ properties:
+ createdBy:
+ description: The name of the user who created the webhook authentication.
type: string
- status:
- description: HTTP status code of response.
- example: 204
+ modifiedBy:
+ description: The name of the user who last modified the webhook authentication.
+ type: string
+ webhooks:
+ items:
+ $ref: '#/components/schemas/WebhookAuthenticationWebhookRef'
+ type: array
+ name:
+ description: The name of the webhook authentication.
+ example: My basic auth
+ type: string
+ type:
+ enum:
+ - basic
+ - custom
+ type: string
+ data:
+ type: object
+ id:
+ description: The internal ID of this entity.
+ example: 6
format: int64
type: integer
- requestTime:
- description: Timestamp of request
- example: 2021-07-20T22:00:00Z
+ created:
+ description: The time this entity was created.
+ example: 2020-06-10T09:05:27.993483Z
format: date-time
type: string
- responseTime:
- description: Timestamp of response
- example: 2021-07-20T22:00:50Z
+ modified:
+ description: The time this entity was last modified.
+ example: 2021-09-12T10:12:42Z
format: date-time
type: string
required:
+ - created
+ - createdBy
+ - data
- id
- - integrationRequestUuid
- - request
- - requestTime
- - url
- - webhookId
+ - modified
+ - modifiedBy
+ - name
+ - type
+ - webhooks
type: object
MessageLogRequest:
description: Details of the request.
@@ -34183,7 +35447,7 @@ components:
title: Survey Completed
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -34247,7 +35511,7 @@ components:
additionalAttributes: {}
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -34454,6 +35718,159 @@ components:
required:
- data
type: object
+ ScimGroupMember:
+ description: Member of the SCIM group. In Talon.One, the member is a [user](https://docs.talon.one/docs/product/account/account-settings/managing-users)
+ assigned to a specific role.
+ example:
+ display: john.doe@example.com
+ value: "258"
+ properties:
+ value:
+ description: Unique identifier of the member.
+ example: "258"
+ type: string
+ display:
+ description: Identifier of the user. This is usually an email address.
+ example: john.doe@example.com
+ type: string
+ type: object
+ ScimBaseGroup:
+ description: Define the schema for base fields in a group using the SCIM provisioning
+ protocol. Talon.One uses this schema to create roles.
+ example:
+ displayName: Manager
+ members:
+ - display: john.doe@example.com
+ value: "258"
+ - display: john.doe@example.com
+ value: "258"
+ properties:
+ displayName:
+ description: Display name of the group (Talon.One role).
+ example: Manager
+ type: string
+ members:
+ description: List of members to assign to the new Talon.One role.
+ items:
+ $ref: '#/components/schemas/ScimGroupMember'
+ type: array
+ type: object
+ ScimGroup:
+ description: |-
+ Define the schema for groups created using the SCIM provisioning protocol.
+ In Talon.One, a `Group` corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and `members` are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
+ example:
+ displayName: Manager
+ members:
+ - display: john.doe@example.com
+ value: "258"
+ - display: john.doe@example.com
+ value: "258"
+ id: "359"
+ properties:
+ displayName:
+ description: Display name of the group (Talon.One role).
+ example: Manager
+ type: string
+ members:
+ description: List of members to assign to the new Talon.One role.
+ items:
+ $ref: '#/components/schemas/ScimGroupMember'
+ type: array
+ id:
+ description: ID of the group.
+ example: "359"
+ type: string
+ required:
+ - id
+ type: object
+ ScimGroupsListResponse:
+ description: |-
+ List of groups created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID.
+ In Talon.One, a `Group` corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and `members` are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
+ example:
+ Resources:
+ - displayName: Manager Role
+ id: "283"
+ meta:
+ resourceType: Group
+ created: 2024-06-25T17:43:46+02:00
+ members:
+ - value: "15"
+ display: john.doe@example.com
+ schemas:
+ - urn:ietf:params:scim:schemas:core:2.0:Group
+ schemas:
+ - urn:ietf:params:scim:api:messages:2.0:ListResponse
+ totalResults: 1
+ properties:
+ Resources:
+ items:
+ $ref: '#/components/schemas/ScimGroup'
+ type: array
+ schemas:
+ description: SCIM schema for the given resource.
+ items:
+ example: urn:ietf:params:scim:api:messages:2.0:ListResponse
+ type: string
+ type: array
+ totalResults:
+ description: Number of results in the response.
+ format: int64
+ type: integer
+ required:
+ - Resources
+ type: object
+ ScimPatchOperation:
+ description: Patch operation that is used to update the information.
+ example:
+ op: add
+ path: nickName
+ value: John
+ properties:
+ op:
+ description: The method that should be used in the operation.
+ enum:
+ - add
+ - remove
+ - replace
+ type: string
+ path:
+ description: The path specifying the attribute that should be updated.
+ type: string
+ value:
+ description: The value that should be updated. Required if `op` is `add`
+ or `replace`.
+ type: string
+ required:
+ - op
+ type: object
+ ScimPatchRequest:
+ description: SCIM Patch request
+ example:
+ Operations:
+ - op: replace
+ path: active
+ value: test
+ - op: add
+ path: nickName
+ value: johndoe
+ schemas:
+ - urn:ietf:params:scim:api:messages:2.0:PatchOp
+ properties:
+ schemas:
+ description: SCIM schema for the given resource.
+ items:
+ example: urn:ietf:params:scim:api:messages:2.0:PatchOp
+ type: string
+ type: array
+ Operations:
+ items:
+ $ref: '#/components/schemas/ScimPatchOperation'
+ type: array
+ required:
+ - Operations
+ type: object
ScimBaseUser:
description: Schema definition for base user fields, provisioned using the SCIM
protocol and used by Talon.One.
@@ -34569,56 +35986,6 @@ components:
required:
- Resources
type: object
- ScimPatchOperation:
- description: Patch operation that is used to update the information.
- example:
- op: add
- path: nickName
- value: John
- properties:
- op:
- description: The method that should be used in the operation.
- enum:
- - add
- - remove
- - replace
- type: string
- path:
- description: The path specifying the attribute that should be updated.
- type: string
- value:
- description: The value that should be updated. Required if `op` is `add`
- or `replace`.
- type: string
- required:
- - op
- type: object
- ScimPatchRequest:
- description: SCIM Patch request
- example:
- Operations:
- - op: replace
- path: active
- value: test
- - op: add
- path: nickName
- value: johndoe
- schemas:
- - urn:ietf:params:scim:api:messages:2.0:PatchOp
- properties:
- schemas:
- description: SCIM schema for the given resource.
- items:
- example: urn:ietf:params:scim:api:messages:2.0:PatchOp
- type: string
- type: array
- Operations:
- items:
- $ref: '#/components/schemas/ScimPatchOperation'
- type: array
- required:
- - Operations
- type: object
ScimResource:
description: Resource definition for the SCIM provisioning protocol.
example:
@@ -34879,7 +36246,7 @@ components:
managementKeyId: 3
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -35114,7 +36481,7 @@ components:
userLimit: 6
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -35399,20 +36766,41 @@ components:
items:
type: string
type: array
+ secondaryDeploymentPrice:
+ description: The price for a secondary deployment according to contractual
+ agreements.
+ format: int64
+ type: integer
+ currencyCode:
+ description: The currency of the contract.
+ type: string
required:
- activeCampaigns
- activeRules
- apiVolume
- coupons
+ - currencyCode
- liveApplications
- liveLoyaltyPrograms
- promotionTypes
- referralCodes
- sandboxApplications
- sandboxLoyaltyPrograms
+ - secondaryDeploymentPrice
- users
- webhooks
type: object
+ NewSecondaryDeployment:
+ properties:
+ name:
+ description: The name of the deployment. Used as subdomain, e.g. experimental.your-company.europe-west1.talon.one
+ example: experimental
+ minLength: 1
+ pattern: ^[a-z0-9]+$
+ type: string
+ required:
+ - name
+ type: object
Export:
example:
filter: '{}'
@@ -35423,7 +36811,7 @@ components:
entity: Coupon
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -35905,7 +37293,7 @@ components:
id: 6
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -36532,7 +37920,7 @@ components:
updated: 2021-09-23T10:12:42Z
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -36687,7 +38075,7 @@ components:
ApplicationCIFExpression:
properties:
id:
- description: Internal ID of this entity.
+ description: The internal ID of this entity.
example: 6
format: int64
type: integer
@@ -36737,6 +38125,10 @@ components:
- id
type: object
ListCampaignStoreBudgetsStore:
+ example:
+ name: name
+ integrationId: integrationId
+ id: 0
properties:
id:
format: int64
@@ -36751,6 +38143,14 @@ components:
- name
type: object
ListCampaignStoreBudgets:
+ example:
+ period: period
+ limit: 6
+ action: action
+ store:
+ name: name
+ integrationId: integrationId
+ id: 0
properties:
store:
$ref: '#/components/schemas/ListCampaignStoreBudgetsStore'
@@ -36767,6 +38167,9 @@ components:
- store
type: object
NewCampaignStoreBudgetStoreLimit:
+ example:
+ limit: 1000.0
+ storeId: 17
properties:
storeId:
description: |
@@ -36784,6 +38187,14 @@ components:
- storeId
type: object
NewCampaignStoreBudget:
+ example:
+ period: daily
+ action: setDiscount
+ storeLimits:
+ - limit: 1000.0
+ storeId: 17
+ - limit: 1000.0
+ storeId: 17
properties:
action:
enum:
@@ -36806,6 +38217,11 @@ components:
- storeLimits
type: object
SummaryCampaignStoreBudget:
+ example:
+ period: overall
+ imported: true
+ storeCount: 0
+ action: redeemCoupon
properties:
action:
enum:
@@ -36921,9 +38337,11 @@ components:
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.
enum:
- no_recurrence
- on_expiration
+ - on_completion
example: no_recurrence
type: string
activationPolicy:
@@ -37296,23 +38714,6 @@ components:
required:
- itemFilter
type: object
- CampaignEvaluationTreeChangedNotification:
- description: Notification about an Application whose campaign evaluation tree
- changed.
- properties:
- applicationId:
- description: The ID of the Application whose campaign evaluation tree changed.
- example: 78
- format: int64
- type: integer
- oldEvaluationTree:
- $ref: '#/components/schemas/CampaignSet'
- evaluationTree:
- $ref: '#/components/schemas/CampaignSet'
- required:
- - applicationId
- - evaluationTree
- type: object
CampaignStateChangedNotification:
description: A notification regarding a campaign whose state changed.
properties:
@@ -37434,6 +38835,65 @@ components:
required:
- event
type: object
+ CampaignNotificationData:
+ properties:
+ Notification:
+ $ref: '#/components/schemas/CampaignNotification'
+ AccountID:
+ format: int64
+ type: integer
+ ApplicationID:
+ format: int64
+ type: integer
+ required:
+ - AccountID
+ - ApplicationID
+ - Notification
+ type: object
+ CampaignNotificationMessage:
+ properties:
+ TotalResultSize:
+ description: The total size of the result set.
+ format: int64
+ type: integer
+ Data:
+ description: A list of campaign notification data.
+ items:
+ $ref: '#/components/schemas/CampaignNotificationData'
+ type: array
+ required:
+ - Data
+ - TotalResultSize
+ type: object
+ CampaignEvaluationTreeChangedNotification:
+ description: Notification about an Application whose campaign evaluation tree
+ changed.
+ properties:
+ applicationId:
+ description: The ID of the Application whose campaign evaluation tree changed.
+ example: 78
+ format: int64
+ type: integer
+ oldEvaluationTree:
+ $ref: '#/components/schemas/CampaignSet'
+ evaluationTree:
+ $ref: '#/components/schemas/CampaignSet'
+ required:
+ - applicationId
+ - evaluationTree
+ type: object
+ CampaignEvaluationTreeChangedMessage:
+ properties:
+ Data:
+ description: The array of changes.
+ items:
+ $ref: '#/components/schemas/ApplicationNotification'
+ type: array
+ TotalResultSize:
+ example: 1
+ format: int64
+ type: integer
+ type: object
StrikethroughTrigger:
description: Information about the event that triggered the strikethrough labeling.
properties:
@@ -37516,6 +38976,1012 @@ components:
- sku
- version
type: object
+ ExtendedCoupon:
+ properties:
+ id:
+ description: The internal ID of the coupon.
+ example: 6
+ format: int64
+ type: integer
+ created:
+ description: The time the coupon was created.
+ example: 2020-06-10T09:05:27.993483Z
+ format: date-time
+ type: string
+ campaignId:
+ description: The ID of the campaign that owns this entity.
+ example: 211
+ format: int64
+ title: Campaign ID
+ type: integer
+ value:
+ description: The coupon code.
+ example: XMAS-20-2021
+ minLength: 4
+ title: Coupon Code
+ type: string
+ usageLimit:
+ description: |
+ The number of times the coupon code can be redeemed. `0` means unlimited redemptions but any campaign usage limits will still apply.
+ example: 100
+ format: int64
+ maximum: 999999
+ minimum: 0
+ type: integer
+ discountLimit:
+ description: |
+ The total discount value that the code can give. Typically used to represent a gift card value.
+ example: 30.0
+ maximum: 1E+15
+ minimum: 0
+ type: number
+ reservationLimit:
+ description: |
+ The number of reservations that can be made with this coupon code.
+ example: 45
+ format: int64
+ maximum: 999999
+ minimum: 0
+ type: integer
+ startDate:
+ description: Timestamp at which point the coupon becomes valid.
+ example: 2020-01-24T14:15:22Z
+ format: date-time
+ type: string
+ expiryDate:
+ description: Expiration date of the coupon. Coupon never expires if this
+ is omitted.
+ example: 2023-08-24T14:15:22Z
+ format: date-time
+ type: string
+ limits:
+ description: |
+ Limits configuration for a coupon. These limits will override the limits
+ set from the campaign.
+
+ **Note:** Only usable when creating a single coupon which is not tied to a specific recipient.
+ Only per-profile limits are allowed to be configured.
+ items:
+ $ref: '#/components/schemas/LimitConfig'
+ type: array
+ usageCounter:
+ description: The number of times the coupon has been successfully redeemed.
+ example: 10
+ format: int64
+ title: Total coupon redemptions
+ type: integer
+ discountCounter:
+ description: The amount of discounts given on rules redeeming this coupon.
+ Only usable if a coupon discount budget was set for this coupon.
+ example: 10.0
+ title: Discounts Given
+ type: number
+ discountRemainder:
+ description: The remaining discount this coupon can give.
+ example: 5.0
+ title: Coupon Discount Remainder
+ type: number
+ reservationCounter:
+ description: The number of times this coupon has been reserved.
+ example: 1.0
+ title: Number of reservations
+ type: number
+ attributes:
+ description: Custom attributes associated with this coupon.
+ properties: {}
+ title: Attributes of coupon
+ type: object
+ referralId:
+ description: The integration ID of the referring customer (if any) for whom
+ this coupon was created as an effect.
+ example: 326632952
+ format: int64
+ title: Advocate ID
+ type: integer
+ recipientIntegrationId:
+ description: The Integration ID of the customer that is allowed to redeem
+ this coupon.
+ example: URNGV8294NV
+ maxLength: 1000
+ title: Recipient ID
+ type: string
+ importId:
+ description: The ID of the Import which created this coupon.
+ example: 4
+ format: int64
+ title: Import ID
+ type: integer
+ reservation:
+ default: true
+ description: |
+ Defines the reservation type:
+ - `true`: The coupon can be reserved for multiple customers.
+ - `false`: The coupon can be reserved only for one customer. It is a personal code.
+ example: false
+ title: Reservation Type
+ type: boolean
+ batchId:
+ description: The id of the batch the coupon belongs to.
+ example: 32535-43255
+ title: Batch ID
+ type: string
+ isReservationMandatory:
+ default: false
+ description: An indication of whether the code can be redeemed only if it
+ has been reserved first.
+ example: false
+ title: Is reservation mandatory
+ type: boolean
+ implicitlyReserved:
+ description: An indication of whether the coupon is implicitly reserved
+ for all customers.
+ example: false
+ title: Is coupon implicitly reserved for all customers
+ type: boolean
+ ApplicationId:
+ description: The ID of the application.
+ format: int64
+ type: integer
+ required:
+ - ApplicationId
+ - campaignId
+ - created
+ - id
+ - usageCounter
+ - usageLimit
+ - value
+ type: object
+ CreateCouponData:
+ properties:
+ data:
+ description: The array of coupons codes. If 1000 or fewer coupons are requested,
+ all coupon data is sent. If 1001 or more coupons are requested, only `BatchID`
+ is sent.
+ example:
+ - id: 1
+ created: 2023-01-31T15:19:25.18417+01:00
+ campaignId: 1
+ value: 73KXKKFP
+ usageLimit: 1
+ reservationLimit: 0
+ usageCounter: 0
+ attributes: {}
+ reservation: true
+ batchId: nqylhnni
+ - id: 2
+ created: 2023-01-31T15:19:25.18417+01:00
+ campaignId: 1
+ value: BH3CXXLW
+ usageLimit: 1
+ reservationLimit: 0
+ usageCounter: 0
+ attributes: {}
+ reservation: true
+ batchId: nqylhnni
+ items:
+ $ref: '#/components/schemas/ExtendedCoupon'
+ type: array
+ totalResultSize:
+ example: 1
+ format: int64
+ type: integer
+ BatchID:
+ description: |
+ The ID of the batch to which the coupon belongs.
+
+ **Note:** The Batch ID is generated when coupons are created.
+ example: haanlypn
+ type: string
+ TypeOfChange:
+ description: ""
+ example: campaign_manager
+ type: string
+ Operation:
+ description: ""
+ example: AsyncCouponsCreated
+ type: string
+ EmployeeName:
+ description: ""
+ example: Franziska Schneider
+ type: string
+ required:
+ - EmployeeName
+ - Operation
+ - TypeOfChange
+ type: object
+ CouponsNotificationData:
+ properties:
+ TypeOfChange:
+ description: The type of change that occurred.
+ type: string
+ Operation:
+ description: The operation performed.
+ type: string
+ EmployeeName:
+ description: The name of the employee associated with the operation.
+ type: string
+ data:
+ description: A list of extended coupon data.
+ items:
+ $ref: '#/components/schemas/ExtendedCoupon'
+ type: array
+ totalResultSize:
+ example: 1
+ format: int64
+ type: integer
+ required:
+ - EmployeeName
+ - Operation
+ - TypeOfChange
+ type: object
+ AsyncCouponsData:
+ properties:
+ BatchID:
+ description: |
+ The ID of the batch to which the coupon belongs.
+
+ **Note:** The Batch ID is generated when coupons are created.
+ example: haanlypn
+ type: string
+ TypeOfChange:
+ description: ""
+ example: campaign_manager
+ type: string
+ Operation:
+ description: ""
+ example: AsyncCouponsCreated
+ type: string
+ EmployeeName:
+ description: ""
+ example: Franziska Schneider
+ type: string
+ required:
+ - BatchID
+ - EmployeeName
+ - Operation
+ - TypeOfChange
+ type: object
+ UpdateCouponsData:
+ properties:
+ BatchID:
+ type: string
+ ApplicationID:
+ format: int64
+ type: integer
+ CampaignID:
+ format: int64
+ type: integer
+ TypeOfChange:
+ type: string
+ Operation:
+ type: string
+ EmployeeName:
+ type: string
+ required:
+ - ApplicationID
+ - BatchID
+ - CampaignID
+ - EmployeeName
+ - Operation
+ - TypeOfChange
+ type: object
+ DeleteCouponsData:
+ properties:
+ TypeOfChange:
+ type: string
+ Operation:
+ type: string
+ EmployeeName:
+ type: string
+ BatchID:
+ type: string
+ ApplicationID:
+ format: int64
+ type: integer
+ CampaignID:
+ format: int64
+ type: integer
+ TotalResultSize:
+ format: int64
+ type: integer
+ required:
+ - ApplicationID
+ - BatchID
+ - CampaignID
+ - EmployeeName
+ - Operation
+ - TotalResultSize
+ - TypeOfChange
+ type: object
+ ExpiringPointsData:
+ properties:
+ ExpiryDate:
+ description: The expiration date of loyalty points.
+ format: date
+ type: string
+ LoyaltyProgramID:
+ description: The ID of the loyalty program.
+ example: 5
+ format: int64
+ minimum: 1
+ type: integer
+ CustomerProfileID:
+ description: The integration ID of the customer profile that has expiring
+ points.
+ example: URNGV8294NV
+ type: string
+ AmountOfExpiringPoints:
+ description: The amount of loyalty points that will be expired soon.
+ example: 10.99
+ type: number
+ SubledgerID:
+ description: The ID of the subledger within the loyalty program where these
+ points were added.
+ example: sub-123
+ type: string
+ required:
+ - AmountOfExpiringPoints
+ - CustomerProfileID
+ - ExpiryDate
+ - LoyaltyProgramID
+ - SubledgerID
+ type: object
+ ExpiringPointsNotification:
+ properties:
+ TotalResultSize:
+ example: 1
+ format: int64
+ type: integer
+ Data:
+ description: The array of expiring points.
+ items:
+ $ref: '#/components/schemas/ExpiringPointsData'
+ type: array
+ NotificationType:
+ description: The type of notification.
+ enum:
+ - LoyaltyPointsExpiring
+ type: string
+ required:
+ - Data
+ - NotificationType
+ - TotalResultSize
+ type: object
+ ExpiringCardPointsData:
+ properties:
+ ExpiryDate:
+ description: The expiration date of loyalty points.
+ format: date
+ type: string
+ LoyaltyProgramID:
+ description: The ID of the loyalty program.
+ example: 5
+ format: int64
+ minimum: 1
+ type: integer
+ AmountOfExpiringPoints:
+ description: The amount of loyalty points that will be expired soon.
+ example: 10.99
+ type: number
+ SubledgerID:
+ description: The ID of the subledger within the loyalty program where these
+ points were added.
+ example: sub-123
+ type: string
+ CardIdentifier:
+ description: The alphanumeric identifier of the loyalty card.
+ example: summer-loyalty-card-0543
+ type: string
+ UsersPerCardLimit:
+ description: |
+ The maximum number of customer profiles with which a card can be shared. This can be set to `0` for no limit.
+ example: 5
+ format: int64
+ minimum: 0
+ type: integer
+ Profiles:
+ description: The integration IDs of the customer profiles linked to the
+ card.
+ items:
+ example: URNGV8294NV
+ type: string
+ type: array
+ required:
+ - AmountOfExpiringPoints
+ - CardIdentifier
+ - ExpiryDate
+ - LoyaltyProgramID
+ - Profiles
+ - SubledgerID
+ - UsersPerCardLimit
+ type: object
+ ExpiringCardPointsNotification:
+ properties:
+ TotalResultSize:
+ example: 1
+ format: int64
+ type: integer
+ Data:
+ description: The array of expiring points.
+ items:
+ $ref: '#/components/schemas/ExpiringCardPointsData'
+ type: array
+ NotificationType:
+ description: The type of notification.
+ enum:
+ - LoyaltyCardPointsExpiring
+ type: string
+ required:
+ - Data
+ - NotificationType
+ - TotalResultSize
+ type: object
+ AddedDeductedPointsNotification:
+ properties:
+ ProfileIntegrationID:
+ description: The integration ID of the customer profile to whom points were
+ added or deducted.
+ example: URNGV8294NV
+ type: string
+ LoyaltyProgramID:
+ description: The ID of the loyalty program.
+ example: 5
+ format: int64
+ minimum: 1
+ type: integer
+ SubledgerID:
+ description: The ID of the subledger within the loyalty program where these
+ points were added.
+ example: sub-123
+ type: string
+ Amount:
+ description: The amount of added or deducted loyalty points.
+ example: 10.99
+ type: number
+ Reason:
+ description: The reason for the points addition or deduction.
+ example: Compensation
+ type: string
+ TypeOfChange:
+ description: |
+ The notification source, that is, it indicates
+ whether the points were added or deducted via one of the following routes:
+
+ - [The Campaign Manager](/docs/product/getting-started)
+
+ - [Management API](/management-api#tag/Loyalty)
+
+ - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters)
+ enum:
+ - campaign_manager
+ - rule_engine
+ - management_api
+ type: string
+ EmployeeName:
+ description: The name of the employee who added or deducted points.
+ example: Franziska Schneider
+ type: string
+ UserID:
+ description: The ID of the employee who added or deducted points.
+ example: 25
+ format: int64
+ minimum: 1
+ type: integer
+ Operation:
+ description: The action (addition or deduction) made with loyalty points.
+ enum:
+ - addition
+ - deduction
+ type: string
+ StartDate:
+ description: The start date for loyalty points.
+ example: 2023-01-24T14:15:22Z
+ format: date-time
+ type: string
+ ExpiryDate:
+ description: The expiration date for loyalty points.
+ example: 2024-01-24T14:15:22Z
+ format: date-time
+ type: string
+ SessionIntegrationID:
+ description: The integration ID of the session through which the points
+ were earned or lost.
+ example: cc53e4fa-547f-4f5e-8333-76e05c381f67
+ type: string
+ NotificationType:
+ description: The type of notification.
+ enum:
+ - LoyaltyPointsDeducted
+ - LoyaltyPointsAdded
+ type: string
+ required:
+ - Amount
+ - EmployeeName
+ - LoyaltyProgramID
+ - NotificationType
+ - Operation
+ - ProfileIntegrationID
+ - Reason
+ - SessionIntegrationID
+ - SubledgerID
+ - TypeOfChange
+ - UserID
+ type: object
+ PendingActivePointsData:
+ properties:
+ LoyaltyProgramID:
+ description: The ID of the loyalty program.
+ example: 5
+ format: int64
+ minimum: 1
+ type: integer
+ SubledgerID:
+ default: ""
+ description: The ID of the subledger, when applicable. If this field is
+ empty, the main ledger is used.
+ example: SL001
+ type: string
+ CustomerProfileID:
+ description: The integration ID of the customer profile whose loyalty points
+ are becoming active.
+ example: URNGV8294NV
+ type: string
+ Points:
+ description: The amount of pending loyalty points becoming active.
+ example: 10.99
+ type: number
+ ActiveOn:
+ description: The date and time the loyalty points become active.
+ example: 2023-08-20T12:22:00+02:00
+ format: date-time
+ type: string
+ ExpireOn:
+ description: The date and time the loyalty points expire.
+ example: 2023-09-01T12:23:00+02:00
+ format: date-time
+ type: string
+ SessionIntegrationID:
+ description: The integration ID of the session through which the points
+ were earned.
+ example: cc53e4fa-547f-4f5e-8333-76e05c381f67
+ type: string
+ required:
+ - CustomerProfileID
+ - LoyaltyProgramID
+ - Points
+ - SubledgerID
+ type: object
+ PendingActivePointsNotification:
+ properties:
+ TotalResultSize:
+ example: 1
+ format: int64
+ type: integer
+ Data:
+ description: The array of pending points.
+ items:
+ $ref: '#/components/schemas/PendingActivePointsData'
+ type: array
+ NotificationType:
+ description: The type of notification.
+ enum:
+ - LoyaltyPointsPendingToActive
+ type: string
+ required:
+ - Data
+ - NotificationType
+ - TotalResultSize
+ type: object
+ TierUpgradeData:
+ properties:
+ CustomerProfileID:
+ description: The integration ID of the customer profile whose tier was upgraded.
+ example: URNGV8294NV
+ type: string
+ LoyaltyProgramID:
+ description: The ID of the loyalty program.
+ example: 5
+ format: int64
+ minimum: 1
+ type: integer
+ SubledgerID:
+ default: ""
+ description: The ID of the subledger, when applicable. If this field is
+ empty, the main ledger is used.
+ example: SL001
+ type: string
+ CurrentTier:
+ description: The name of the customer's current tier.
+ example: Silver
+ type: string
+ CurrentPoints:
+ description: The number of points the customer had at the time of tier upgrade.
+ example: 120.55
+ type: number
+ OldTier:
+ description: The name of the customer's previous tier.
+ example: Bronze
+ type: string
+ PointsRequiredToTheNextTier:
+ description: The number of points needed for a customer to reach the next
+ tier.
+ example: 23.51
+ type: number
+ NextTier:
+ description: The name of the customer's next tier.
+ example: Gold
+ type: string
+ TierExpirationDate:
+ description: The exact date and time the tier expires.
+ example: 2023-12-01T12:23:00+02:00
+ format: date-time
+ type: string
+ TimestampOfTierChange:
+ description: The exact date and time the tier was changed.
+ example: 2023-10-26T12:23:00+02:00
+ format: date-time
+ type: string
+ required:
+ - CurrentPoints
+ - CurrentTier
+ - CustomerProfileID
+ - LoyaltyProgramID
+ - SubledgerID
+ - TierExpirationDate
+ - TimestampOfTierChange
+ type: object
+ TierUpgradeNotification:
+ properties:
+ TotalResultSize:
+ example: 1
+ format: int64
+ type: integer
+ Data:
+ description: The array of tier upgrade notifications.
+ items:
+ $ref: '#/components/schemas/TierUpgradeData'
+ type: array
+ NotificationType:
+ description: The type of notification.
+ enum:
+ - TierUpgrade
+ type: string
+ required:
+ - Data
+ - NotificationType
+ - TotalResultSize
+ type: object
+ TierDowngradeData:
+ properties:
+ CustomerProfileID:
+ description: The integration ID of the customer profile whose tier was downgraded.
+ example: URNGV8294NV
+ type: string
+ LoyaltyProgramID:
+ description: The ID of the loyalty program.
+ example: 5
+ format: int64
+ minimum: 1
+ type: integer
+ SubledgerID:
+ default: ""
+ description: The ID of the subledger, when applicable. If this field is
+ empty, the main ledger is used.
+ example: SL001
+ type: string
+ CurrentTier:
+ description: The name of the customer's current tier.
+ example: Silver
+ type: string
+ CurrentPoints:
+ description: The number of points the customer had at the time of tier downgrade.
+ example: 120.55
+ type: number
+ OldTier:
+ description: The name of the customer's previous tier.
+ example: Gold
+ type: string
+ TierExpirationDate:
+ description: The exact date and time the tier expires.
+ example: 2023-12-01T12:23:00+02:00
+ format: date-time
+ type: string
+ TimestampOfTierChange:
+ description: The exact date and time the tier was changed.
+ example: 2023-10-26T12:23:00+02:00
+ format: date-time
+ type: string
+ required:
+ - CurrentPoints
+ - CustomerProfileID
+ - LoyaltyProgramID
+ - OldTier
+ - SubledgerID
+ - TimestampOfTierChange
+ type: object
+ TierDowngradeNotification:
+ properties:
+ TotalResultSize:
+ example: 1
+ format: int64
+ type: integer
+ Data:
+ description: The array of tier downgrade notifications.
+ items:
+ $ref: '#/components/schemas/TierDowngradeData'
+ type: array
+ NotificationType:
+ description: The type of notification.
+ enum:
+ - TierDowngrade
+ type: string
+ required:
+ - Data
+ - NotificationType
+ - TotalResultSize
+ type: object
+ TierWillDowngradeData:
+ properties:
+ CustomerProfileID:
+ description: The integration ID of the customer profile whose tier was downgraded.
+ example: URNGV8294NV
+ type: string
+ LoyaltyProgramID:
+ description: The ID of the loyalty program.
+ example: 5
+ format: int64
+ minimum: 1
+ type: integer
+ SubledgerID:
+ default: ""
+ description: The ID of the subledger, when applicable. If this field is
+ empty, the main ledger is used.
+ example: SL001
+ type: string
+ CurrentTier:
+ description: The name of the customer's current tier.
+ example: Silver
+ type: string
+ CurrentPoints:
+ description: The number of points the customer will have after the tier
+ downgrade.
+ example: 120.55
+ type: number
+ PointsRequiredToRemain:
+ description: The number of points needed for a customer to remain on the
+ same tier.
+ example: 23.51
+ type: number
+ NextTier:
+ description: The name of the customer's next tier.
+ example: Bronze
+ type: string
+ TierExpirationDate:
+ description: The date and time the tier expires.
+ example: 2023-12-01T12:23:00+02:00
+ format: date-time
+ type: string
+ required:
+ - CurrentPoints
+ - CurrentTier
+ - CustomerProfileID
+ - LoyaltyProgramID
+ - PointsRequiredToRemain
+ - SubledgerID
+ type: object
+ TierWillDowngradeNotification:
+ properties:
+ TotalResultSize:
+ example: 1
+ format: int64
+ type: integer
+ Data:
+ description: The array of upcoming tier downgrade notifications.
+ items:
+ $ref: '#/components/schemas/TierWillDowngradeData'
+ type: array
+ NotificationType:
+ description: The type of notification.
+ enum:
+ - TierWillDowngrade
+ type: string
+ required:
+ - Data
+ - NotificationType
+ - TotalResultSize
+ type: object
+ ExpiringCouponsData:
+ properties:
+ CouponValue:
+ description: The coupon code.
+ example: XMAS-20-2021
+ type: string
+ CreatedDate:
+ description: Timestamp at which point the coupon was created.
+ example: 2024-07-24T14:15:22Z
+ format: date-time
+ type: string
+ ValidFrom:
+ description: Timestamp at which point the coupon becomes valid.
+ example: 2024-10-24T14:15:22Z
+ format: date-time
+ type: string
+ ValidUntil:
+ description: Timestamp at which point the coupon expires. Coupon never expires
+ if this is omitted, zero, or negative.
+ example: 2024-12-24T14:15:22Z
+ format: date-time
+ type: string
+ CampaignId:
+ description: The ID of the campaign to which the coupon belongs.
+ example: 3
+ format: int64
+ minimum: 1
+ type: integer
+ CustomerProfileId:
+ description: The Integration ID of the customer that is allowed to redeem
+ this coupon.
+ example: URNGV8294NV
+ type: string
+ UsageLimit:
+ description: |
+ The number of times the coupon code can be redeemed. `0` means unlimited redemptions but any campaign usage limits will still apply.
+ example: 100
+ format: int64
+ maximum: 999999
+ minimum: 0
+ type: integer
+ UsageCounter:
+ description: The number of times the coupon has been successfully redeemed.
+ example: 10
+ format: int64
+ title: Total coupon redemptions
+ type: integer
+ BatchId:
+ description: The ID of the batch the coupon belongs to.
+ example: 32535-43255
+ title: Batch ID
+ type: string
+ Attributes:
+ description: Custom attributes associated with this coupon.
+ properties: {}
+ title: Attributes of coupon
+ type: object
+ required:
+ - Attributes
+ - CampaignId
+ - CouponValue
+ - UsageCounter
+ - UsageLimit
+ type: object
+ ExpiringCouponsNotification:
+ properties:
+ TotalResultSize:
+ example: 1
+ format: int64
+ type: integer
+ Data:
+ description: The array of expiring coupon notifications.
+ items:
+ $ref: '#/components/schemas/ExpiringCouponsData'
+ type: array
+ NotificationType:
+ description: The type of notification.
+ enum:
+ - CouponCodeExpiring
+ type: string
+ required:
+ - Data
+ - NotificationType
+ - TotalResultSize
+ type: object
+ CardAddedDeductedPointsNotification:
+ properties:
+ ProfileIntegrationIDs:
+ description: The integration ID of the customer profile to whom points were
+ added or deducted.
+ example:
+ - yJSObdNNtOetCHWHPFuz
+ - test-user-4zoj1c
+ items:
+ type: string
+ type: array
+ LoyaltyProgramID:
+ description: The ID of the loyalty program.
+ example: 5
+ format: int64
+ minimum: 1
+ type: integer
+ SubledgerID:
+ description: The ID of the subledger within the loyalty program where these
+ points were added or deducted.
+ example: sub-123
+ type: string
+ Amount:
+ description: The amount of added or deducted loyalty points.
+ example: 10.99
+ type: number
+ Reason:
+ description: The reason for the points addition or deduction.
+ example: Compensation
+ type: string
+ TypeOfChange:
+ description: |
+ The notification source, that is, it indicates
+ whether the points were added or deducted via one of the following routes:
+
+ - [The Campaign Manager](/docs/product/getting-started)
+
+ - [Management API](/management-api#tag/Loyalty)
+
+ - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters)
+ enum:
+ - campaign_manager
+ - rule_engine
+ - management_api
+ type: string
+ EmployeeName:
+ description: The name of the employee who added or deducted points.
+ example: Franziska Schneider
+ type: string
+ UserID:
+ description: The ID of the employee who added or deducted points.
+ example: 25
+ format: int64
+ minimum: 1
+ type: integer
+ Operation:
+ description: The action (addition or deduction) made with loyalty points.
+ enum:
+ - addition
+ - deduction
+ type: string
+ StartDate:
+ description: The start date for loyalty points.
+ example: 2023-01-24T14:15:22Z
+ format: date-time
+ type: string
+ ExpiryDate:
+ description: The expiration date for loyalty points.
+ example: 2024-01-24T14:15:22Z
+ format: date-time
+ type: string
+ SessionIntegrationID:
+ description: The integration ID of the session through which the points
+ were earned or lost.
+ example: cc53e4fa-547f-4f5e-8333-76e05c381f67
+ type: string
+ NotificationType:
+ description: The type of notification.
+ enum:
+ - LoyaltyCardPointsDeducted
+ - LoyaltyCardPointsAdded
+ type: string
+ CardIdentifier:
+ description: Loyalty card identification number.
+ example: 123-456-789ATBC
+ type: string
+ UsersPerCardLimit:
+ description: The max amount of user profiles with whom a card can be shared.
+ This can be set to `0` for no limit.
+ example: 10
+ format: int64
+ type: integer
+ required:
+ - Amount
+ - CardIdentifier
+ - EmployeeName
+ - LoyaltyProgramID
+ - NotificationType
+ - Operation
+ - ProfileIntegrationIDs
+ - Reason
+ - SessionIntegrationID
+ - SubledgerID
+ - TypeOfChange
+ - UserID
+ - UsersPerCardLimit
+ type: object
inline_response_201:
example:
data:
@@ -38630,17 +41096,25 @@ components:
- 10
- 100
bindings:
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
description: Creates a discount when a coupon is valid
id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23
@@ -38662,17 +41136,25 @@ components:
- 10
- 100
bindings:
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
description: Creates a discount when a coupon is valid
id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23
@@ -38696,17 +41178,25 @@ components:
- 10
- 100
bindings:
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
description: Creates a discount when a coupon is valid
id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23
@@ -38728,17 +41218,25 @@ components:
- 10
- 100
bindings:
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
description: Creates a discount when a coupon is valid
id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23
@@ -38769,17 +41267,25 @@ components:
- 10
- 100
bindings:
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
description: Creates a discount when a coupon is valid
id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23
@@ -38801,17 +41307,25 @@ components:
- 10
- 100
bindings:
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
description: Creates a discount when a coupon is valid
id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23
@@ -38835,17 +41349,25 @@ components:
- 10
- 100
bindings:
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
description: Creates a discount when a coupon is valid
id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23
@@ -38867,17 +41389,25 @@ components:
- 10
- 100
bindings:
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
- - expression:
+ - attributeId: 100
+ minValue: 0.0
+ expression:
- string1
- string2
+ maxValue: 19.9
valueType: string
name: my property
+ description: This is a template parameter of type `number`.
type: templateParameter
description: Creates a discount when a coupon is valid
id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23
@@ -40350,19 +42880,31 @@ components:
returnedQuantity: 1
length: 1.4658129805029452
weight: 1130.0
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ adjustmentEffectiveFrom: 2021-09-12T10:12:42Z
catalogItemID: 5
additionalCosts:
shipping:
price: 9
price: 99.99
+ selectedPriceType: member
name: Air Glide
width: 6.027456183070403
attributes:
image: 11.jpeg
material: leather
+ adjustmentEffectiveUntil: 2021-09-12T10:12:42Z
position: 5.962133916683182
sku: SKU1241028
category: shoes
+ prices:
+ member:
+ price: 90
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ effectiveFrom: 2025-05-25T00:00:00Z
+ effectiveUntil: 2025-05-30T00:00:00Z
+ base:
+ price: 100
height: 0.8008281904610115
- remainingQuantity: 1
product:
@@ -40371,19 +42913,31 @@ components:
returnedQuantity: 1
length: 1.4658129805029452
weight: 1130.0
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ adjustmentEffectiveFrom: 2021-09-12T10:12:42Z
catalogItemID: 5
additionalCosts:
shipping:
price: 9
price: 99.99
+ selectedPriceType: member
name: Air Glide
width: 6.027456183070403
attributes:
image: 11.jpeg
material: leather
+ adjustmentEffectiveUntil: 2021-09-12T10:12:42Z
position: 5.962133916683182
sku: SKU1241028
category: shoes
+ prices:
+ member:
+ price: 90
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ effectiveFrom: 2025-05-25T00:00:00Z
+ effectiveUntil: 2025-05-30T00:00:00Z
+ base:
+ price: 100
height: 0.8008281904610115
- coupon: BKDB946
created: 2020-02-07T08:15:22Z
@@ -40408,19 +42962,31 @@ components:
returnedQuantity: 1
length: 1.4658129805029452
weight: 1130.0
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ adjustmentEffectiveFrom: 2021-09-12T10:12:42Z
catalogItemID: 5
additionalCosts:
shipping:
price: 9
price: 99.99
+ selectedPriceType: member
name: Air Glide
width: 6.027456183070403
attributes:
image: 11.jpeg
material: leather
+ adjustmentEffectiveUntil: 2021-09-12T10:12:42Z
position: 5.962133916683182
sku: SKU1241028
category: shoes
+ prices:
+ member:
+ price: 90
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ effectiveFrom: 2025-05-25T00:00:00Z
+ effectiveUntil: 2025-05-30T00:00:00Z
+ base:
+ price: 100
height: 0.8008281904610115
- remainingQuantity: 1
product:
@@ -40429,19 +42995,31 @@ components:
returnedQuantity: 1
length: 1.4658129805029452
weight: 1130.0
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ adjustmentEffectiveFrom: 2021-09-12T10:12:42Z
catalogItemID: 5
additionalCosts:
shipping:
price: 9
price: 99.99
+ selectedPriceType: member
name: Air Glide
width: 6.027456183070403
attributes:
image: 11.jpeg
material: leather
+ adjustmentEffectiveUntil: 2021-09-12T10:12:42Z
position: 5.962133916683182
sku: SKU1241028
category: shoes
+ prices:
+ member:
+ price: 90
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
+ effectiveFrom: 2025-05-25T00:00:00Z
+ effectiveUntil: 2025-05-30T00:00:00Z
+ base:
+ price: 100
height: 0.8008281904610115
hasMore: true
properties:
@@ -40464,9 +43042,12 @@ components:
conditionIndex: 786
evaluationGroupMode: stackable
effectType: rejectCoupon
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
props: '{}'
+ selectedPrice: 100.0
evaluationGroupID: 3
triggeredForCatalogItem: 786
+ selectedPriceType: member
campaignRevisionId: 1
ruleName: Give 20% discount
triggeredByCoupon: 4928
@@ -40477,9 +43058,12 @@ components:
conditionIndex: 786
evaluationGroupMode: stackable
effectType: rejectCoupon
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
props: '{}'
+ selectedPrice: 100.0
evaluationGroupID: 3
triggeredForCatalogItem: 786
+ selectedPriceType: member
campaignRevisionId: 1
ruleName: Give 20% discount
triggeredByCoupon: 4928
@@ -40529,9 +43113,12 @@ components:
conditionIndex: 786
evaluationGroupMode: stackable
effectType: rejectCoupon
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
props: '{}'
+ selectedPrice: 100.0
evaluationGroupID: 3
triggeredForCatalogItem: 786
+ selectedPriceType: member
campaignRevisionId: 1
ruleName: Give 20% discount
triggeredByCoupon: 4928
@@ -40542,9 +43129,12 @@ components:
conditionIndex: 786
evaluationGroupMode: stackable
effectType: rejectCoupon
+ adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b
props: '{}'
+ selectedPrice: 100.0
evaluationGroupID: 3
triggeredForCatalogItem: 786
+ selectedPriceType: member
campaignRevisionId: 1
ruleName: Give 20% discount
triggeredByCoupon: 4928
@@ -40923,6 +43513,7 @@ components:
outgoingIntegrationTemplateId: 1
verb: POST
description: A webhook to send a coupon to the user.
+ authenticationId: 1
title: Send message
params: []
url: www.my-company.com/my-endpoint-name
@@ -40933,6 +43524,7 @@ components:
outgoingIntegrationTypeId: 1
outgoingIntegrationTypeName: Braze
payload: "{\n\t\"message\": \"${message}\"\n}"
+ draft: false
modified: 2021-09-12T10:12:42Z
id: 6
- headers:
@@ -40942,6 +43534,7 @@ components:
outgoingIntegrationTemplateId: 1
verb: POST
description: A webhook to send a coupon to the user.
+ authenticationId: 1
title: Send message
params: []
url: www.my-company.com/my-endpoint-name
@@ -40952,6 +43545,7 @@ components:
outgoingIntegrationTypeId: 1
outgoingIntegrationTypeName: Braze
payload: "{\n\t\"message\": \"${message}\"\n}"
+ draft: false
modified: 2021-09-12T10:12:42Z
id: 6
totalResultSize: 1
@@ -40968,74 +43562,6 @@ components:
- data
- totalResultSize
inline_response_200_40:
- example:
- data:
- - webhookId: 1
- campaignId: 86
- created: 2023-03-21T13:55:08.571144Z
- integrationRequestUuid: 6d3699cf-95bd-444a-b62f-80d6e8391dc9
- applicationId: 13
- - webhookId: 1
- campaignId: 86
- created: 2023-03-21T13:55:08.571144Z
- integrationRequestUuid: 6d3699cf-95bd-444a-b62f-80d6e8391dc9
- applicationId: 13
- totalResultSize: 1
- properties:
- totalResultSize:
- example: 1
- format: int64
- type: integer
- data:
- items:
- $ref: '#/components/schemas/WebhookActivationLogEntry'
- type: array
- required:
- - data
- - totalResultSize
- inline_response_200_41:
- example:
- data:
- - requestTime: 2021-07-20T22:00:00Z
- request: |
- {
- mydata: "somevalue"
- }
- webhookId: 5
- response: ""
- responseTime: 2021-07-20T22:00:50Z
- integrationRequestUuid: "472075793"
- id: "2"
- applicationId: 12
- url: www.my-company.com/my-endpoint-name
- status: 204
- - requestTime: 2021-07-20T22:00:00Z
- request: |
- {
- mydata: "somevalue"
- }
- webhookId: 5
- response: ""
- responseTime: 2021-07-20T22:00:50Z
- integrationRequestUuid: "472075793"
- id: "2"
- applicationId: 12
- url: www.my-company.com/my-endpoint-name
- status: 204
- totalResultSize: 1
- properties:
- totalResultSize:
- example: 1
- format: int64
- type: integer
- data:
- items:
- $ref: '#/components/schemas/WebhookLogEntry'
- type: array
- required:
- - data
- - totalResultSize
- inline_response_200_42:
example:
data:
- created: 2020-06-10T09:05:27.993483Z
@@ -41061,7 +43587,7 @@ components:
required:
- data
- totalResultSize
- inline_response_200_43:
+ inline_response_200_41:
example:
data:
- created: 2020-06-10T09:05:27.993483Z
@@ -41115,7 +43641,7 @@ components:
required:
- data
- totalResultSize
- inline_response_200_44:
+ inline_response_200_42:
example:
data:
- new:
@@ -41167,7 +43693,7 @@ components:
type: array
required:
- data
- inline_response_200_45:
+ inline_response_200_43:
example:
data:
- filter: '{}'
@@ -41195,7 +43721,7 @@ components:
required:
- data
- totalResultSize
- inline_response_200_46:
+ inline_response_200_44:
example:
data:
- accountId: 3886
@@ -41303,7 +43829,7 @@ components:
required:
- data
- totalResultSize
- inline_response_200_47:
+ inline_response_200_45:
example:
data:
- linkedCampaignIds:
@@ -41349,6 +43875,44 @@ components:
type: array
required:
- data
+ inline_response_200_46:
+ example:
+ data:
+ - period: period
+ limit: 6
+ action: action
+ store:
+ name: name
+ integrationId: integrationId
+ id: 0
+ - period: period
+ limit: 6
+ action: action
+ store:
+ name: name
+ integrationId: integrationId
+ id: 0
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/ListCampaignStoreBudgets'
+ type: array
+ inline_response_200_47:
+ example:
+ data:
+ - period: overall
+ imported: true
+ storeCount: 0
+ action: redeemCoupon
+ - period: overall
+ imported: true
+ storeCount: 0
+ action: redeemCoupon
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/SummaryCampaignStoreBudget'
+ type: array
inline_response_200_48:
example:
data:
@@ -41616,4 +44180,7 @@ components:
in: header
name: Authorization
type: apiKey
+x-notifications-desc: |
+ Use [Application notifications](/docs/product/applications/application-notifications/overview) and [loyalty notifications](/docs/product/loyalty-programs/loyalty-notifications/overview) to notify the system of your choice of certain changes that happened in Talon.One.
+ **Note:** Required fields are not omitted if they are empty (have `null` value).
diff --git a/build.gradle b/build.gradle
index 6aaaca43..9708b077 100644
--- a/build.gradle
+++ b/build.gradle
@@ -3,7 +3,7 @@ apply plugin: 'eclipse'
apply plugin: 'java'
group = 'one.talon'
-version = '12.0.0'
+version = '13.0.0'
buildscript {
repositories {
diff --git a/build.sbt b/build.sbt
index 0f1d76e2..5f89efd7 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 := "12.0.0",
+ version := "13.0.0",
scalaVersion := "2.11.4",
scalacOptions ++= Seq("-feature"),
javacOptions in compile ++= Seq("-Xlint:deprecation"),
diff --git a/docs/Account.md b/docs/Account.md
index a7225212..5fb8f76b 100644
--- a/docs/Account.md
+++ b/docs/Account.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**modified** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was last modified. |
**companyName** | **String** | |
diff --git a/docs/AccountAdditionalCost.md b/docs/AccountAdditionalCost.md
index b33ce618..6766447c 100644
--- a/docs/AccountAdditionalCost.md
+++ b/docs/AccountAdditionalCost.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**accountId** | **Long** | The ID of the account that owns this entity. |
**name** | **String** | The internal name used in API requests. |
diff --git a/docs/AccountLimits.md b/docs/AccountLimits.md
index 3b1f4c78..08a96fbe 100644
--- a/docs/AccountLimits.md
+++ b/docs/AccountLimits.md
@@ -18,6 +18,8 @@ Name | Type | Description | Notes
**users** | **Long** | Total number of allowed users in the account. |
**apiVolume** | **Long** | Allowed volume of API requests to the account. |
**promotionTypes** | **List<String>** | Array of promotion types that are employed in the account. |
+**secondaryDeploymentPrice** | **Long** | The price for a secondary deployment according to contractual agreements. |
+**currencyCode** | **String** | The currency of the contract. |
diff --git a/docs/Achievement.md b/docs/Achievement.md
index 31fac2fc..97cb9597 100644
--- a/docs/Achievement.md
+++ b/docs/Achievement.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**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. |
@@ -14,7 +14,7 @@ Name | Type | Description | Notes
**target** | [**BigDecimal**](BigDecimal.md) | 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]
**periodEndOverride** | [**TimePoint**](TimePoint.md) | | [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. | [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**](OffsetDateTime.md) | The achievement's start date when `activationPolicy` is set to `fixed_schedule`. **Note:** It must be an RFC3339 timestamp string. | [optional]
**endDate** | [**OffsetDateTime**](OffsetDateTime.md) | 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]
@@ -32,6 +32,7 @@ Name | Value
---- | -----
NO_RECURRENCE | "no_recurrence"
ON_EXPIRATION | "on_expiration"
+ON_COMPLETION | "on_completion"
diff --git a/docs/AchievementBase.md b/docs/AchievementBase.md
index 049729a0..20c9d4ce 100644
--- a/docs/AchievementBase.md
+++ b/docs/AchievementBase.md
@@ -12,7 +12,7 @@ Name | Type | Description | Notes
**target** | [**BigDecimal**](BigDecimal.md) | The required number of actions or the transactional milestone to complete the achievement. | [optional]
**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]
**periodEndOverride** | [**TimePoint**](TimePoint.md) | | [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. | [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**](OffsetDateTime.md) | The achievement's start date when `activationPolicy` is set to `fixed_schedule`. **Note:** It must be an RFC3339 timestamp string. | [optional]
**endDate** | [**OffsetDateTime**](OffsetDateTime.md) | 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]
@@ -25,6 +25,7 @@ Name | Value
---- | -----
NO_RECURRENCE | "no_recurrence"
ON_EXPIRATION | "on_expiration"
+ON_COMPLETION | "on_completion"
diff --git a/docs/AchievementProgressWithDefinition.md b/docs/AchievementProgressWithDefinition.md
index adc274ab..2a3415b6 100644
--- a/docs/AchievementProgressWithDefinition.md
+++ b/docs/AchievementProgressWithDefinition.md
@@ -18,7 +18,7 @@ Name | Type | Description | Notes
**description** | **String** | The description of the achievement in the Campaign Manager. |
**campaignId** | **Long** | The ID of the campaign the achievement belongs to. |
**target** | [**BigDecimal**](BigDecimal.md) | The required number of actions or the transactional milestone to complete the achievement. | [optional]
-**achievementRecurrencePolicy** | [**AchievementRecurrencePolicyEnum**](#AchievementRecurrencePolicyEnum) | 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. |
+**achievementRecurrencePolicy** | [**AchievementRecurrencePolicyEnum**](#AchievementRecurrencePolicyEnum) | 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. |
**achievementActivationPolicy** | [**AchievementActivationPolicyEnum**](#AchievementActivationPolicyEnum) | 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. |
**achievementFixedStartDate** | [**OffsetDateTime**](OffsetDateTime.md) | The achievement's start date when `achievementActivationPolicy` is equal to `fixed_schedule`. **Note:** It is an RFC3339 timestamp string. | [optional]
**achievementEndDate** | [**OffsetDateTime**](OffsetDateTime.md) | The achievement's end date. If defined, customers cannot participate in the achievement after this date. **Note:** It is an RFC3339 timestamp string. | [optional]
@@ -42,6 +42,7 @@ Name | Value
---- | -----
NO_RECURRENCE | "no_recurrence"
ON_EXPIRATION | "on_expiration"
+ON_COMPLETION | "on_completion"
diff --git a/docs/AchievementStatusEntry.md b/docs/AchievementStatusEntry.md
index fa44fd9f..82a24235 100644
--- a/docs/AchievementStatusEntry.md
+++ b/docs/AchievementStatusEntry.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**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. |
@@ -14,7 +14,7 @@ Name | Type | Description | Notes
**target** | [**BigDecimal**](BigDecimal.md) | 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]
**periodEndOverride** | [**TimePoint**](TimePoint.md) | | [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. | [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**](OffsetDateTime.md) | The achievement's start date when `activationPolicy` is set to `fixed_schedule`. **Note:** It must be an RFC3339 timestamp string. | [optional]
**endDate** | [**OffsetDateTime**](OffsetDateTime.md) | 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]
@@ -30,6 +30,7 @@ Name | Value
---- | -----
NO_RECURRENCE | "no_recurrence"
ON_EXPIRATION | "on_expiration"
+ON_COMPLETION | "on_completion"
diff --git a/docs/AddPriceAdjustmentCatalogAction.md b/docs/AddPriceAdjustmentCatalogAction.md
new file mode 100644
index 00000000..329d41a2
--- /dev/null
+++ b/docs/AddPriceAdjustmentCatalogAction.md
@@ -0,0 +1,14 @@
+
+
+# AddPriceAdjustmentCatalogAction
+
+The specific properties of the \"ADD_PRICE_ADJUSTMENT\" catalog sync action.
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**sku** | **String** | The SKU of the item for which the price is being adjusted. |
+**adjustments** | [**List<NewPriceAdjustment>**](NewPriceAdjustment.md) | A list of adjustments to apply to a given item. |
+
+
+
diff --git a/docs/AddedDeductedPointsBalancesNotificationPolicy.md b/docs/AddedDeductedPointsBalancesNotificationPolicy.md
new file mode 100644
index 00000000..6d029fbf
--- /dev/null
+++ b/docs/AddedDeductedPointsBalancesNotificationPolicy.md
@@ -0,0 +1,24 @@
+
+
+# AddedDeductedPointsBalancesNotificationPolicy
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **String** | Notification name. |
+**scopes** | [**List<ScopesEnum>**](#List<ScopesEnum>) | |
+
+
+
+## Enum: List<ScopesEnum>
+
+Name | Value
+---- | -----
+ALL | "all"
+CAMPAIGN_MANAGER | "campaign_manager"
+MANAGEMENT_API | "management_api"
+RULE_ENGINE | "rule_engine"
+
+
+
diff --git a/docs/AddedDeductedPointsNotification.md b/docs/AddedDeductedPointsNotification.md
new file mode 100644
index 00000000..dbad7aeb
--- /dev/null
+++ b/docs/AddedDeductedPointsNotification.md
@@ -0,0 +1,52 @@
+
+
+# AddedDeductedPointsNotification
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**profileIntegrationID** | **String** | The integration ID of the customer profile to whom points were added or deducted. |
+**loyaltyProgramID** | **Long** | The ID of the loyalty program. |
+**subledgerID** | **String** | The ID of the subledger within the loyalty program where these points were added. |
+**amount** | [**BigDecimal**](BigDecimal.md) | The amount of added or deducted loyalty points. |
+**reason** | **String** | The reason for the points addition or deduction. |
+**typeOfChange** | [**TypeOfChangeEnum**](#TypeOfChangeEnum) | The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters) |
+**employeeName** | **String** | The name of the employee who added or deducted points. |
+**userID** | **Long** | The ID of the employee who added or deducted points. |
+**operation** | [**OperationEnum**](#OperationEnum) | The action (addition or deduction) made with loyalty points. |
+**startDate** | [**OffsetDateTime**](OffsetDateTime.md) | The start date for loyalty points. | [optional]
+**expiryDate** | [**OffsetDateTime**](OffsetDateTime.md) | The expiration date for loyalty points. | [optional]
+**sessionIntegrationID** | **String** | The integration ID of the session through which the points were earned or lost. |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of notification. |
+
+
+
+## Enum: TypeOfChangeEnum
+
+Name | Value
+---- | -----
+CAMPAIGN_MANAGER | "campaign_manager"
+RULE_ENGINE | "rule_engine"
+MANAGEMENT_API | "management_api"
+
+
+
+## Enum: OperationEnum
+
+Name | Value
+---- | -----
+ADDITION | "addition"
+DEDUCTION | "deduction"
+
+
+
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+LOYALTYPOINTSDEDUCTED | "LoyaltyPointsDeducted"
+LOYALTYPOINTSADDED | "LoyaltyPointsAdded"
+
+
+
diff --git a/docs/Application.md b/docs/Application.md
index 8a48a665..9ff7f51e 100644
--- a/docs/Application.md
+++ b/docs/Application.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**modified** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was last modified. |
**accountId** | **Long** | The ID of the account that owns this entity. |
diff --git a/docs/ApplicationCIF.md b/docs/ApplicationCIF.md
index 0ca112c6..b770e911 100644
--- a/docs/ApplicationCIF.md
+++ b/docs/ApplicationCIF.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**name** | **String** | The name of the Application cart item filter used in API requests. |
**description** | **String** | A short description of the Application cart item filter. | [optional]
diff --git a/docs/ApplicationCIFExpression.md b/docs/ApplicationCIFExpression.md
index 47591c76..5c2323f8 100644
--- a/docs/ApplicationCIFExpression.md
+++ b/docs/ApplicationCIFExpression.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**cartItemFilterId** | **Long** | The ID of the Application cart item filter. | [optional]
**createdBy** | **Long** | The ID of the user who created the Application cart item filter. | [optional]
diff --git a/docs/ApplicationCustomer.md b/docs/ApplicationCustomer.md
index fe05c12d..453bee81 100644
--- a/docs/ApplicationCustomer.md
+++ b/docs/ApplicationCustomer.md
@@ -6,12 +6,12 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of the customer profile. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**integrationId** | **String** | The integration ID set by your integration layer. |
**attributes** | [**Object**](.md) | Arbitrary properties associated with this item. |
**accountId** | **Long** | The ID of the Talon.One account that owns this profile. |
-**closedSessions** | **Long** | The total amount of closed sessions by a customer. A closed session is a successful purchase. |
+**closedSessions** | **Long** | The total number of closed sessions. Does not include closed sessions that have been cancelled or reopened. See the [docs](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states). |
**totalSales** | [**BigDecimal**](BigDecimal.md) | The total amount of money spent by the customer **before** discounts are applied. The total sales amount excludes the following: - Cancelled or reopened sessions. - Returned items. |
**loyaltyMemberships** | [**List<LoyaltyMembership>**](LoyaltyMembership.md) | **DEPRECATED** A list of loyalty programs joined by the customer. | [optional]
**audienceMemberships** | [**List<AudienceMembership>**](AudienceMembership.md) | The audiences the customer belongs to. | [optional]
diff --git a/docs/ApplicationEvent.md b/docs/ApplicationEvent.md
index a4012c5f..3af451df 100644
--- a/docs/ApplicationEvent.md
+++ b/docs/ApplicationEvent.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**applicationId** | **Long** | The ID of the Application that owns this entity. |
**profileId** | **Long** | The globally unique Talon.One ID of the customer that created this entity. | [optional]
diff --git a/docs/ApplicationSession.md b/docs/ApplicationSession.md
index 63cc076c..fabb2957 100644
--- a/docs/ApplicationSession.md
+++ b/docs/ApplicationSession.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**integrationId** | **String** | The integration ID set by your integration layer. |
**storeIntegrationId** | **String** | The integration ID of the store. You choose this ID when you create a store. | [optional]
diff --git a/docs/AsyncCouponsData.md b/docs/AsyncCouponsData.md
new file mode 100644
index 00000000..4ec12b07
--- /dev/null
+++ b/docs/AsyncCouponsData.md
@@ -0,0 +1,15 @@
+
+
+# AsyncCouponsData
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**batchID** | **String** | The ID of the batch to which the coupon belongs. **Note:** The Batch ID is generated when coupons are created. |
+**typeOfChange** | **String** | |
+**operation** | **String** | |
+**employeeName** | **String** | |
+
+
+
diff --git a/docs/Attribute.md b/docs/Attribute.md
index 1ec79752..69a537c7 100644
--- a/docs/Attribute.md
+++ b/docs/Attribute.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**accountId** | **Long** | The ID of the account that owns this entity. |
**entity** | [**EntityEnum**](#EntityEnum) | The name of the entity that can have this attribute. When creating or updating the entities of a given type, you can include an `attributes` object with keys corresponding to the `name` of the custom attributes for that type. |
diff --git a/docs/Audience.md b/docs/Audience.md
index 082417a3..ab7c334e 100644
--- a/docs/Audience.md
+++ b/docs/Audience.md
@@ -7,7 +7,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**accountId** | **Long** | The ID of the account that owns this entity. |
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**name** | **String** | The human-friendly display name for this audience. |
**sandbox** | **Boolean** | Indicates if this is a live or sandbox Application. | [optional]
diff --git a/docs/AudienceCustomer.md b/docs/AudienceCustomer.md
index 4f6a02d8..191d183f 100644
--- a/docs/AudienceCustomer.md
+++ b/docs/AudienceCustomer.md
@@ -6,12 +6,12 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of the customer profile. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**integrationId** | **String** | The integration ID set by your integration layer. |
**attributes** | [**Object**](.md) | Arbitrary properties associated with this item. |
**accountId** | **Long** | The ID of the Talon.One account that owns this profile. |
-**closedSessions** | **Long** | The total amount of closed sessions by a customer. A closed session is a successful purchase. |
+**closedSessions** | **Long** | The total number of closed sessions. Does not include closed sessions that have been cancelled or reopened. See the [docs](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states). |
**totalSales** | [**BigDecimal**](BigDecimal.md) | The total amount of money spent by the customer **before** discounts are applied. The total sales amount excludes the following: - Cancelled or reopened sessions. - Returned items. |
**loyaltyMemberships** | [**List<LoyaltyMembership>**](LoyaltyMembership.md) | **DEPRECATED** A list of loyalty programs joined by the customer. | [optional]
**audienceMemberships** | [**List<AudienceMembership>**](AudienceMembership.md) | The audiences the customer belongs to. | [optional]
diff --git a/docs/BaseNotification.md b/docs/BaseNotification.md
index 47d86cd7..24264751 100644
--- a/docs/BaseNotification.md
+++ b/docs/BaseNotification.md
@@ -21,6 +21,8 @@ Name | Value
CAMPAIGN | "campaign"
LOYALTY_ADDED_DEDUCTED_POINTS | "loyalty_added_deducted_points"
CARD_ADDED_DEDUCTED_POINTS | "card_added_deducted_points"
+LOYALTY_ADDED_DEDUCTED_POINTS_BALANCES | "loyalty_added_deducted_points_balances"
+LOYALTY_CARD_ADDED_DEDUCTED_POINTS_BALANCES | "loyalty_card_added_deducted_points_balances"
COUPON | "coupon"
EXPIRING_COUPONS | "expiring_coupons"
EXPIRING_POINTS | "expiring_points"
diff --git a/docs/BaseNotificationWebhook.md b/docs/BaseNotificationWebhook.md
index 2328c9fe..5ad011ba 100644
--- a/docs/BaseNotificationWebhook.md
+++ b/docs/BaseNotificationWebhook.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**modified** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was last modified. |
**url** | **String** | API URL for the given webhook-based notification. |
diff --git a/docs/Binding.md b/docs/Binding.md
index 013c57ca..9bad76cd 100644
--- a/docs/Binding.md
+++ b/docs/Binding.md
@@ -10,6 +10,10 @@ Name | Type | Description | Notes
**type** | **String** | The kind of binding. Possible values are: - `bundle` - `cartItemFilter` - `subledgerBalance` - `templateParameter` | [optional]
**expression** | **List<Object>** | A Talang expression that will be evaluated and its result attached to the name of the binding. |
**valueType** | **String** | Can be one of the following: - `string` - `number` - `boolean` | [optional]
+**minValue** | [**BigDecimal**](BigDecimal.md) | The minimum value allowed for this placeholder. | [optional]
+**maxValue** | [**BigDecimal**](BigDecimal.md) | The maximum value allowed for this placeholder. | [optional]
+**attributeId** | **Long** | Id of the attribute attached to the placeholder. | [optional]
+**description** | **String** | Describes the placeholder field and value in the template. This description can be used when creating campaigns from this template. | [optional]
diff --git a/docs/CampaignCollection.md b/docs/CampaignCollection.md
index 3ba437f1..acb25470 100644
--- a/docs/CampaignCollection.md
+++ b/docs/CampaignCollection.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**accountId** | **Long** | The ID of the account that owns this entity. |
**modified** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was last modified. |
diff --git a/docs/CampaignCollectionWithoutPayload.md b/docs/CampaignCollectionWithoutPayload.md
index eb6aa0a8..8a25e02e 100644
--- a/docs/CampaignCollectionWithoutPayload.md
+++ b/docs/CampaignCollectionWithoutPayload.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**accountId** | **Long** | The ID of the account that owns this entity. |
**modified** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was last modified. |
diff --git a/docs/CampaignDeactivationRequest.md b/docs/CampaignDeactivationRequest.md
new file mode 100644
index 00000000..e3706f5c
--- /dev/null
+++ b/docs/CampaignDeactivationRequest.md
@@ -0,0 +1,12 @@
+
+
+# CampaignDeactivationRequest
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**userIds** | **List<Long>** | The list of IDs of the users receiving the deactivation request emails. |
+
+
+
diff --git a/docs/CampaignEvaluationTreeChangedMessage.md b/docs/CampaignEvaluationTreeChangedMessage.md
new file mode 100644
index 00000000..f55c9841
--- /dev/null
+++ b/docs/CampaignEvaluationTreeChangedMessage.md
@@ -0,0 +1,13 @@
+
+
+# CampaignEvaluationTreeChangedMessage
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**data** | [**List<ApplicationNotification>**](ApplicationNotification.md) | The array of changes. | [optional]
+**totalResultSize** | **Long** | | [optional]
+
+
+
diff --git a/docs/CampaignGroup.md b/docs/CampaignGroup.md
index 49f7bae8..70b837f9 100644
--- a/docs/CampaignGroup.md
+++ b/docs/CampaignGroup.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**modified** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was last modified. |
**accountId** | **Long** | The ID of the account that owns this entity. |
diff --git a/docs/CampaignNotificationData.md b/docs/CampaignNotificationData.md
new file mode 100644
index 00000000..eaec65d3
--- /dev/null
+++ b/docs/CampaignNotificationData.md
@@ -0,0 +1,14 @@
+
+
+# CampaignNotificationData
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**notification** | [**CampaignNotification**](CampaignNotification.md) | |
+**accountID** | **Long** | |
+**applicationID** | **Long** | |
+
+
+
diff --git a/docs/CampaignNotificationMessage.md b/docs/CampaignNotificationMessage.md
new file mode 100644
index 00000000..09603cc4
--- /dev/null
+++ b/docs/CampaignNotificationMessage.md
@@ -0,0 +1,13 @@
+
+
+# CampaignNotificationMessage
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**totalResultSize** | **Long** | The total size of the result set. |
+**data** | [**List<CampaignNotificationData>**](CampaignNotificationData.md) | A list of campaign notification data. |
+
+
+
diff --git a/docs/CampaignSet.md b/docs/CampaignSet.md
index 24275c4d..ff1d1098 100644
--- a/docs/CampaignSet.md
+++ b/docs/CampaignSet.md
@@ -7,7 +7,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**applicationId** | **Long** | The ID of the Application that owns this entity. |
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**version** | **Long** | Version of the campaign set. |
**set** | [**CampaignSetBranchNode**](CampaignSetBranchNode.md) | |
**updatedBy** | **String** | Name of the user who last updated this campaign set, if available. | [optional]
diff --git a/docs/CampaignStoreBudget.md b/docs/CampaignStoreBudget.md
index a7f3bd54..0a078661 100644
--- a/docs/CampaignStoreBudget.md
+++ b/docs/CampaignStoreBudget.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**campaignId** | **Long** | The ID of the campaign that owns this entity. |
**storeId** | **Long** | The ID of the store. |
diff --git a/docs/CampaignTemplate.md b/docs/CampaignTemplate.md
index 6d3b0b7f..35f78b19 100644
--- a/docs/CampaignTemplate.md
+++ b/docs/CampaignTemplate.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**accountId** | **Long** | The ID of the account that owns this entity. |
**userId** | **Long** | The ID of the user associated with this entity. |
diff --git a/docs/CardAddedDeductedPointsBalancesNotificationPolicy.md b/docs/CardAddedDeductedPointsBalancesNotificationPolicy.md
new file mode 100644
index 00000000..26c3c7f5
--- /dev/null
+++ b/docs/CardAddedDeductedPointsBalancesNotificationPolicy.md
@@ -0,0 +1,24 @@
+
+
+# CardAddedDeductedPointsBalancesNotificationPolicy
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **String** | Notification name. |
+**scopes** | [**List<ScopesEnum>**](#List<ScopesEnum>) | |
+
+
+
+## Enum: List<ScopesEnum>
+
+Name | Value
+---- | -----
+ALL | "all"
+CAMPAIGN_MANAGER | "campaign_manager"
+MANAGEMENT_API | "management_api"
+RULE_ENGINE | "rule_engine"
+
+
+
diff --git a/docs/CardAddedDeductedPointsNotification.md b/docs/CardAddedDeductedPointsNotification.md
new file mode 100644
index 00000000..8c57b8f6
--- /dev/null
+++ b/docs/CardAddedDeductedPointsNotification.md
@@ -0,0 +1,54 @@
+
+
+# CardAddedDeductedPointsNotification
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**profileIntegrationIDs** | **List<String>** | The integration ID of the customer profile to whom points were added or deducted. |
+**loyaltyProgramID** | **Long** | The ID of the loyalty program. |
+**subledgerID** | **String** | The ID of the subledger within the loyalty program where these points were added or deducted. |
+**amount** | [**BigDecimal**](BigDecimal.md) | The amount of added or deducted loyalty points. |
+**reason** | **String** | The reason for the points addition or deduction. |
+**typeOfChange** | [**TypeOfChangeEnum**](#TypeOfChangeEnum) | The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters) |
+**employeeName** | **String** | The name of the employee who added or deducted points. |
+**userID** | **Long** | The ID of the employee who added or deducted points. |
+**operation** | [**OperationEnum**](#OperationEnum) | The action (addition or deduction) made with loyalty points. |
+**startDate** | [**OffsetDateTime**](OffsetDateTime.md) | The start date for loyalty points. | [optional]
+**expiryDate** | [**OffsetDateTime**](OffsetDateTime.md) | The expiration date for loyalty points. | [optional]
+**sessionIntegrationID** | **String** | The integration ID of the session through which the points were earned or lost. |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of notification. |
+**cardIdentifier** | **String** | Loyalty card identification number. |
+**usersPerCardLimit** | **Long** | The max amount of user profiles with whom a card can be shared. This can be set to `0` for no limit. |
+
+
+
+## Enum: TypeOfChangeEnum
+
+Name | Value
+---- | -----
+CAMPAIGN_MANAGER | "campaign_manager"
+RULE_ENGINE | "rule_engine"
+MANAGEMENT_API | "management_api"
+
+
+
+## Enum: OperationEnum
+
+Name | Value
+---- | -----
+ADDITION | "addition"
+DEDUCTION | "deduction"
+
+
+
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+LOYALTYCARDPOINTSDEDUCTED | "LoyaltyCardPointsDeducted"
+LOYALTYCARDPOINTSADDED | "LoyaltyCardPointsAdded"
+
+
+
diff --git a/docs/CartItem.md b/docs/CartItem.md
index fff32208..e25ebcf3 100644
--- a/docs/CartItem.md
+++ b/docs/CartItem.md
@@ -21,7 +21,12 @@ Name | Type | Description | Notes
**position** | [**BigDecimal**](BigDecimal.md) | Position of the Cart Item in the Cart (calculated internally). | [optional]
**attributes** | [**Object**](.md) | Use this property to set a value for the attributes of your choice. [Attributes](https://docs.talon.one/docs/dev/concepts/attributes) represent any information to attach to this cart item. Custom _cart item_ attributes must be created in the Campaign Manager before you set them with this property. **Note:** Any previously defined attributes that you do not include in the array will be removed. | [optional]
**additionalCosts** | [**Map<String, AdditionalCost>**](AdditionalCost.md) | Use this property to set a value for the additional costs of this item, such as a shipping cost. They must be created in the Campaign Manager before you set them with this property. See [Managing additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs). | [optional]
-**catalogItemID** | **Long** | The [catalog item ID](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs/#synchronizing-a-cart-item-catalog). | [optional]
+**catalogItemID** | **Long** | The catalog item ID. | [optional]
+**selectedPriceType** | **String** | The selected price type for this cart item (e.g. the price for members only). | [optional]
+**adjustmentReferenceId** | [**UUID**](UUID.md) | The reference ID of the selected price adjustment for this cart item. Only returned if the selected price resulted from a price adjustment. | [optional]
+**adjustmentEffectiveFrom** | [**OffsetDateTime**](OffsetDateTime.md) | The date and time from which the price adjustment is effective. Only returned if the selected price resulted from a price adjustment that contains this field. | [optional]
+**adjustmentEffectiveUntil** | [**OffsetDateTime**](OffsetDateTime.md) | The date and time until which the price adjustment is effective. Only returned if the selected price resulted from a price adjustment that contains this field. | [optional]
+**prices** | [**Map<String, PriceDetail>**](PriceDetail.md) | A map of keys and values representing the price types and related price adjustment details for this cart item. The keys correspond to the `priceType` names. | [optional]
diff --git a/docs/Catalog.md b/docs/Catalog.md
index cb2cf8cc..0a5e556e 100644
--- a/docs/Catalog.md
+++ b/docs/Catalog.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**accountId** | **Long** | The ID of the account that owns this entity. |
**modified** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was last modified. |
diff --git a/docs/CatalogAction.md b/docs/CatalogAction.md
index 9ed94318..d6c78874 100644
--- a/docs/CatalogAction.md
+++ b/docs/CatalogAction.md
@@ -21,6 +21,7 @@ PATCH | "PATCH"
PATCH_MANY | "PATCH_MANY"
REMOVE | "REMOVE"
REMOVE_MANY | "REMOVE_MANY"
+ADD_PRICE_ADJUSTMENT | "ADD_PRICE_ADJUSTMENT"
diff --git a/docs/CatalogItem.md b/docs/CatalogItem.md
index 1a4f3020..34c1433b 100644
--- a/docs/CatalogItem.md
+++ b/docs/CatalogItem.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**sku** | **String** | The stock keeping unit of the item. |
**price** | [**BigDecimal**](BigDecimal.md) | Price of the item. | [optional]
diff --git a/docs/Change.md b/docs/Change.md
index 40a62011..3e100cef 100644
--- a/docs/Change.md
+++ b/docs/Change.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**userId** | **Long** | The ID of the user associated with this entity. |
**applicationId** | **Long** | ID of application associated with change. | [optional]
diff --git a/docs/Collection.md b/docs/Collection.md
index 87327e1a..f36a9037 100644
--- a/docs/Collection.md
+++ b/docs/Collection.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**accountId** | **Long** | The ID of the account that owns this entity. |
**modified** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was last modified. |
diff --git a/docs/CollectionWithoutPayload.md b/docs/CollectionWithoutPayload.md
index 76426dc8..639d4d65 100644
--- a/docs/CollectionWithoutPayload.md
+++ b/docs/CollectionWithoutPayload.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**accountId** | **Long** | The ID of the account that owns this entity. |
**modified** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was last modified. |
diff --git a/docs/Coupon.md b/docs/Coupon.md
index 913e2a3c..f132b3b3 100644
--- a/docs/Coupon.md
+++ b/docs/Coupon.md
@@ -6,8 +6,8 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
-**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
+**id** | **Long** | The internal ID of the coupon. |
+**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time the coupon was created. |
**campaignId** | **Long** | The ID of the campaign that owns this entity. |
**value** | **String** | The coupon code. |
**usageLimit** | **Long** | The number of times the coupon code can be redeemed. `0` means unlimited redemptions but any campaign usage limits will still apply. |
diff --git a/docs/CouponCreationJob.md b/docs/CouponCreationJob.md
index ef1e7721..12858022 100644
--- a/docs/CouponCreationJob.md
+++ b/docs/CouponCreationJob.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**campaignId** | **Long** | The ID of the campaign that owns this entity. |
**applicationId** | **Long** | The ID of the Application that owns this entity. |
diff --git a/docs/CouponDeletionJob.md b/docs/CouponDeletionJob.md
index 96dafc44..d9697cb2 100644
--- a/docs/CouponDeletionJob.md
+++ b/docs/CouponDeletionJob.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**applicationId** | **Long** | The ID of the Application that owns this entity. |
**accountId** | **Long** | The ID of the account that owns this entity. |
diff --git a/docs/CouponEntity.md b/docs/CouponEntity.md
new file mode 100644
index 00000000..5e48f920
--- /dev/null
+++ b/docs/CouponEntity.md
@@ -0,0 +1,13 @@
+
+
+# CouponEntity
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **Long** | The internal ID of the coupon. |
+**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time the coupon was created. |
+
+
+
diff --git a/docs/CouponsNotificationData.md b/docs/CouponsNotificationData.md
new file mode 100644
index 00000000..eaebfa27
--- /dev/null
+++ b/docs/CouponsNotificationData.md
@@ -0,0 +1,16 @@
+
+
+# CouponsNotificationData
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**typeOfChange** | **String** | The type of change that occurred. |
+**operation** | **String** | The operation performed. |
+**employeeName** | **String** | The name of the employee associated with the operation. |
+**data** | [**List<ExtendedCoupon>**](ExtendedCoupon.md) | A list of extended coupon data. | [optional]
+**totalResultSize** | **Long** | | [optional]
+
+
+
diff --git a/docs/CreateAchievement.md b/docs/CreateAchievement.md
index 89b8f9c0..1fbfb220 100644
--- a/docs/CreateAchievement.md
+++ b/docs/CreateAchievement.md
@@ -12,7 +12,7 @@ Name | Type | Description | Notes
**target** | [**BigDecimal**](BigDecimal.md) | 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]
**periodEndOverride** | [**TimePoint**](TimePoint.md) | | [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. | [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**](OffsetDateTime.md) | The achievement's start date when `activationPolicy` is set to `fixed_schedule`. **Note:** It must be an RFC3339 timestamp string. | [optional]
**endDate** | [**OffsetDateTime**](OffsetDateTime.md) | 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]
@@ -25,6 +25,7 @@ Name | Value
---- | -----
NO_RECURRENCE | "no_recurrence"
ON_EXPIRATION | "on_expiration"
+ON_COMPLETION | "on_completion"
diff --git a/docs/CreateCouponData.md b/docs/CreateCouponData.md
new file mode 100644
index 00000000..f240cc25
--- /dev/null
+++ b/docs/CreateCouponData.md
@@ -0,0 +1,17 @@
+
+
+# CreateCouponData
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**data** | [**List<ExtendedCoupon>**](ExtendedCoupon.md) | The array of coupons codes. If 1000 or fewer coupons are requested, all coupon data is sent. If 1001 or more coupons are requested, only `BatchID` is sent. | [optional]
+**totalResultSize** | **Long** | | [optional]
+**batchID** | **String** | The ID of the batch to which the coupon belongs. **Note:** The Batch ID is generated when coupons are created. | [optional]
+**typeOfChange** | **String** | |
+**operation** | **String** | |
+**employeeName** | **String** | |
+
+
+
diff --git a/docs/CustomEffect.md b/docs/CustomEffect.md
index 51032138..1f85d188 100644
--- a/docs/CustomEffect.md
+++ b/docs/CustomEffect.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**accountId** | **Long** | The ID of the account that owns this entity. |
**modified** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was last modified. |
diff --git a/docs/CustomerProfile.md b/docs/CustomerProfile.md
index 06fafffa..5565f102 100644
--- a/docs/CustomerProfile.md
+++ b/docs/CustomerProfile.md
@@ -6,12 +6,12 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of the customer profile. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**integrationId** | **String** | The integration ID set by your integration layer. |
**attributes** | [**Object**](.md) | Arbitrary properties associated with this item. |
**accountId** | **Long** | The ID of the Talon.One account that owns this profile. |
-**closedSessions** | **Long** | The total amount of closed sessions by a customer. A closed session is a successful purchase. |
+**closedSessions** | **Long** | The total number of closed sessions. Does not include closed sessions that have been cancelled or reopened. See the [docs](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states). |
**totalSales** | [**BigDecimal**](BigDecimal.md) | The total amount of money spent by the customer **before** discounts are applied. The total sales amount excludes the following: - Cancelled or reopened sessions. - Returned items. |
**loyaltyMemberships** | [**List<LoyaltyMembership>**](LoyaltyMembership.md) | **DEPRECATED** A list of loyalty programs joined by the customer. | [optional]
**audienceMemberships** | [**List<AudienceMembership>**](AudienceMembership.md) | The audiences the customer belongs to. | [optional]
diff --git a/docs/CustomerProfileEntity.md b/docs/CustomerProfileEntity.md
new file mode 100644
index 00000000..bcc71d5c
--- /dev/null
+++ b/docs/CustomerProfileEntity.md
@@ -0,0 +1,13 @@
+
+
+# CustomerProfileEntity
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **Long** | The internal ID of the customer profile. |
+**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time the customer profile was created. |
+
+
+
diff --git a/docs/CustomerSessionV2.md b/docs/CustomerSessionV2.md
index c8657440..fdfdcee8 100644
--- a/docs/CustomerSessionV2.md
+++ b/docs/CustomerSessionV2.md
@@ -7,7 +7,7 @@ The representation of the customer session.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**integrationId** | **String** | The integration ID set by your integration layer. |
**applicationId** | **Long** | The ID of the Application that owns this entity. |
diff --git a/docs/DeleteCouponsData.md b/docs/DeleteCouponsData.md
new file mode 100644
index 00000000..bc6f35a1
--- /dev/null
+++ b/docs/DeleteCouponsData.md
@@ -0,0 +1,18 @@
+
+
+# DeleteCouponsData
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**typeOfChange** | **String** | |
+**operation** | **String** | |
+**employeeName** | **String** | |
+**batchID** | **String** | |
+**applicationID** | **Long** | |
+**campaignID** | **Long** | |
+**totalResultSize** | **Long** | |
+
+
+
diff --git a/docs/Effect.md b/docs/Effect.md
index 5ba627e5..7a01c903 100644
--- a/docs/Effect.md
+++ b/docs/Effect.md
@@ -19,7 +19,10 @@ Name | Type | Description | Notes
**evaluationGroupMode** | **String** | The evaluation mode of the evaluation group. For more information, see [Managing campaign evaluation](https://docs.talon.one/docs/product/applications/managing-campaign-evaluation). | [optional]
**campaignRevisionId** | **Long** | The revision ID of the campaign that was used when triggering the effect. | [optional]
**campaignRevisionVersionId** | **Long** | The revision version ID of the campaign that was used when triggering the effect. | [optional]
-**props** | [**Object**](.md) | The properties of the effect. See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects). |
+**selectedPriceType** | **String** | The selected price type for the SKU targeted by this effect. | [optional]
+**selectedPrice** | [**BigDecimal**](BigDecimal.md) | The value of the selected price type to apply to the SKU targeted by this effect, before any discounts are applied. | [optional]
+**adjustmentReferenceId** | [**UUID**](UUID.md) | The reference identifier of the selected price adjustment for this SKU. This is only returned if the `selectedPrice` resulted from a price adjustment. | [optional]
+**props** | [**Object**](.md) | |
diff --git a/docs/EffectEntity.md b/docs/EffectEntity.md
index 28953626..b16fd2ef 100644
--- a/docs/EffectEntity.md
+++ b/docs/EffectEntity.md
@@ -19,6 +19,9 @@ Name | Type | Description | Notes
**evaluationGroupMode** | **String** | The evaluation mode of the evaluation group. For more information, see [Managing campaign evaluation](https://docs.talon.one/docs/product/applications/managing-campaign-evaluation). | [optional]
**campaignRevisionId** | **Long** | The revision ID of the campaign that was used when triggering the effect. | [optional]
**campaignRevisionVersionId** | **Long** | The revision version ID of the campaign that was used when triggering the effect. | [optional]
+**selectedPriceType** | **String** | The selected price type for the SKU targeted by this effect. | [optional]
+**selectedPrice** | [**BigDecimal**](BigDecimal.md) | The value of the selected price type to apply to the SKU targeted by this effect, before any discounts are applied. | [optional]
+**adjustmentReferenceId** | [**UUID**](UUID.md) | The reference identifier of the selected price adjustment for this SKU. This is only returned if the `selectedPrice` resulted from a price adjustment. | [optional]
diff --git a/docs/Entity.md b/docs/Entity.md
index 707445ec..1b4f579b 100644
--- a/docs/Entity.md
+++ b/docs/Entity.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
diff --git a/docs/Environment.md b/docs/Environment.md
index a617508a..d41c5141 100644
--- a/docs/Environment.md
+++ b/docs/Environment.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**applicationId** | **Long** | The ID of the Application that owns this entity. |
**slots** | [**List<SlotDef>**](SlotDef.md) | The slots defined for this application. |
@@ -21,6 +21,7 @@ Name | Type | Description | Notes
**audiences** | [**List<Audience>**](Audience.md) | The audiences contained in the account which the application belongs to. | [optional]
**collections** | [**List<Collection>**](Collection.md) | The account-level collections that the application is subscribed to. | [optional]
**applicationCartItemFilters** | [**List<ApplicationCIF>**](ApplicationCIF.md) | The cart item filters belonging to the Application. | [optional]
+**priceTypes** | [**List<PriceType>**](PriceType.md) | The price types that this Application can use. | [optional]
diff --git a/docs/Event.md b/docs/Event.md
index 20a703c3..a9035102 100644
--- a/docs/Event.md
+++ b/docs/Event.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | 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]
diff --git a/docs/EventType.md b/docs/EventType.md
index e0a406be..9b814bfd 100644
--- a/docs/EventType.md
+++ b/docs/EventType.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**title** | **String** | The human-friendly name for this event type. |
**name** | **String** | The integration name for this event type. This will be used in URLs and cannot be changed after an event type has been created. |
diff --git a/docs/ExpiringCardPointsData.md b/docs/ExpiringCardPointsData.md
new file mode 100644
index 00000000..e699fad4
--- /dev/null
+++ b/docs/ExpiringCardPointsData.md
@@ -0,0 +1,18 @@
+
+
+# ExpiringCardPointsData
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**expiryDate** | [**LocalDate**](LocalDate.md) | The expiration date of loyalty points. |
+**loyaltyProgramID** | **Long** | The ID of the loyalty program. |
+**amountOfExpiringPoints** | [**BigDecimal**](BigDecimal.md) | The amount of loyalty points that will be expired soon. |
+**subledgerID** | **String** | The ID of the subledger within the loyalty program where these points were added. |
+**cardIdentifier** | **String** | The alphanumeric identifier of the loyalty card. |
+**usersPerCardLimit** | **Long** | The maximum number of customer profiles with which a card can be shared. This can be set to `0` for no limit. |
+**profiles** | **List<String>** | The integration IDs of the customer profiles linked to the card. |
+
+
+
diff --git a/docs/ExpiringCardPointsNotification.md b/docs/ExpiringCardPointsNotification.md
new file mode 100644
index 00000000..110b6f64
--- /dev/null
+++ b/docs/ExpiringCardPointsNotification.md
@@ -0,0 +1,22 @@
+
+
+# ExpiringCardPointsNotification
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**totalResultSize** | **Long** | |
+**data** | [**List<ExpiringCardPointsData>**](ExpiringCardPointsData.md) | The array of expiring points. |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of notification. |
+
+
+
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+LOYALTYCARDPOINTSEXPIRING | "LoyaltyCardPointsExpiring"
+
+
+
diff --git a/docs/ExpiringCouponsData.md b/docs/ExpiringCouponsData.md
new file mode 100644
index 00000000..a2a325df
--- /dev/null
+++ b/docs/ExpiringCouponsData.md
@@ -0,0 +1,21 @@
+
+
+# ExpiringCouponsData
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**couponValue** | **String** | The coupon code. |
+**createdDate** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp at which point the coupon was created. | [optional]
+**validFrom** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp at which point the coupon becomes valid. | [optional]
+**validUntil** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp at which point the coupon expires. Coupon never expires if this is omitted, zero, or negative. | [optional]
+**campaignId** | **Long** | The ID of the campaign to which the coupon belongs. |
+**customerProfileId** | **String** | The Integration ID of the customer that is allowed to redeem this coupon. | [optional]
+**usageLimit** | **Long** | The number of times the coupon code can be redeemed. `0` means unlimited redemptions but any campaign usage limits will still apply. |
+**usageCounter** | **Long** | The number of times the coupon has been successfully redeemed. |
+**batchId** | **String** | The ID of the batch the coupon belongs to. | [optional]
+**attributes** | [**Object**](.md) | Custom attributes associated with this coupon. |
+
+
+
diff --git a/docs/ExpiringCouponsNotification.md b/docs/ExpiringCouponsNotification.md
new file mode 100644
index 00000000..e8791dd5
--- /dev/null
+++ b/docs/ExpiringCouponsNotification.md
@@ -0,0 +1,22 @@
+
+
+# ExpiringCouponsNotification
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**totalResultSize** | **Long** | |
+**data** | [**List<ExpiringCouponsData>**](ExpiringCouponsData.md) | The array of expiring coupon notifications. |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of notification. |
+
+
+
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+COUPONCODEEXPIRING | "CouponCodeExpiring"
+
+
+
diff --git a/docs/ExpiringPointsData.md b/docs/ExpiringPointsData.md
new file mode 100644
index 00000000..4debf9e7
--- /dev/null
+++ b/docs/ExpiringPointsData.md
@@ -0,0 +1,16 @@
+
+
+# ExpiringPointsData
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**expiryDate** | [**LocalDate**](LocalDate.md) | The expiration date of loyalty points. |
+**loyaltyProgramID** | **Long** | The ID of the loyalty program. |
+**customerProfileID** | **String** | The integration ID of the customer profile that has expiring points. |
+**amountOfExpiringPoints** | [**BigDecimal**](BigDecimal.md) | The amount of loyalty points that will be expired soon. |
+**subledgerID** | **String** | The ID of the subledger within the loyalty program where these points were added. |
+
+
+
diff --git a/docs/ExpiringPointsNotification.md b/docs/ExpiringPointsNotification.md
new file mode 100644
index 00000000..7d1bd837
--- /dev/null
+++ b/docs/ExpiringPointsNotification.md
@@ -0,0 +1,22 @@
+
+
+# ExpiringPointsNotification
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**totalResultSize** | **Long** | |
+**data** | [**List<ExpiringPointsData>**](ExpiringPointsData.md) | The array of expiring points. |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of notification. |
+
+
+
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+LOYALTYPOINTSEXPIRING | "LoyaltyPointsExpiring"
+
+
+
diff --git a/docs/Export.md b/docs/Export.md
index 669afcbd..bb11ac83 100644
--- a/docs/Export.md
+++ b/docs/Export.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**accountId** | **Long** | The ID of the account that owns this entity. |
**userId** | **Long** | The ID of the user associated with this entity. |
diff --git a/docs/ExtendLoyaltyPointsExpiryDateEffectProps.md b/docs/ExtendLoyaltyPointsExpiryDateEffectProps.md
new file mode 100644
index 00000000..d98f9e0f
--- /dev/null
+++ b/docs/ExtendLoyaltyPointsExpiryDateEffectProps.md
@@ -0,0 +1,17 @@
+
+
+# ExtendLoyaltyPointsExpiryDateEffectProps
+
+The properties specific to the \"extendLoyaltyPointsExpiryDate\" effect. This gets triggered when a validated rule contains the \"extend expiry date\" effect. The current expiry date gets extended by the time frame given in the effect.
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**programId** | **Long** | ID of the loyalty program that contains these points. |
+**subLedgerId** | **String** | API name of the loyalty program subledger that contains these points. added. |
+**extensionDuration** | **String** | Time frame by which the expiry date extends. The time format is either: - immediate, or - an **integer** followed by a letter indicating the time unit. Examples: `immediate`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. |
+**transactionUUIDs** | **List<String>** | The list of identifiers of transactions affected affected by the extension. | [optional]
+**previousExpirationDate** | [**OffsetDateTime**](OffsetDateTime.md) | Expiry date before applying the extension. |
+
+
+
diff --git a/docs/ExtendedCoupon.md b/docs/ExtendedCoupon.md
new file mode 100644
index 00000000..72c9ae52
--- /dev/null
+++ b/docs/ExtendedCoupon.md
@@ -0,0 +1,34 @@
+
+
+# ExtendedCoupon
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **Long** | The internal ID of the coupon. |
+**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time the coupon was created. |
+**campaignId** | **Long** | The ID of the campaign that owns this entity. |
+**value** | **String** | The coupon code. |
+**usageLimit** | **Long** | The number of times the coupon code can be redeemed. `0` means unlimited redemptions but any campaign usage limits will still apply. |
+**discountLimit** | [**BigDecimal**](BigDecimal.md) | The total discount value that the code can give. Typically used to represent a gift card value. | [optional]
+**reservationLimit** | **Long** | The number of reservations that can be made with this coupon code. | [optional]
+**startDate** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp at which point the coupon becomes valid. | [optional]
+**expiryDate** | [**OffsetDateTime**](OffsetDateTime.md) | Expiration date of the coupon. Coupon never expires if this is omitted. | [optional]
+**limits** | [**List<LimitConfig>**](LimitConfig.md) | Limits configuration for a coupon. These limits will override the limits set from the campaign. **Note:** Only usable when creating a single coupon which is not tied to a specific recipient. Only per-profile limits are allowed to be configured. | [optional]
+**usageCounter** | **Long** | The number of times the coupon has been successfully redeemed. |
+**discountCounter** | [**BigDecimal**](BigDecimal.md) | The amount of discounts given on rules redeeming this coupon. Only usable if a coupon discount budget was set for this coupon. | [optional]
+**discountRemainder** | [**BigDecimal**](BigDecimal.md) | The remaining discount this coupon can give. | [optional]
+**reservationCounter** | [**BigDecimal**](BigDecimal.md) | The number of times this coupon has been reserved. | [optional]
+**attributes** | [**Object**](.md) | Custom attributes associated with this coupon. | [optional]
+**referralId** | **Long** | The integration ID of the referring customer (if any) for whom this coupon was created as an effect. | [optional]
+**recipientIntegrationId** | **String** | The Integration ID of the customer that is allowed to redeem this coupon. | [optional]
+**importId** | **Long** | The ID of the Import which created this coupon. | [optional]
+**reservation** | **Boolean** | Defines the reservation type: - `true`: The coupon can be reserved for multiple customers. - `false`: The coupon can be reserved only for one customer. It is a personal code. | [optional]
+**batchId** | **String** | The id of the batch the coupon belongs to. | [optional]
+**isReservationMandatory** | **Boolean** | An indication of whether the code can be redeemed only if it has been reserved first. | [optional]
+**implicitlyReserved** | **Boolean** | An indication of whether the coupon is implicitly reserved for all customers. | [optional]
+**applicationId** | **Long** | The ID of the application. |
+
+
+
diff --git a/docs/Giveaway.md b/docs/Giveaway.md
index 8ff6f2c6..f76bcaa5 100644
--- a/docs/Giveaway.md
+++ b/docs/Giveaway.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**code** | **String** | The code value of this giveaway. |
**poolId** | **Long** | The ID of the pool to return giveaway codes from. |
diff --git a/docs/GiveawaysPool.md b/docs/GiveawaysPool.md
index 426f6637..d61fb042 100644
--- a/docs/GiveawaysPool.md
+++ b/docs/GiveawaysPool.md
@@ -7,7 +7,7 @@ Giveaways pools is an entity for managing multiple similar giveaways.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**accountId** | **Long** | The ID of the account that owns this entity. |
**name** | **String** | The name of this giveaways pool. |
diff --git a/docs/InlineResponse20040.md b/docs/InlineResponse20040.md
index b3860e5b..65c55997 100644
--- a/docs/InlineResponse20040.md
+++ b/docs/InlineResponse20040.md
@@ -7,7 +7,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**totalResultSize** | **Long** | |
-**data** | [**List<WebhookActivationLogEntry>**](WebhookActivationLogEntry.md) | |
+**data** | [**List<EventType>**](EventType.md) | |
diff --git a/docs/InlineResponse20041.md b/docs/InlineResponse20041.md
index 396d94c9..9ca03828 100644
--- a/docs/InlineResponse20041.md
+++ b/docs/InlineResponse20041.md
@@ -7,7 +7,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**totalResultSize** | **Long** | |
-**data** | [**List<WebhookLogEntry>**](WebhookLogEntry.md) | |
+**data** | [**List<User>**](User.md) | |
diff --git a/docs/InlineResponse20042.md b/docs/InlineResponse20042.md
index 56ff961a..af59f592 100644
--- a/docs/InlineResponse20042.md
+++ b/docs/InlineResponse20042.md
@@ -6,8 +6,9 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**totalResultSize** | **Long** | |
-**data** | [**List<EventType>**](EventType.md) | |
+**totalResultSize** | **Long** | | [optional]
+**hasMore** | **Boolean** | | [optional]
+**data** | [**List<Change>**](Change.md) | |
diff --git a/docs/InlineResponse20043.md b/docs/InlineResponse20043.md
index 4d69f414..c15bf119 100644
--- a/docs/InlineResponse20043.md
+++ b/docs/InlineResponse20043.md
@@ -7,7 +7,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**totalResultSize** | **Long** | |
-**data** | [**List<User>**](User.md) | |
+**data** | [**List<Export>**](Export.md) | |
diff --git a/docs/InlineResponse20044.md b/docs/InlineResponse20044.md
index 5af1b6d0..03fd2ac0 100644
--- a/docs/InlineResponse20044.md
+++ b/docs/InlineResponse20044.md
@@ -6,9 +6,8 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**totalResultSize** | **Long** | | [optional]
-**hasMore** | **Boolean** | | [optional]
-**data** | [**List<Change>**](Change.md) | |
+**totalResultSize** | **Long** | |
+**data** | [**List<RoleV2>**](RoleV2.md) | |
diff --git a/docs/InlineResponse20045.md b/docs/InlineResponse20045.md
index 3712756c..024a259e 100644
--- a/docs/InlineResponse20045.md
+++ b/docs/InlineResponse20045.md
@@ -6,8 +6,9 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**totalResultSize** | **Long** | |
-**data** | [**List<Export>**](Export.md) | |
+**hasMore** | **Boolean** | | [optional]
+**totalResultSize** | **Long** | | [optional]
+**data** | [**List<Store>**](Store.md) | |
diff --git a/docs/InlineResponse20046.md b/docs/InlineResponse20046.md
index 20110f99..725df900 100644
--- a/docs/InlineResponse20046.md
+++ b/docs/InlineResponse20046.md
@@ -6,8 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**totalResultSize** | **Long** | |
-**data** | [**List<RoleV2>**](RoleV2.md) | |
+**data** | [**List<ListCampaignStoreBudgets>**](ListCampaignStoreBudgets.md) | | [optional]
diff --git a/docs/InlineResponse20047.md b/docs/InlineResponse20047.md
index c994c7d7..b3b967c7 100644
--- a/docs/InlineResponse20047.md
+++ b/docs/InlineResponse20047.md
@@ -6,9 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**hasMore** | **Boolean** | | [optional]
-**totalResultSize** | **Long** | | [optional]
-**data** | [**List<Store>**](Store.md) | |
+**data** | [**List<SummaryCampaignStoreBudget>**](SummaryCampaignStoreBudget.md) | | [optional]
diff --git a/docs/InlineResponse20050.md b/docs/InlineResponse20050.md
new file mode 100644
index 00000000..eca147aa
--- /dev/null
+++ b/docs/InlineResponse20050.md
@@ -0,0 +1,13 @@
+
+
+# InlineResponse20050
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**hasMore** | **Boolean** | | [optional]
+**data** | [**List<Achievement>**](Achievement.md) | |
+
+
+
diff --git a/docs/InlineResponse20051.md b/docs/InlineResponse20051.md
new file mode 100644
index 00000000..836b7a79
--- /dev/null
+++ b/docs/InlineResponse20051.md
@@ -0,0 +1,13 @@
+
+
+# InlineResponse20051
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**hasMore** | **Boolean** | |
+**data** | [**List<AchievementProgressWithDefinition>**](AchievementProgressWithDefinition.md) | |
+
+
+
diff --git a/docs/IntegrationApi.md b/docs/IntegrationApi.md
index 0cbf44e3..1d90729e 100644
--- a/docs/IntegrationApi.md
+++ b/docs/IntegrationApi.md
@@ -1950,7 +1950,7 @@ Name | Type | Description | Notes
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). <div class=\"redoc-section\"> <p class=\"title\">Important</p> 1. `profileId` is required even though the schema does not say it. 1. If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. 1. We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div>
+Triggers a custom event. To use this endpoint: 1. Define a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) in the Campaign Manager. 1. Update or create a rule to check for this event. 1. Trigger the event with this endpoint. After you have successfully sent an event to Talon.One, you can list the received events in the **Events** view in the Campaign Manager. Talon.One also offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/entities/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). <div class=\"redoc-section\"> <p class=\"title\">Important</p> 1. `profileId` is required even though the schema does not specify it. 1. If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. 1. We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). 1. [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered in rule evaluation. </div>
### Example
@@ -2256,7 +2256,7 @@ null (empty response body)
Update customer profile
-Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div>
+Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. **Note:** [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered in rule evaluation when `runRuleEngine` is `true`. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div>
### Example
@@ -2413,7 +2413,7 @@ Name | Type | Description | Notes
Update customer session
-Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** The currency for the session and the cart items in the session is the currency set for the Application that owns this session. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one).
+Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** - The currency for the session and the cart items in it is the currency set for the Application linked to this session. - [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered for rule evaluation. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one).
### Example
diff --git a/docs/IntegrationCoupon.md b/docs/IntegrationCoupon.md
index 1aa94805..b8c76ecf 100644
--- a/docs/IntegrationCoupon.md
+++ b/docs/IntegrationCoupon.md
@@ -6,8 +6,8 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
-**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
+**id** | **Long** | The internal ID of the coupon. |
+**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time the coupon was created. |
**campaignId** | **Long** | The ID of the campaign that owns this entity. |
**value** | **String** | The coupon code. |
**usageLimit** | **Long** | The number of times the coupon code can be redeemed. `0` means unlimited redemptions but any campaign usage limits will still apply. |
diff --git a/docs/IntegrationCustomerProfileAudienceRequest.md b/docs/IntegrationCustomerProfileAudienceRequest.md
new file mode 100644
index 00000000..1db44b7e
--- /dev/null
+++ b/docs/IntegrationCustomerProfileAudienceRequest.md
@@ -0,0 +1,12 @@
+
+
+# IntegrationCustomerProfileAudienceRequest
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**data** | [**List<IntegrationCustomerProfileAudienceRequestItem>**](IntegrationCustomerProfileAudienceRequestItem.md) | | [optional]
+
+
+
diff --git a/docs/IntegrationCustomerProfileAudienceRequestItem.md b/docs/IntegrationCustomerProfileAudienceRequestItem.md
new file mode 100644
index 00000000..86a64460
--- /dev/null
+++ b/docs/IntegrationCustomerProfileAudienceRequestItem.md
@@ -0,0 +1,23 @@
+
+
+# IntegrationCustomerProfileAudienceRequestItem
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**action** | [**ActionEnum**](#ActionEnum) | Defines the action to perform: - `add`: Adds the customer profile to the audience. **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. - `delete`: Removes the customer profile from the audience. |
+**profileIntegrationId** | **String** | The ID of this customer profile in the third-party integration. |
+**integrationId** | **String** | The ID of this audience in the third-party integration. |
+
+
+
+## Enum: ActionEnum
+
+Name | Value
+---- | -----
+ADD | "add"
+DELETE | "delete"
+
+
+
diff --git a/docs/IntegrationEventV2Request.md b/docs/IntegrationEventV2Request.md
index e9799354..e4bfef81 100644
--- a/docs/IntegrationEventV2Request.md
+++ b/docs/IntegrationEventV2Request.md
@@ -11,6 +11,7 @@ Name | Type | Description | Notes
**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. |
**attributes** | [**Object**](.md) | Arbitrary additional JSON properties associated with the event. They must be created in the Campaign Manager before setting them with this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-a-custom-attribute). | [optional]
+**loyaltyCards** | **List<String>** | Identifier of the loyalty card 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/InventoryCoupon.md b/docs/InventoryCoupon.md
index e8ab92e2..9afec9df 100644
--- a/docs/InventoryCoupon.md
+++ b/docs/InventoryCoupon.md
@@ -6,8 +6,8 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
-**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
+**id** | **Long** | The internal ID of the coupon. |
+**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time the coupon was created. |
**campaignId** | **Long** | The ID of the campaign that owns this entity. |
**value** | **String** | The coupon code. |
**usageLimit** | **Long** | The number of times the coupon code can be redeemed. `0` means unlimited redemptions but any campaign usage limits will still apply. |
diff --git a/docs/InventoryReferral.md b/docs/InventoryReferral.md
index 7cdd72bd..ad268e67 100644
--- a/docs/InventoryReferral.md
+++ b/docs/InventoryReferral.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**startDate** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp at which point the referral code becomes valid. | [optional]
**expiryDate** | [**OffsetDateTime**](OffsetDateTime.md) | Expiration date of the referral code. Referral never expires if this is omitted. | [optional]
diff --git a/docs/LedgerEntry.md b/docs/LedgerEntry.md
index bd18bd5e..aa4ac51f 100644
--- a/docs/LedgerEntry.md
+++ b/docs/LedgerEntry.md
@@ -7,7 +7,7 @@ Entry in the point ledger.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**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`. |
**accountId** | **Long** | The ID of the Talon.One account that owns this profile. |
diff --git a/docs/LedgerInfo.md b/docs/LedgerInfo.md
index 7e82e266..95edb3d5 100644
--- a/docs/LedgerInfo.md
+++ b/docs/LedgerInfo.md
@@ -9,12 +9,12 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**currentBalance** | [**BigDecimal**](BigDecimal.md) | Sum of currently active points. |
**pendingBalance** | [**BigDecimal**](BigDecimal.md) | Sum of pending points. |
-**negativeBalance** | [**BigDecimal**](BigDecimal.md) | Sum of negative points. This implies that `currentBalance` is `0`. |
+**negativeBalance** | [**BigDecimal**](BigDecimal.md) | Sum of negative points. This implies that `currentBalance` is `0`. | [optional]
**expiredBalance** | [**BigDecimal**](BigDecimal.md) | **DEPRECATED** Value is shown as 0. |
**spentBalance** | [**BigDecimal**](BigDecimal.md) | **DEPRECATED** Value is shown as 0. |
**tentativeCurrentBalance** | [**BigDecimal**](BigDecimal.md) | The tentative points balance, reflecting the `currentBalance` and all point additions and deductions within the current open customer session. When the session is closed, the effects are applied and the `currentBalance` is updated to this value. **Note:** Tentative balances are specific to the current session and do not take into account other open sessions for the given customer. |
**tentativePendingBalance** | [**BigDecimal**](BigDecimal.md) | The tentative points balance, reflecting the `pendingBalance` and all point additions with a future activation date within the current open customer session. When the session is closed, the effects are applied and the `pendingBalance` is updated to this value. **Note:** Tentative balances are specific to the current session and do not take into account other open sessions for the given customer. | [optional]
-**tentativeNegativeBalance** | [**BigDecimal**](BigDecimal.md) | The tentative negative balance after all additions and deductions from the current customer session are applied to `negativeBalance`. When the session is closed, the tentative effects are applied and `negativeBalance` is updated to this value. **Note:** Tentative balances are specific to the current session and do not take into account other open sessions for the given customer. |
+**tentativeNegativeBalance** | [**BigDecimal**](BigDecimal.md) | The tentative negative balance after all additions and deductions from the current customer session are applied to `negativeBalance`. When the session is closed, the tentative effects are applied and `negativeBalance` is updated to this value. **Note:** Tentative balances are specific to the current session and do not take into account other open sessions for the given customer. | [optional]
**currentTier** | [**Tier**](Tier.md) | | [optional]
**pointsToNextTier** | [**BigDecimal**](BigDecimal.md) | Points required to move up a tier. | [optional]
diff --git a/docs/LoyaltyCard.md b/docs/LoyaltyCard.md
index 29aad0a1..b69737ff 100644
--- a/docs/LoyaltyCard.md
+++ b/docs/LoyaltyCard.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**programID** | **Long** | The ID of the loyalty program that owns this entity. |
**programName** | **String** | The integration name of the loyalty program that owns this entity. | [optional]
diff --git a/docs/LoyaltyProgramBalance.md b/docs/LoyaltyProgramBalance.md
index ab0dc1d5..0412d30f 100644
--- a/docs/LoyaltyProgramBalance.md
+++ b/docs/LoyaltyProgramBalance.md
@@ -9,12 +9,12 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**currentBalance** | [**BigDecimal**](BigDecimal.md) | Sum of currently active points. |
**pendingBalance** | [**BigDecimal**](BigDecimal.md) | Sum of pending points. |
-**negativeBalance** | [**BigDecimal**](BigDecimal.md) | Sum of negative points. This implies that `currentBalance` is `0`. |
+**negativeBalance** | [**BigDecimal**](BigDecimal.md) | Sum of negative points. This implies that `currentBalance` is `0`. | [optional]
**expiredBalance** | [**BigDecimal**](BigDecimal.md) | **DEPRECATED** Value is shown as 0. |
**spentBalance** | [**BigDecimal**](BigDecimal.md) | **DEPRECATED** Value is shown as 0. |
**tentativeCurrentBalance** | [**BigDecimal**](BigDecimal.md) | The tentative points balance, reflecting the `currentBalance` and all point additions and deductions within the current open customer session. When the session is closed, the effects are applied and the `currentBalance` is updated to this value. **Note:** Tentative balances are specific to the current session and do not take into account other open sessions for the given customer. |
**tentativePendingBalance** | [**BigDecimal**](BigDecimal.md) | The tentative points balance, reflecting the `pendingBalance` and all point additions with a future activation date within the current open customer session. When the session is closed, the effects are applied and the `pendingBalance` is updated to this value. **Note:** Tentative balances are specific to the current session and do not take into account other open sessions for the given customer. | [optional]
-**tentativeNegativeBalance** | [**BigDecimal**](BigDecimal.md) | The tentative negative balance after all additions and deductions from the current customer session are applied to `negativeBalance`. When the session is closed, the tentative effects are applied and `negativeBalance` is updated to this value. **Note:** Tentative balances are specific to the current session and do not take into account other open sessions for the given customer. |
+**tentativeNegativeBalance** | [**BigDecimal**](BigDecimal.md) | The tentative negative balance after all additions and deductions from the current customer session are applied to `negativeBalance`. When the session is closed, the tentative effects are applied and `negativeBalance` is updated to this value. **Note:** Tentative balances are specific to the current session and do not take into account other open sessions for the given customer. | [optional]
diff --git a/docs/LoyaltyTier.md b/docs/LoyaltyTier.md
index 641a4c1f..12dc8466 100644
--- a/docs/LoyaltyTier.md
+++ b/docs/LoyaltyTier.md
@@ -7,7 +7,7 @@ A tier in a loyalty program.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**programID** | **Long** | The ID of the loyalty program that owns this entity. |
**programName** | **String** | The integration name of the loyalty program that owns this entity. | [optional]
diff --git a/docs/ManagementApi.md b/docs/ManagementApi.md
index 1ae04732..7181b571 100644
--- a/docs/ManagementApi.md
+++ b/docs/ManagementApi.md
@@ -14,6 +14,7 @@ Method | HTTP request | Description
[**createAttribute**](ManagementApi.md#createAttribute) | **POST** /v1/attributes | Create custom attribute
[**createBatchLoyaltyCards**](ManagementApi.md#createBatchLoyaltyCards) | **POST** /v1/loyalty_programs/{loyaltyProgramId}/cards/batch | Create loyalty cards
[**createCampaignFromTemplate**](ManagementApi.md#createCampaignFromTemplate) | **POST** /v1/applications/{applicationId}/create_campaign_from_template | Create campaign from campaign template
+[**createCampaignStoreBudget**](ManagementApi.md#createCampaignStoreBudget) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets | Create campaign store budget
[**createCollection**](ManagementApi.md#createCollection) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/collections | Create campaign-level collection
[**createCoupons**](ManagementApi.md#createCoupons) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons | Create coupons
[**createCouponsAsync**](ManagementApi.md#createCouponsAsync) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons_async | Create coupons asynchronously
@@ -29,6 +30,7 @@ Method | HTTP request | Description
[**deleteAccountCollection**](ManagementApi.md#deleteAccountCollection) | **DELETE** /v1/collections/{collectionId} | Delete account-level collection
[**deleteAchievement**](ManagementApi.md#deleteAchievement) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId} | Delete achievement
[**deleteCampaign**](ManagementApi.md#deleteCampaign) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId} | Delete campaign
+[**deleteCampaignStoreBudgets**](ManagementApi.md#deleteCampaignStoreBudgets) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets | Delete campaign store budgets
[**deleteCollection**](ManagementApi.md#deleteCollection) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId} | Delete campaign-level collection
[**deleteCoupon**](ManagementApi.md#deleteCoupon) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons/{couponId} | Delete coupon
[**deleteCoupons**](ManagementApi.md#deleteCoupons) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons | Delete coupons
@@ -42,6 +44,7 @@ Method | HTTP request | Description
[**exportAccountCollectionItems**](ManagementApi.md#exportAccountCollectionItems) | **GET** /v1/collections/{collectionId}/export | Export account-level collection's items
[**exportAchievements**](ManagementApi.md#exportAchievements) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId}/export | Export achievement customer data
[**exportAudiencesMemberships**](ManagementApi.md#exportAudiencesMemberships) | **GET** /v1/audiences/{audienceId}/memberships/export | Export audience members
+[**exportCampaignStoreBudgets**](ManagementApi.md#exportCampaignStoreBudgets) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets/export | Export campaign store budgets
[**exportCampaignStores**](ManagementApi.md#exportCampaignStores) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/stores/export | Export stores
[**exportCollectionItems**](ManagementApi.md#exportCollectionItems) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}/export | Export campaign-level collection's items
[**exportCoupons**](ManagementApi.md#exportCoupons) | **GET** /v1/applications/{applicationId}/export_coupons | Export coupons
@@ -117,12 +120,11 @@ Method | HTTP request | Description
[**getUser**](ManagementApi.md#getUser) | **GET** /v1/users/{userId} | Get user
[**getUsers**](ManagementApi.md#getUsers) | **GET** /v1/users | List users in account
[**getWebhook**](ManagementApi.md#getWebhook) | **GET** /v1/webhooks/{webhookId} | Get webhook
-[**getWebhookActivationLogs**](ManagementApi.md#getWebhookActivationLogs) | **GET** /v1/webhook_activation_logs | List webhook activation log entries
-[**getWebhookLogs**](ManagementApi.md#getWebhookLogs) | **GET** /v1/webhook_logs | List webhook log entries
[**getWebhooks**](ManagementApi.md#getWebhooks) | **GET** /v1/webhooks | List webhooks
[**importAccountCollection**](ManagementApi.md#importAccountCollection) | **POST** /v1/collections/{collectionId}/import | Import data into existing account-level collection
[**importAllowedList**](ManagementApi.md#importAllowedList) | **POST** /v1/attributes/{attributeId}/allowed_list/import | Import allowed values for attribute
[**importAudiencesMemberships**](ManagementApi.md#importAudiencesMemberships) | **POST** /v1/audiences/{audienceId}/memberships/import | Import audience members
+[**importCampaignStoreBudget**](ManagementApi.md#importCampaignStoreBudget) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets/import | Import campaign store budgets
[**importCampaignStores**](ManagementApi.md#importCampaignStores) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/stores/import | Import stores
[**importCollection**](ManagementApi.md#importCollection) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}/import | Import data into existing campaign-level collection
[**importCoupons**](ManagementApi.md#importCoupons) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/import_coupons | Import coupons
@@ -135,6 +137,7 @@ Method | HTTP request | Description
[**listAccountCollections**](ManagementApi.md#listAccountCollections) | **GET** /v1/collections | List collections in account
[**listAchievements**](ManagementApi.md#listAchievements) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/achievements | List achievements
[**listAllRolesV2**](ManagementApi.md#listAllRolesV2) | **GET** /v2/roles | List roles
+[**listCampaignStoreBudgetLimits**](ManagementApi.md#listCampaignStoreBudgetLimits) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets | List campaign store budget limits
[**listCatalogItems**](ManagementApi.md#listCatalogItems) | **GET** /v1/catalogs/{catalogId}/items | List items in a catalog
[**listCollections**](ManagementApi.md#listCollections) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/collections | List collections in campaign
[**listCollectionsInApplication**](ManagementApi.md#listCollectionsInApplication) | **GET** /v1/applications/{applicationId}/collections | List collections in Application
@@ -142,17 +145,24 @@ Method | HTTP request | Description
[**oktaEventHandlerChallenge**](ManagementApi.md#oktaEventHandlerChallenge) | **GET** /v1/provisioning/okta | Validate Okta API ownership
[**removeLoyaltyPoints**](ManagementApi.md#removeLoyaltyPoints) | **PUT** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/deduct_points | Deduct points from customer profile
[**resetPassword**](ManagementApi.md#resetPassword) | **POST** /v1/reset_password | Reset password
+[**scimCreateGroup**](ManagementApi.md#scimCreateGroup) | **POST** /v1/provisioning/scim/Groups | Create SCIM group
[**scimCreateUser**](ManagementApi.md#scimCreateUser) | **POST** /v1/provisioning/scim/Users | Create SCIM user
+[**scimDeleteGroup**](ManagementApi.md#scimDeleteGroup) | **DELETE** /v1/provisioning/scim/Groups/{groupId} | Delete SCIM group
[**scimDeleteUser**](ManagementApi.md#scimDeleteUser) | **DELETE** /v1/provisioning/scim/Users/{userId} | Delete SCIM user
+[**scimGetGroup**](ManagementApi.md#scimGetGroup) | **GET** /v1/provisioning/scim/Groups/{groupId} | Get SCIM group
+[**scimGetGroups**](ManagementApi.md#scimGetGroups) | **GET** /v1/provisioning/scim/Groups | List SCIM groups
[**scimGetResourceTypes**](ManagementApi.md#scimGetResourceTypes) | **GET** /v1/provisioning/scim/ResourceTypes | List supported SCIM resource types
[**scimGetSchemas**](ManagementApi.md#scimGetSchemas) | **GET** /v1/provisioning/scim/Schemas | List supported SCIM schemas
[**scimGetServiceProviderConfig**](ManagementApi.md#scimGetServiceProviderConfig) | **GET** /v1/provisioning/scim/ServiceProviderConfig | Get SCIM service provider configuration
[**scimGetUser**](ManagementApi.md#scimGetUser) | **GET** /v1/provisioning/scim/Users/{userId} | Get SCIM user
[**scimGetUsers**](ManagementApi.md#scimGetUsers) | **GET** /v1/provisioning/scim/Users | List SCIM users
+[**scimPatchGroup**](ManagementApi.md#scimPatchGroup) | **PATCH** /v1/provisioning/scim/Groups/{groupId} | Update SCIM group attributes
[**scimPatchUser**](ManagementApi.md#scimPatchUser) | **PATCH** /v1/provisioning/scim/Users/{userId} | Update SCIM user attributes
+[**scimReplaceGroupAttributes**](ManagementApi.md#scimReplaceGroupAttributes) | **PUT** /v1/provisioning/scim/Groups/{groupId} | Update SCIM group
[**scimReplaceUserAttributes**](ManagementApi.md#scimReplaceUserAttributes) | **PUT** /v1/provisioning/scim/Users/{userId} | Update SCIM user
[**searchCouponsAdvancedApplicationWideWithoutTotalCount**](ManagementApi.md#searchCouponsAdvancedApplicationWideWithoutTotalCount) | **POST** /v1/applications/{applicationId}/coupons_search_advanced/no_total | List coupons that match the given attributes (without total count)
[**searchCouponsAdvancedWithoutTotalCount**](ManagementApi.md#searchCouponsAdvancedWithoutTotalCount) | **POST** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons_search_advanced/no_total | List coupons that match the given attributes in campaign (without total count)
+[**summarizeCampaignStoreBudget**](ManagementApi.md#summarizeCampaignStoreBudget) | **GET** /v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets/summary | Get summary of campaign store budgets
[**transferLoyaltyCard**](ManagementApi.md#transferLoyaltyCard) | **PUT** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/transfer | Transfer card data
[**updateAccountCollection**](ManagementApi.md#updateAccountCollection) | **PUT** /v1/collections/{collectionId} | Update account-level collection
[**updateAchievement**](ManagementApi.md#updateAchievement) | **PUT** /v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId} | Update achievement
@@ -982,6 +992,89 @@ Name | Type | Description | Notes
| **201** | Created | - |
+## createCampaignStoreBudget
+
+> createCampaignStoreBudget(applicationId, campaignId, body)
+
+Create campaign store budget
+
+Create a new store budget for a given campaign.
+
+### Example
+
+```java
+// Import classes:
+import one.talon.ApiClient;
+import one.talon.ApiException;
+import one.talon.Configuration;
+import one.talon.auth.*;
+import one.talon.models.*;
+import one.talon.api.ManagementApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://yourbaseurl.talon.one");
+
+ // Configure API key authorization: management_key
+ ApiKeyAuth management_key = (ApiKeyAuth) defaultClient.getAuthentication("management_key");
+ management_key.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //management_key.setApiKeyPrefix("Token");
+
+ // Configure API key authorization: manager_auth
+ ApiKeyAuth manager_auth = (ApiKeyAuth) defaultClient.getAuthentication("manager_auth");
+ manager_auth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //manager_auth.setApiKeyPrefix("Token");
+
+ ManagementApi apiInstance = new ManagementApi(defaultClient);
+ Long 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.
+ NewCampaignStoreBudget body = new NewCampaignStoreBudget(); // NewCampaignStoreBudget | body
+ try {
+ apiInstance.createCampaignStoreBudget(applicationId, campaignId, body);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling ManagementApi#createCampaignStoreBudget");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **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. |
+ **body** | [**NewCampaignStoreBudget**](NewCampaignStoreBudget.md)| body |
+
+### Return type cool
+
+null (empty response body)
+
+### Authorization
+
+[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **201** | Created | - |
+| **400** | Bad request | - |
+| **409** | Conflict | - |
+
+
## createCollection
> Collection createCollection(applicationId, campaignId, body)
@@ -2193,6 +2286,90 @@ null (empty response body)
| **204** | No Content | - |
+## deleteCampaignStoreBudgets
+
+> deleteCampaignStoreBudgets(applicationId, campaignId, action, period)
+
+Delete campaign store budgets
+
+Delete the store budgets for a given campaign.
+
+### Example
+
+```java
+// Import classes:
+import one.talon.ApiClient;
+import one.talon.ApiException;
+import one.talon.Configuration;
+import one.talon.auth.*;
+import one.talon.models.*;
+import one.talon.api.ManagementApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://yourbaseurl.talon.one");
+
+ // Configure API key authorization: management_key
+ ApiKeyAuth management_key = (ApiKeyAuth) defaultClient.getAuthentication("management_key");
+ management_key.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //management_key.setApiKeyPrefix("Token");
+
+ // Configure API key authorization: manager_auth
+ ApiKeyAuth manager_auth = (ApiKeyAuth) defaultClient.getAuthentication("manager_auth");
+ manager_auth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //manager_auth.setApiKeyPrefix("Token");
+
+ ManagementApi apiInstance = new ManagementApi(defaultClient);
+ Long 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 action = "action_example"; // String | The action that this budget is limiting.
+ String period = "period_example"; // String | The period to which the limit applies. **Note**: For budgets with no period, set this to `overall`.
+ try {
+ apiInstance.deleteCampaignStoreBudgets(applicationId, campaignId, action, period);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling ManagementApi#deleteCampaignStoreBudgets");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **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. |
+ **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]
+
+### Return type cool
+
+null (empty response body)
+
+### Authorization
+
+[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **204** | Deleted | - |
+| **400** | Bad request | - |
+
+
## deleteCollection
> deleteCollection(applicationId, campaignId, collectionId)
@@ -3258,6 +3435,93 @@ Name | Type | Description | Notes
| **404** | Not found | - |
+## exportCampaignStoreBudgets
+
+> String exportCampaignStoreBudgets(applicationId, campaignId, action, period)
+
+Export campaign store budgets
+
+Download a CSV file containing the store budgets for a given campaign. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `store_integration_id`: The identifier of the store. - `limit`: The budget limit for the store.
+
+### Example
+
+```java
+// Import classes:
+import one.talon.ApiClient;
+import one.talon.ApiException;
+import one.talon.Configuration;
+import one.talon.auth.*;
+import one.talon.models.*;
+import one.talon.api.ManagementApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://yourbaseurl.talon.one");
+
+ // Configure API key authorization: management_key
+ ApiKeyAuth management_key = (ApiKeyAuth) defaultClient.getAuthentication("management_key");
+ management_key.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //management_key.setApiKeyPrefix("Token");
+
+ // Configure API key authorization: manager_auth
+ ApiKeyAuth manager_auth = (ApiKeyAuth) defaultClient.getAuthentication("manager_auth");
+ manager_auth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //manager_auth.setApiKeyPrefix("Token");
+
+ ManagementApi apiInstance = new ManagementApi(defaultClient);
+ Long 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 action = "action_example"; // String | The action that this budget is limiting.
+ String period = "period_example"; // String | The period to which the limit applies. **Note**: For budgets with no period, set this to `overall`.
+ try {
+ String result = apiInstance.exportCampaignStoreBudgets(applicationId, campaignId, action, period);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling ManagementApi#exportCampaignStoreBudgets");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **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. |
+ **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]
+
+### Return type cool
+
+**String**
+
+### Authorization
+
+[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/csv
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **400** | Bad request | - |
+| **401** | Unauthorized - Invalid API key | - |
+| **404** | Not found | - |
+
+
## exportCampaignStores
> String exportCampaignStores(applicationId, campaignId)
@@ -3537,7 +3801,7 @@ Name | Type | Description | Notes
Export customer sessions
-Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of cart items and additional costs in the session, before any discounts are applied. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `store_integration_id`: The integration ID of the store. - `coupons`: Coupon codes in the session.
+Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/dev/server-infrastructure-and-data-retention). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of cart items and additional costs in the session, before any discounts are applied. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `store_integration_id`: The integration ID of the store. - `coupons`: Coupon codes in the session.
### Example
@@ -4123,7 +4387,7 @@ Name | Type | Description | Notes
## exportLoyaltyCards
-> String exportLoyaltyCards(loyaltyProgramId, batchId, dateFormat)
+> String exportLoyaltyCards(loyaltyProgramId, batchId, createdBefore, createdAfter, dateFormat)
Export loyalty cards
@@ -4160,9 +4424,11 @@ 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 batchId = "batchId_example"; // String | Filter results by loyalty card batch ID.
+ OffsetDateTime createdBefore = new OffsetDateTime(); // OffsetDateTime | Only return loyalty cards created before this timestamp. **Note:** - This must be an RFC3339 timestamp string.
+ OffsetDateTime createdAfter = new OffsetDateTime(); // OffsetDateTime | Only return loyalty cards created after this timestamp. **Note:** - This must be an RFC3339 timestamp string.
String dateFormat = "dateFormat_example"; // String | Determines the format of dates in the export document.
try {
- String result = apiInstance.exportLoyaltyCards(loyaltyProgramId, batchId, dateFormat);
+ String result = apiInstance.exportLoyaltyCards(loyaltyProgramId, batchId, createdBefore, createdAfter, dateFormat);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling ManagementApi#exportLoyaltyCards");
@@ -4182,6 +4448,8 @@ 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. |
**batchId** | **String**| Filter results by loyalty card batch ID. | [optional]
+ **createdBefore** | **OffsetDateTime**| Only return loyalty cards created before this timestamp. **Note:** - This must be an RFC3339 timestamp string. | [optional]
+ **createdAfter** | **OffsetDateTime**| Only return loyalty cards created after this timestamp. **Note:** - This must be an RFC3339 timestamp string. | [optional]
**dateFormat** | **String**| Determines the format of dates in the export document. | [optional] [enum: excel, ISO8601]
### Return type cool
@@ -7007,7 +7275,7 @@ Name | Type | Description | Notes
## getChanges
-> InlineResponse20044 getChanges(pageSize, skip, sort, applicationId, entityPath, userId, createdBefore, createdAfter, withTotalResultSize, managementKeyId, includeOld)
+> InlineResponse20042 getChanges(pageSize, skip, sort, applicationId, entityPath, userId, createdBefore, createdAfter, withTotalResultSize, managementKeyId, includeOld)
Get audit logs for an account
@@ -7054,7 +7322,7 @@ public class Example {
Long managementKeyId = 56L; // Long | Filter results that match the given management key ID.
Boolean includeOld = true; // Boolean | When this flag is set to false, the state without the change will not be returned. The default value is true.
try {
- InlineResponse20044 result = apiInstance.getChanges(pageSize, skip, sort, applicationId, entityPath, userId, createdBefore, createdAfter, withTotalResultSize, managementKeyId, includeOld);
+ InlineResponse20042 result = apiInstance.getChanges(pageSize, skip, sort, applicationId, entityPath, userId, createdBefore, createdAfter, withTotalResultSize, managementKeyId, includeOld);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling ManagementApi#getChanges");
@@ -7086,7 +7354,7 @@ Name | Type | Description | Notes
### Return type cool
-[**InlineResponse20044**](InlineResponse20044.md)
+[**InlineResponse20042**](InlineResponse20042.md)
### Authorization
@@ -8075,7 +8343,7 @@ Name | Type | Description | Notes
## getEventTypes
-> InlineResponse20042 getEventTypes(name, includeOldVersions, pageSize, skip, sort)
+> InlineResponse20040 getEventTypes(name, includeOldVersions, pageSize, skip, sort)
List event types
@@ -8116,7 +8384,7 @@ public class Example {
Long skip = 56L; // Long | The number of items to skip when paging through large result sets.
String sort = "sort_example"; // String | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations.
try {
- InlineResponse20042 result = apiInstance.getEventTypes(name, includeOldVersions, pageSize, skip, sort);
+ InlineResponse20040 result = apiInstance.getEventTypes(name, includeOldVersions, pageSize, skip, sort);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling ManagementApi#getEventTypes");
@@ -8142,7 +8410,7 @@ Name | Type | Description | Notes
### Return type cool
-[**InlineResponse20042**](InlineResponse20042.md)
+[**InlineResponse20040**](InlineResponse20040.md)
### Authorization
@@ -8161,7 +8429,7 @@ Name | Type | Description | Notes
## getExports
-> InlineResponse20045 getExports(pageSize, skip, applicationId, campaignId, entity)
+> InlineResponse20043 getExports(pageSize, skip, applicationId, campaignId, entity)
Get exports
@@ -8202,7 +8470,7 @@ public class Example {
Long campaignId = 56L; // Long | Filter by the campaign ID on which the limit counters are used.
String entity = "entity_example"; // String | The name of the entity type that was exported.
try {
- InlineResponse20045 result = apiInstance.getExports(pageSize, skip, applicationId, campaignId, entity);
+ InlineResponse20043 result = apiInstance.getExports(pageSize, skip, applicationId, campaignId, entity);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling ManagementApi#getExports");
@@ -8228,7 +8496,7 @@ Name | Type | Description | Notes
### Return type cool
-[**InlineResponse20045**](InlineResponse20045.md)
+[**InlineResponse20043**](InlineResponse20043.md)
### Authorization
@@ -8987,7 +9255,7 @@ Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**entityType** | **String**| The entity type the log is related to. | [enum: application, loyalty_program, webhook]
**messageID** | **String**| Filter results by message ID. | [optional]
- **changeType** | **String**| Filter results by change type. | [optional] [enum: CampaignEvaluationTreeChanged, CampaignNotification, CouponCreated, CouponUpdated, CouponDeleted, AsyncCouponsCreated, CouponsDeleted, CouponsUpdated, CouponCodeExpiring, StrikethroughPrice, LoyaltyPointsAdded, LoyaltyPointsDeducted, LoyaltyPointsExpiring, LoyaltyPointsPendingToActive, TierWillDowngrade, TierUpgrade, TierDowngrade, LoyaltyCardPointsAdded, LoyaltyCardPointsDeducted, LoyaltyCardPointsExpiring]
+ **changeType** | **String**| Filter results by change type. | [optional] [enum: CampaignEvaluationTreeChanged, CampaignNotification, CouponCreated, CouponUpdated, CouponDeleted, AsyncCouponsCreated, CouponsDeleted, CouponsUpdated, CouponCodeExpiring, StrikethroughPrice, LoyaltyPointsAdded, LoyaltyPointsDeducted, LoyaltyPointsExpiring, LoyaltyPointsPendingToActive, LoyaltyAddedDeductedPointsBalances, LoyaltyCardAddedDeductedPointsBalances, TierWillDowngrade, TierUpgrade, TierDowngrade, LoyaltyCardPointsAdded, LoyaltyCardPointsDeducted, LoyaltyCardPointsExpiring]
**notificationIDs** | **String**| Filter results by notification ID (include up to 30 values, separated by a comma). | [optional]
**createdBefore** | **OffsetDateTime**| Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional]
**createdAfter** | **OffsetDateTime**| Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional]
@@ -9524,7 +9792,7 @@ Name | Type | Description | Notes
## getUsers
-> InlineResponse20043 getUsers(pageSize, skip, sort)
+> InlineResponse20041 getUsers(pageSize, skip, sort)
List users in account
@@ -9563,7 +9831,7 @@ public class Example {
Long skip = 56L; // Long | The number of items to skip when paging through large result sets.
String sort = "sort_example"; // String | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations.
try {
- InlineResponse20043 result = apiInstance.getUsers(pageSize, skip, sort);
+ InlineResponse20041 result = apiInstance.getUsers(pageSize, skip, sort);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling ManagementApi#getUsers");
@@ -9587,7 +9855,7 @@ Name | Type | Description | Notes
### Return type cool
-[**InlineResponse20043**](InlineResponse20043.md)
+[**InlineResponse20041**](InlineResponse20041.md)
### Authorization
@@ -9682,13 +9950,13 @@ Name | Type | Description | Notes
| **200** | OK | - |
-## getWebhookActivationLogs
+## getWebhooks
-> InlineResponse20040 getWebhookActivationLogs(pageSize, skip, sort, integrationRequestUuid, webhookId, applicationId, campaignId, createdBefore, createdAfter)
+> InlineResponse20039 getWebhooks(applicationIds, sort, pageSize, skip, creationType, visibility, outgoingIntegrationsTypeId, title)
-List webhook activation log entries
+List webhooks
-Webhook activation log entries are created as soon as an integration request triggers a webhook effect. See the [docs](https://docs.talon.one/docs/dev/getting-started/webhooks).
+List all webhooks.
### Example
@@ -9719,20 +9987,19 @@ public class Example {
//manager_auth.setApiKeyPrefix("Token");
ManagementApi apiInstance = new ManagementApi(defaultClient);
+ String applicationIds = "applicationIds_example"; // String | Checks if the given catalog or its attributes are referenced in the specified Application ID. **Note**: If no Application ID is provided, we check for all connected Applications.
+ String sort = "sort_example"; // String | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations.
Long pageSize = 1000lL; // Long | The number of items in the response.
Long skip = 56L; // Long | The number of items to skip when paging through large result sets.
- String sort = "sort_example"; // String | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations.
- String integrationRequestUuid = "integrationRequestUuid_example"; // String | Filter results by integration request UUID.
- BigDecimal webhookId = new BigDecimal(); // BigDecimal | Filter results by webhook id.
- BigDecimal applicationId = new BigDecimal(); // BigDecimal | Filter results by Application ID.
- BigDecimal campaignId = new BigDecimal(); // BigDecimal | Filter results by campaign ID.
- OffsetDateTime createdBefore = new OffsetDateTime(); // OffsetDateTime | Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally.
- OffsetDateTime createdAfter = new OffsetDateTime(); // OffsetDateTime | Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally.
+ String creationType = "creationType_example"; // String | Filter results by creation type.
+ String visibility = "visibility_example"; // String | Filter results by visibility.
+ Long outgoingIntegrationsTypeId = 56L; // Long | Filter results by outgoing integration type ID.
+ String title = "title_example"; // String | Filter results performing case-insensitive matching against the webhook title.
try {
- InlineResponse20040 result = apiInstance.getWebhookActivationLogs(pageSize, skip, sort, integrationRequestUuid, webhookId, applicationId, campaignId, createdBefore, createdAfter);
+ InlineResponse20039 result = apiInstance.getWebhooks(applicationIds, sort, pageSize, skip, creationType, visibility, outgoingIntegrationsTypeId, title);
System.out.println(result);
} catch (ApiException e) {
- System.err.println("Exception when calling ManagementApi#getWebhookActivationLogs");
+ System.err.println("Exception when calling ManagementApi#getWebhooks");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
@@ -9747,115 +10014,18 @@ public class Example {
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
+ **applicationIds** | **String**| Checks if the given catalog or its attributes are referenced in the specified Application ID. **Note**: If no Application ID is provided, we check for all connected Applications. | [optional]
+ **sort** | **String**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. | [optional]
**pageSize** | **Long**| The number of items in the response. | [optional] [default to 1000l]
**skip** | **Long**| The number of items to skip when paging through large result sets. | [optional]
- **sort** | **String**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. | [optional]
- **integrationRequestUuid** | **String**| Filter results by integration request UUID. | [optional]
- **webhookId** | **BigDecimal**| Filter results by webhook id. | [optional]
- **applicationId** | **BigDecimal**| Filter results by Application ID. | [optional]
- **campaignId** | **BigDecimal**| Filter results by campaign ID. | [optional]
- **createdBefore** | **OffsetDateTime**| Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional]
- **createdAfter** | **OffsetDateTime**| Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional]
-
-### Return type cool
-
-[**InlineResponse20040**](InlineResponse20040.md)
-
-### Authorization
-
-[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth)
-
-### HTTP request headers
-
-- **Content-Type**: Not defined
-- **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | OK | - |
-
-
-## getWebhookLogs
-
-> InlineResponse20041 getWebhookLogs(pageSize, skip, sort, status, webhookId, applicationId, campaignId, requestUuid, createdBefore, createdAfter)
-
-List webhook log entries
-
-Retrieve all webhook log entries.
-
-### Example
-
-```java
-// Import classes:
-import one.talon.ApiClient;
-import one.talon.ApiException;
-import one.talon.Configuration;
-import one.talon.auth.*;
-import one.talon.models.*;
-import one.talon.api.ManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("https://yourbaseurl.talon.one");
-
- // Configure API key authorization: management_key
- ApiKeyAuth management_key = (ApiKeyAuth) defaultClient.getAuthentication("management_key");
- management_key.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //management_key.setApiKeyPrefix("Token");
-
- // Configure API key authorization: manager_auth
- ApiKeyAuth manager_auth = (ApiKeyAuth) defaultClient.getAuthentication("manager_auth");
- manager_auth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //manager_auth.setApiKeyPrefix("Token");
-
- ManagementApi apiInstance = new ManagementApi(defaultClient);
- Long pageSize = 1000lL; // Long | The number of items in the response.
- Long skip = 56L; // Long | The number of items to skip when paging through large result sets.
- String sort = "sort_example"; // String | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations.
- String status = "status_example"; // String | Filter results by HTTP status codes.
- BigDecimal webhookId = new BigDecimal(); // BigDecimal | Filter results by webhook id.
- BigDecimal applicationId = new BigDecimal(); // BigDecimal | Filter results by Application ID.
- BigDecimal campaignId = new BigDecimal(); // BigDecimal | Filter results by campaign ID.
- String requestUuid = "requestUuid_example"; // String | Filter results by request UUID.
- OffsetDateTime createdBefore = new OffsetDateTime(); // OffsetDateTime | Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally.
- OffsetDateTime createdAfter = new OffsetDateTime(); // OffsetDateTime | Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally.
- try {
- InlineResponse20041 result = apiInstance.getWebhookLogs(pageSize, skip, sort, status, webhookId, applicationId, campaignId, requestUuid, createdBefore, createdAfter);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ManagementApi#getWebhookLogs");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-
-Name | Type | Description | Notes
-------------- | ------------- | ------------- | -------------
- **pageSize** | **Long**| The number of items in the response. | [optional] [default to 1000l]
- **skip** | **Long**| The number of items to skip when paging through large result sets. | [optional]
- **sort** | **String**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. | [optional]
- **status** | **String**| Filter results by HTTP status codes. | [optional] [enum: success, error]
- **webhookId** | **BigDecimal**| Filter results by webhook id. | [optional]
- **applicationId** | **BigDecimal**| Filter results by Application ID. | [optional]
- **campaignId** | **BigDecimal**| Filter results by campaign ID. | [optional]
- **requestUuid** | **String**| Filter results by request UUID. | [optional]
- **createdBefore** | **OffsetDateTime**| Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional]
- **createdAfter** | **OffsetDateTime**| Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. | [optional]
+ **creationType** | **String**| Filter results by creation type. | [optional] [enum: templateWebhooks, webhooks]
+ **visibility** | **String**| Filter results by visibility. | [optional] [enum: visible, hidden]
+ **outgoingIntegrationsTypeId** | **Long**| Filter results by outgoing integration type ID. | [optional]
+ **title** | **String**| Filter results performing case-insensitive matching against the webhook title. | [optional]
### Return type cool
-[**InlineResponse20041**](InlineResponse20041.md)
+[**InlineResponse20039**](InlineResponse20039.md)
### Authorization
@@ -9872,13 +10042,13 @@ Name | Type | Description | Notes
| **200** | OK | - |
-## getWebhooks
+## importAccountCollection
-> InlineResponse20039 getWebhooks(applicationIds, sort, pageSize, skip, creationType, visibility, outgoingIntegrationsTypeId, title)
+> ModelImport importAccountCollection(collectionId, upFile)
-List webhooks
+Import data into existing account-level collection
-List all webhooks.
+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 Addidas 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.
### Example
@@ -9909,19 +10079,13 @@ public class Example {
//manager_auth.setApiKeyPrefix("Token");
ManagementApi apiInstance = new ManagementApi(defaultClient);
- String applicationIds = "applicationIds_example"; // String | Checks if the given catalog or its attributes are referenced in the specified Application ID. **Note**: If no Application ID is provided, we check for all connected Applications.
- String sort = "sort_example"; // String | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations.
- Long pageSize = 1000lL; // Long | The number of items in the response.
- Long skip = 56L; // Long | The number of items to skip when paging through large result sets.
- String creationType = "creationType_example"; // String | Filter results by creation type.
- String visibility = "visibility_example"; // String | Filter results by visibility.
- Long outgoingIntegrationsTypeId = 56L; // Long | Filter results by outgoing integration type ID.
- String title = "title_example"; // String | Filter results performing case-insensitive matching against the webhook title.
+ Long collectionId = 56L; // Long | The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint.
+ String upFile = "upFile_example"; // String | The file containing the data that is being imported.
try {
- InlineResponse20039 result = apiInstance.getWebhooks(applicationIds, sort, pageSize, skip, creationType, visibility, outgoingIntegrationsTypeId, title);
+ ModelImport result = apiInstance.importAccountCollection(collectionId, upFile);
System.out.println(result);
} catch (ApiException e) {
- System.err.println("Exception when calling ManagementApi#getWebhooks");
+ System.err.println("Exception when calling ManagementApi#importAccountCollection");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
@@ -9936,18 +10100,12 @@ public class Example {
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **applicationIds** | **String**| Checks if the given catalog or its attributes are referenced in the specified Application ID. **Note**: If no Application ID is provided, we check for all connected Applications. | [optional]
- **sort** | **String**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. | [optional]
- **pageSize** | **Long**| The number of items in the response. | [optional] [default to 1000l]
- **skip** | **Long**| The number of items to skip when paging through large result sets. | [optional]
- **creationType** | **String**| Filter results by creation type. | [optional] [enum: templateWebhooks, webhooks]
- **visibility** | **String**| Filter results by visibility. | [optional] [enum: visible, hidden]
- **outgoingIntegrationsTypeId** | **Long**| Filter results by outgoing integration type ID. | [optional]
- **title** | **String**| Filter results performing case-insensitive matching against the webhook title. | [optional]
+ **collectionId** | **Long**| The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. |
+ **upFile** | **String**| The file containing the data that is being imported. | [optional]
### Return type cool
-[**InlineResponse20039**](InlineResponse20039.md)
+[**ModelImport**](ModelImport.md)
### Authorization
@@ -9955,22 +10113,24 @@ Name | Type | Description | Notes
### HTTP request headers
-- **Content-Type**: Not defined
+- **Content-Type**: multipart/form-data
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
+| **400** | Bad request | - |
+| **401** | Unauthorized | - |
-## importAccountCollection
+## importAllowedList
-> ModelImport importAccountCollection(collectionId, upFile)
+> ModelImport importAllowedList(attributeId, upFile)
-Import data into existing account-level collection
+Import allowed values for attribute
-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 Addidas 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.
+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` (required): the values in your allowed list, for example a list of SKU's. 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 ```
### Example
@@ -10001,13 +10161,13 @@ public class Example {
//manager_auth.setApiKeyPrefix("Token");
ManagementApi apiInstance = new ManagementApi(defaultClient);
- Long collectionId = 56L; // Long | The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint.
+ 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.
try {
- ModelImport result = apiInstance.importAccountCollection(collectionId, upFile);
+ ModelImport result = apiInstance.importAllowedList(attributeId, upFile);
System.out.println(result);
} catch (ApiException e) {
- System.err.println("Exception when calling ManagementApi#importAccountCollection");
+ System.err.println("Exception when calling ManagementApi#importAllowedList");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
@@ -10022,7 +10182,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](#operation/listAccountCollections) endpoint. |
+ **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]
### Return type cool
@@ -10043,16 +10203,17 @@ Name | Type | Description | Notes
|-------------|-------------|------------------|
| **200** | OK | - |
| **400** | Bad request | - |
-| **401** | Unauthorized | - |
+| **401** | Unauthorized - Invalid API key | - |
+| **404** | Not found | - |
-## importAllowedList
+## importAudiencesMemberships
-> ModelImport importAllowedList(attributeId, upFile)
+> ModelImport importAudiencesMemberships(audienceId, upFile)
-Import allowed values for attribute
+Import audience members
-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` (required): the values in your allowed list, for example a list of SKU's. 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 ```
+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 500MB. Example: ```text profileintegrationid charles alexa ```
### Example
@@ -10083,13 +10244,13 @@ public class Example {
//manager_auth.setApiKeyPrefix("Token");
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**.
+ Long audienceId = 56L; // Long | The ID of the audience.
String upFile = "upFile_example"; // String | The file containing the data that is being imported.
try {
- ModelImport result = apiInstance.importAllowedList(attributeId, upFile);
+ ModelImport result = apiInstance.importAudiencesMemberships(audienceId, upFile);
System.out.println(result);
} catch (ApiException e) {
- System.err.println("Exception when calling ManagementApi#importAllowedList");
+ System.err.println("Exception when calling ManagementApi#importAudiencesMemberships");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
@@ -10104,7 +10265,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**. |
+ **audienceId** | **Long**| The ID of the audience. |
**upFile** | **String**| The file containing the data that is being imported. | [optional]
### Return type cool
@@ -10129,13 +10290,13 @@ Name | Type | Description | Notes
| **404** | Not found | - |
-## importAudiencesMemberships
+## importCampaignStoreBudget
-> ModelImport importAudiencesMemberships(audienceId, upFile)
+> ModelImport importCampaignStoreBudget(applicationId, campaignId, action, period, upFile)
-Import audience members
+Import campaign store budgets
-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 500MB. Example: ```text profileintegrationid charles alexa ```
+Upload a CSV file containing store budgets for a given campaign. Send the file as multipart data. The CSV file **must** only contain the following columns: - `store_integration_id`: The identifier of the store. - `limit`: The budget limit for the store. The import **replaces** the previous list of store budgets.
### Example
@@ -10166,13 +10327,16 @@ public class Example {
//manager_auth.setApiKeyPrefix("Token");
ManagementApi apiInstance = new ManagementApi(defaultClient);
- Long audienceId = 56L; // Long | The ID of the audience.
+ 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 action = "action_example"; // String | The action that this budget is limiting.
+ String period = "period_example"; // 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.
try {
- ModelImport result = apiInstance.importAudiencesMemberships(audienceId, upFile);
+ ModelImport result = apiInstance.importCampaignStoreBudget(applicationId, campaignId, action, period, upFile);
System.out.println(result);
} catch (ApiException e) {
- System.err.println("Exception when calling ManagementApi#importAudiencesMemberships");
+ System.err.println("Exception when calling ManagementApi#importCampaignStoreBudget");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
@@ -10187,7 +10351,10 @@ public class Example {
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **audienceId** | **Long**| The ID of the audience. |
+ **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. |
+ **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]
### Return type cool
@@ -10206,10 +10373,8 @@ Name | Type | Description | Notes
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
-| **200** | OK | - |
+| **201** | Created | - |
| **400** | Bad request | - |
-| **401** | Unauthorized - Invalid API key | - |
-| **404** | Not found | - |
## importCampaignStores
@@ -10633,7 +10798,7 @@ Name | Type | Description | Notes
## importLoyaltyPoints
-> ModelImport importLoyaltyPoints(loyaltyProgramId, upFile)
+> ModelImport importLoyaltyPoints(loyaltyProgramId, notificationsEnabled, upFile)
Import loyalty points
@@ -10669,9 +10834,10 @@ 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.
try {
- ModelImport result = apiInstance.importLoyaltyPoints(loyaltyProgramId, upFile);
+ ModelImport result = apiInstance.importLoyaltyPoints(loyaltyProgramId, notificationsEnabled, upFile);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling ManagementApi#importLoyaltyPoints");
@@ -10690,6 +10856,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. |
+ **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]
### Return type cool
@@ -11127,7 +11294,7 @@ Name | Type | Description | Notes
## listAllRolesV2
-> InlineResponse20046 listAllRolesV2()
+> InlineResponse20044 listAllRolesV2()
List roles
@@ -11163,7 +11330,7 @@ public class Example {
ManagementApi apiInstance = new ManagementApi(defaultClient);
try {
- InlineResponse20046 result = apiInstance.listAllRolesV2();
+ InlineResponse20044 result = apiInstance.listAllRolesV2();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling ManagementApi#listAllRolesV2");
@@ -11182,7 +11349,7 @@ This endpoint does not need any parameter.
### Return type cool
-[**InlineResponse20046**](InlineResponse20046.md)
+[**InlineResponse20044**](InlineResponse20044.md)
### Authorization
@@ -11199,13 +11366,13 @@ This endpoint does not need any parameter.
| **200** | OK | - |
-## listCatalogItems
+## listCampaignStoreBudgetLimits
-> InlineResponse20037 listCatalogItems(catalogId, pageSize, skip, withTotalResultSize, sku, productNames)
+> InlineResponse20046 listCampaignStoreBudgetLimits(applicationId, campaignId, action, period)
-List items in a catalog
+List campaign store budget limits
-Return a paginated list of cart items in the given catalog.
+Return the store budget limits for a given campaign.
### Example
@@ -11236,17 +11403,15 @@ public class Example {
//manager_auth.setApiKeyPrefix("Token");
ManagementApi apiInstance = new ManagementApi(defaultClient);
- Long catalogId = 56L; // Long | The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**.
- Long pageSize = 1000lL; // Long | The number of items in the response.
- Long skip = 56L; // Long | The number of items to skip when paging through large result sets.
- Boolean withTotalResultSize = true; // Boolean | When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query.
- List sku = Arrays.asList(); // List | Filter results by one or more SKUs. Must be exact match.
- List productNames = Arrays.asList(); // List | Filter results by one or more product names. Must be exact match.
+ 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 action = "action_example"; // String | The action that this budget is limiting.
+ String period = "period_example"; // String | The period to which the limit applies. **Note**: For budgets with no period, set this to `overall`.
try {
- InlineResponse20037 result = apiInstance.listCatalogItems(catalogId, pageSize, skip, withTotalResultSize, sku, productNames);
+ InlineResponse20046 result = apiInstance.listCampaignStoreBudgetLimits(applicationId, campaignId, action, period);
System.out.println(result);
} catch (ApiException e) {
- System.err.println("Exception when calling ManagementApi#listCatalogItems");
+ System.err.println("Exception when calling ManagementApi#listCampaignStoreBudgetLimits");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
@@ -11261,16 +11426,14 @@ public class Example {
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **catalogId** | **Long**| The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. |
- **pageSize** | **Long**| The number of items in the response. | [optional] [default to 1000l]
- **skip** | **Long**| The number of items to skip when paging through large result sets. | [optional]
- **withTotalResultSize** | **Boolean**| When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. | [optional]
- **sku** | [**List<String>**](String.md)| Filter results by one or more SKUs. Must be exact match. | [optional]
- **productNames** | [**List<String>**](String.md)| Filter results by one or more product names. Must be exact match. | [optional]
+ **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. |
+ **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]
### Return type cool
-[**InlineResponse20037**](InlineResponse20037.md)
+[**InlineResponse20046**](InlineResponse20046.md)
### Authorization
@@ -11285,15 +11448,18 @@ Name | Type | Description | Notes
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
+| **400** | Bad request | - |
+| **401** | Unauthorized - Invalid API key | - |
+| **404** | Not found | - |
-## listCollections
+## listCatalogItems
-> InlineResponse20020 listCollections(applicationId, campaignId, pageSize, skip, sort, withTotalResultSize, name)
+> InlineResponse20037 listCatalogItems(catalogId, pageSize, skip, withTotalResultSize, sku, productNames)
-List collections in campaign
+List items in a catalog
-List collections in a given campaign.
+Return a paginated list of cart items in the given catalog.
### Example
@@ -11324,18 +11490,17 @@ public class Example {
//manager_auth.setApiKeyPrefix("Token");
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.
+ Long catalogId = 56L; // Long | The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**.
Long pageSize = 1000lL; // Long | The number of items in the response.
Long skip = 56L; // Long | The number of items to skip when paging through large result sets.
- String sort = "sort_example"; // String | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations.
Boolean withTotalResultSize = true; // Boolean | When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query.
- String name = "name_example"; // String | Filter by collection name.
+ List sku = Arrays.asList(); // List | Filter results by one or more SKUs. Must be exact match.
+ List productNames = Arrays.asList(); // List | Filter results by one or more product names. Must be exact match.
try {
- InlineResponse20020 result = apiInstance.listCollections(applicationId, campaignId, pageSize, skip, sort, withTotalResultSize, name);
+ InlineResponse20037 result = apiInstance.listCatalogItems(catalogId, pageSize, skip, withTotalResultSize, sku, productNames);
System.out.println(result);
} catch (ApiException e) {
- System.err.println("Exception when calling ManagementApi#listCollections");
+ System.err.println("Exception when calling ManagementApi#listCatalogItems");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
@@ -11350,17 +11515,16 @@ public class Example {
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **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. |
+ **catalogId** | **Long**| The ID of the catalog. You can find the ID in the Campaign Manager in **Account** > **Tools** > **Cart item catalogs**. |
**pageSize** | **Long**| The number of items in the response. | [optional] [default to 1000l]
**skip** | **Long**| The number of items to skip when paging through large result sets. | [optional]
- **sort** | **String**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. | [optional]
**withTotalResultSize** | **Boolean**| When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. | [optional]
- **name** | **String**| Filter by collection name. | [optional]
+ **sku** | [**List<String>**](String.md)| Filter results by one or more SKUs. Must be exact match. | [optional]
+ **productNames** | [**List<String>**](String.md)| Filter results by one or more product names. Must be exact match. | [optional]
### Return type cool
-[**InlineResponse20020**](InlineResponse20020.md)
+[**InlineResponse20037**](InlineResponse20037.md)
### Authorization
@@ -11375,16 +11539,15 @@ Name | Type | Description | Notes
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
-| **404** | Not found | - |
-## listCollectionsInApplication
+## listCollections
-> InlineResponse20020 listCollectionsInApplication(applicationId, pageSize, skip, sort, withTotalResultSize, name)
+> InlineResponse20020 listCollections(applicationId, campaignId, pageSize, skip, sort, withTotalResultSize, name)
-List collections in Application
+List collections in campaign
-List campaign-level collections from all campaigns in a given Application.
+List collections in a given campaign.
### Example
@@ -11416,16 +11579,17 @@ 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.
Long pageSize = 1000lL; // Long | The number of items in the response.
Long skip = 56L; // Long | The number of items to skip when paging through large result sets.
String sort = "sort_example"; // String | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations.
Boolean withTotalResultSize = true; // Boolean | When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query.
String name = "name_example"; // String | Filter by collection name.
try {
- InlineResponse20020 result = apiInstance.listCollectionsInApplication(applicationId, pageSize, skip, sort, withTotalResultSize, name);
+ InlineResponse20020 result = apiInstance.listCollections(applicationId, campaignId, pageSize, skip, sort, withTotalResultSize, name);
System.out.println(result);
} catch (ApiException e) {
- System.err.println("Exception when calling ManagementApi#listCollectionsInApplication");
+ System.err.println("Exception when calling ManagementApi#listCollections");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
@@ -11441,6 +11605,7 @@ public class Example {
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**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. |
**pageSize** | **Long**| The number of items in the response. | [optional] [default to 1000l]
**skip** | **Long**| The number of items to skip when paging through large result sets. | [optional]
**sort** | **String**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. | [optional]
@@ -11467,9 +11632,98 @@ Name | Type | Description | Notes
| **404** | Not found | - |
-## listStores
+## listCollectionsInApplication
-> InlineResponse20047 listStores(applicationId, pageSize, skip, sort, withTotalResultSize, campaignId, name, integrationId, query)
+> InlineResponse20020 listCollectionsInApplication(applicationId, pageSize, skip, sort, withTotalResultSize, name)
+
+List collections in Application
+
+List campaign-level collections from all campaigns in a given Application.
+
+### Example
+
+```java
+// Import classes:
+import one.talon.ApiClient;
+import one.talon.ApiException;
+import one.talon.Configuration;
+import one.talon.auth.*;
+import one.talon.models.*;
+import one.talon.api.ManagementApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://yourbaseurl.talon.one");
+
+ // Configure API key authorization: management_key
+ ApiKeyAuth management_key = (ApiKeyAuth) defaultClient.getAuthentication("management_key");
+ management_key.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //management_key.setApiKeyPrefix("Token");
+
+ // Configure API key authorization: manager_auth
+ ApiKeyAuth manager_auth = (ApiKeyAuth) defaultClient.getAuthentication("manager_auth");
+ manager_auth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //manager_auth.setApiKeyPrefix("Token");
+
+ ManagementApi apiInstance = new ManagementApi(defaultClient);
+ Long applicationId = 56L; // Long | The ID of the Application. It is displayed in your Talon.One deployment URL.
+ Long pageSize = 1000lL; // Long | The number of items in the response.
+ Long skip = 56L; // Long | The number of items to skip when paging through large result sets.
+ String sort = "sort_example"; // String | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations.
+ Boolean withTotalResultSize = true; // Boolean | When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query.
+ String name = "name_example"; // String | Filter by collection name.
+ try {
+ InlineResponse20020 result = apiInstance.listCollectionsInApplication(applicationId, pageSize, skip, sort, withTotalResultSize, name);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling ManagementApi#listCollectionsInApplication");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **applicationId** | **Long**| The ID of the Application. It is displayed in your Talon.One deployment URL. |
+ **pageSize** | **Long**| The number of items in the response. | [optional] [default to 1000l]
+ **skip** | **Long**| The number of items to skip when paging through large result sets. | [optional]
+ **sort** | **String**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. | [optional]
+ **withTotalResultSize** | **Boolean**| When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. | [optional]
+ **name** | **String**| Filter by collection name. | [optional]
+
+### Return type cool
+
+[**InlineResponse20020**](InlineResponse20020.md)
+
+### Authorization
+
+[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **404** | Not found | - |
+
+
+## listStores
+
+> InlineResponse20045 listStores(applicationId, pageSize, skip, sort, withTotalResultSize, campaignId, name, integrationId, query)
List stores
@@ -11514,7 +11768,7 @@ public class Example {
String integrationId = "integrationId_example"; // String | The integration ID of the store.
String query = "query_example"; // String | Filter results by `name` or `integrationId`.
try {
- InlineResponse20047 result = apiInstance.listStores(applicationId, pageSize, skip, sort, withTotalResultSize, campaignId, name, integrationId, query);
+ InlineResponse20045 result = apiInstance.listStores(applicationId, pageSize, skip, sort, withTotalResultSize, campaignId, name, integrationId, query);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling ManagementApi#listStores");
@@ -11544,7 +11798,7 @@ Name | Type | Description | Notes
### Return type cool
-[**InlineResponse20047**](InlineResponse20047.md)
+[**InlineResponse20045**](InlineResponse20045.md)
### Authorization
@@ -11760,7 +12014,317 @@ public class Example {
NewPassword result = apiInstance.resetPassword(body);
System.out.println(result);
} catch (ApiException e) {
- System.err.println("Exception when calling ManagementApi#resetPassword");
+ System.err.println("Exception when calling ManagementApi#resetPassword");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **body** | [**NewPassword**](NewPassword.md)| body |
+
+### Return type cool
+
+[**NewPassword**](NewPassword.md)
+
+### Authorization
+
+[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **204** | Created | - |
+
+
+## scimCreateGroup
+
+> ScimGroup scimCreateGroup(body)
+
+Create SCIM group
+
+Create a new Talon.One group using the SCIM Group provisioning protocol with an identity provider, for example, Microsoft Entra ID, and assign members from the payload to the new group. In Talon.One, a `Group` corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and `members` are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
+
+### Example
+
+```java
+// Import classes:
+import one.talon.ApiClient;
+import one.talon.ApiException;
+import one.talon.Configuration;
+import one.talon.auth.*;
+import one.talon.models.*;
+import one.talon.api.ManagementApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://yourbaseurl.talon.one");
+
+ // Configure API key authorization: management_key
+ ApiKeyAuth management_key = (ApiKeyAuth) defaultClient.getAuthentication("management_key");
+ management_key.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //management_key.setApiKeyPrefix("Token");
+
+ // Configure API key authorization: manager_auth
+ ApiKeyAuth manager_auth = (ApiKeyAuth) defaultClient.getAuthentication("manager_auth");
+ manager_auth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //manager_auth.setApiKeyPrefix("Token");
+
+ ManagementApi apiInstance = new ManagementApi(defaultClient);
+ ScimBaseGroup body = new ScimBaseGroup(); // ScimBaseGroup | body
+ try {
+ ScimGroup result = apiInstance.scimCreateGroup(body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling ManagementApi#scimCreateGroup");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **body** | [**ScimBaseGroup**](ScimBaseGroup.md)| body |
+
+### Return type cool
+
+[**ScimGroup**](ScimGroup.md)
+
+### Authorization
+
+[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **201** | Created | - |
+
+
+## scimCreateUser
+
+> ScimUser scimCreateUser(body)
+
+Create SCIM user
+
+Create a new Talon.One user using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID.
+
+### Example
+
+```java
+// Import classes:
+import one.talon.ApiClient;
+import one.talon.ApiException;
+import one.talon.Configuration;
+import one.talon.auth.*;
+import one.talon.models.*;
+import one.talon.api.ManagementApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://yourbaseurl.talon.one");
+
+ // Configure API key authorization: management_key
+ ApiKeyAuth management_key = (ApiKeyAuth) defaultClient.getAuthentication("management_key");
+ management_key.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //management_key.setApiKeyPrefix("Token");
+
+ // Configure API key authorization: manager_auth
+ ApiKeyAuth manager_auth = (ApiKeyAuth) defaultClient.getAuthentication("manager_auth");
+ manager_auth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //manager_auth.setApiKeyPrefix("Token");
+
+ ManagementApi apiInstance = new ManagementApi(defaultClient);
+ ScimNewUser body = new ScimNewUser(); // ScimNewUser | body
+ try {
+ ScimUser result = apiInstance.scimCreateUser(body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling ManagementApi#scimCreateUser");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **body** | [**ScimNewUser**](ScimNewUser.md)| body |
+
+### Return type cool
+
+[**ScimUser**](ScimUser.md)
+
+### Authorization
+
+[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **201** | Created | - |
+
+
+## scimDeleteGroup
+
+> scimDeleteGroup(groupId)
+
+Delete SCIM group
+
+Delete a specific group created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. In Talon.One, a `Group` corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and `members` are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
+
+### Example
+
+```java
+// Import classes:
+import one.talon.ApiClient;
+import one.talon.ApiException;
+import one.talon.Configuration;
+import one.talon.auth.*;
+import one.talon.models.*;
+import one.talon.api.ManagementApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://yourbaseurl.talon.one");
+
+ // Configure API key authorization: management_key
+ ApiKeyAuth management_key = (ApiKeyAuth) defaultClient.getAuthentication("management_key");
+ management_key.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //management_key.setApiKeyPrefix("Token");
+
+ // Configure API key authorization: manager_auth
+ ApiKeyAuth manager_auth = (ApiKeyAuth) defaultClient.getAuthentication("manager_auth");
+ manager_auth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //manager_auth.setApiKeyPrefix("Token");
+
+ ManagementApi apiInstance = new ManagementApi(defaultClient);
+ Long groupId = 56L; // Long | The ID of the group.
+ try {
+ apiInstance.scimDeleteGroup(groupId);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling ManagementApi#scimDeleteGroup");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **groupId** | **Long**| The ID of the group. |
+
+### Return type cool
+
+null (empty response body)
+
+### Authorization
+
+[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: Not defined
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **204** | No Content | - |
+
+
+## scimDeleteUser
+
+> scimDeleteUser(userId)
+
+Delete SCIM user
+
+Delete a specific Talon.One user created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID.
+
+### Example
+
+```java
+// Import classes:
+import one.talon.ApiClient;
+import one.talon.ApiException;
+import one.talon.Configuration;
+import one.talon.auth.*;
+import one.talon.models.*;
+import one.talon.api.ManagementApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://yourbaseurl.talon.one");
+
+ // Configure API key authorization: management_key
+ ApiKeyAuth management_key = (ApiKeyAuth) defaultClient.getAuthentication("management_key");
+ management_key.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //management_key.setApiKeyPrefix("Token");
+
+ // Configure API key authorization: manager_auth
+ ApiKeyAuth manager_auth = (ApiKeyAuth) defaultClient.getAuthentication("manager_auth");
+ manager_auth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //manager_auth.setApiKeyPrefix("Token");
+
+ ManagementApi apiInstance = new ManagementApi(defaultClient);
+ Long userId = 56L; // Long | The ID of the user.
+ try {
+ apiInstance.scimDeleteUser(userId);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling ManagementApi#scimDeleteUser");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
@@ -11775,11 +12339,11 @@ public class Example {
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **body** | [**NewPassword**](NewPassword.md)| body |
+ **userId** | **Long**| The ID of the user. |
### Return type cool
-[**NewPassword**](NewPassword.md)
+null (empty response body)
### Authorization
@@ -11787,22 +12351,22 @@ Name | Type | Description | Notes
### HTTP request headers
-- **Content-Type**: application/json
-- **Accept**: application/json
+- **Content-Type**: Not defined
+- **Accept**: Not defined
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
-| **204** | Created | - |
+| **204** | No Content | - |
-## scimCreateUser
+## scimGetGroup
-> ScimUser scimCreateUser(body)
+> ScimGroup scimGetGroup(groupId)
-Create SCIM user
+Get SCIM group
-Create a new Talon.One user using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID.
+Retrieve data for a specific group created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. In Talon.One, a `Group` corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and `members` are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
### Example
@@ -11833,12 +12397,12 @@ public class Example {
//manager_auth.setApiKeyPrefix("Token");
ManagementApi apiInstance = new ManagementApi(defaultClient);
- ScimNewUser body = new ScimNewUser(); // ScimNewUser | body
+ Long groupId = 56L; // Long | The ID of the group.
try {
- ScimUser result = apiInstance.scimCreateUser(body);
+ ScimGroup result = apiInstance.scimGetGroup(groupId);
System.out.println(result);
} catch (ApiException e) {
- System.err.println("Exception when calling ManagementApi#scimCreateUser");
+ System.err.println("Exception when calling ManagementApi#scimGetGroup");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
@@ -11853,11 +12417,11 @@ public class Example {
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **body** | [**ScimNewUser**](ScimNewUser.md)| body |
+ **groupId** | **Long**| The ID of the group. |
### Return type cool
-[**ScimUser**](ScimUser.md)
+[**ScimGroup**](ScimGroup.md)
### Authorization
@@ -11865,22 +12429,22 @@ Name | Type | Description | Notes
### HTTP request headers
-- **Content-Type**: application/json
+- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
-| **201** | Created | - |
+| **200** | Group details | - |
-## scimDeleteUser
+## scimGetGroups
-> scimDeleteUser(userId)
+> ScimGroupsListResponse scimGetGroups()
-Delete SCIM user
+List SCIM groups
-Delete a specific Talon.One user created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID.
+Retrieve a paginated list of groups created using the SCIM protocol with an identity provider, for example, Microsoft Entra ID. In Talon.One, a `Group` corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and `members` are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
### Example
@@ -11911,11 +12475,11 @@ public class Example {
//manager_auth.setApiKeyPrefix("Token");
ManagementApi apiInstance = new ManagementApi(defaultClient);
- Long userId = 56L; // Long | The ID of the user.
try {
- apiInstance.scimDeleteUser(userId);
+ ScimGroupsListResponse result = apiInstance.scimGetGroups();
+ System.out.println(result);
} catch (ApiException e) {
- System.err.println("Exception when calling ManagementApi#scimDeleteUser");
+ System.err.println("Exception when calling ManagementApi#scimGetGroups");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
@@ -11927,14 +12491,11 @@ public class Example {
### Parameters
-
-Name | Type | Description | Notes
-------------- | ------------- | ------------- | -------------
- **userId** | **Long**| The ID of the user. |
+This endpoint does not need any parameter.
### Return type cool
-null (empty response body)
+[**ScimGroupsListResponse**](ScimGroupsListResponse.md)
### Authorization
@@ -11943,12 +12504,12 @@ null (empty response body)
### HTTP request headers
- **Content-Type**: Not defined
-- **Accept**: Not defined
+- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
-| **204** | No Content | - |
+| **200** | List of SCIM groups | - |
## scimGetResourceTypes
@@ -12325,6 +12886,86 @@ This endpoint does not need any parameter.
| **200** | List of SCIM users | - |
+## scimPatchGroup
+
+> ScimGroup scimPatchGroup(groupId, body)
+
+Update SCIM group attributes
+
+Update certain attributes of a group created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. This endpoint allows for selective adding, removing, or replacing of specific group attributes while other attributes remain unchanged. In Talon.One, a `Group` corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and `members` are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
+
+### Example
+
+```java
+// Import classes:
+import one.talon.ApiClient;
+import one.talon.ApiException;
+import one.talon.Configuration;
+import one.talon.auth.*;
+import one.talon.models.*;
+import one.talon.api.ManagementApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://yourbaseurl.talon.one");
+
+ // Configure API key authorization: management_key
+ ApiKeyAuth management_key = (ApiKeyAuth) defaultClient.getAuthentication("management_key");
+ management_key.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //management_key.setApiKeyPrefix("Token");
+
+ // Configure API key authorization: manager_auth
+ ApiKeyAuth manager_auth = (ApiKeyAuth) defaultClient.getAuthentication("manager_auth");
+ manager_auth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //manager_auth.setApiKeyPrefix("Token");
+
+ ManagementApi apiInstance = new ManagementApi(defaultClient);
+ Long groupId = 56L; // Long | The ID of the group.
+ ScimPatchRequest body = new ScimPatchRequest(); // ScimPatchRequest | body
+ try {
+ ScimGroup result = apiInstance.scimPatchGroup(groupId, body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling ManagementApi#scimPatchGroup");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **groupId** | **Long**| The ID of the group. |
+ **body** | [**ScimPatchRequest**](ScimPatchRequest.md)| body |
+
+### Return type cool
+
+[**ScimGroup**](ScimGroup.md)
+
+### Authorization
+
+[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Group details | - |
+
+
## scimPatchUser
> ScimUser scimPatchUser(userId, body)
@@ -12405,6 +13046,86 @@ Name | Type | Description | Notes
| **200** | User details | - |
+## scimReplaceGroupAttributes
+
+> ScimGroup scimReplaceGroupAttributes(groupId, body)
+
+Update SCIM group
+
+Update the details of a specific group created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. This endpoint replaces all attributes of the given group with the attributes provided in the request payload. In Talon.One, a `Group` corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and `members` are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
+
+### Example
+
+```java
+// Import classes:
+import one.talon.ApiClient;
+import one.talon.ApiException;
+import one.talon.Configuration;
+import one.talon.auth.*;
+import one.talon.models.*;
+import one.talon.api.ManagementApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://yourbaseurl.talon.one");
+
+ // Configure API key authorization: management_key
+ ApiKeyAuth management_key = (ApiKeyAuth) defaultClient.getAuthentication("management_key");
+ management_key.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //management_key.setApiKeyPrefix("Token");
+
+ // Configure API key authorization: manager_auth
+ ApiKeyAuth manager_auth = (ApiKeyAuth) defaultClient.getAuthentication("manager_auth");
+ manager_auth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //manager_auth.setApiKeyPrefix("Token");
+
+ ManagementApi apiInstance = new ManagementApi(defaultClient);
+ Long groupId = 56L; // Long | The ID of the group.
+ ScimBaseGroup body = new ScimBaseGroup(); // ScimBaseGroup | body
+ try {
+ ScimGroup result = apiInstance.scimReplaceGroupAttributes(groupId, body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling ManagementApi#scimReplaceGroupAttributes");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **groupId** | **Long**| The ID of the group. |
+ **body** | [**ScimBaseGroup**](ScimBaseGroup.md)| body |
+
+### Return type cool
+
+[**ScimGroup**](ScimGroup.md)
+
+### Authorization
+
+[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Group details | - |
+
+
## scimReplaceUserAttributes
> ScimUser scimReplaceUserAttributes(userId, body)
@@ -12697,6 +13418,89 @@ Name | Type | Description | Notes
| **200** | OK | - |
+## summarizeCampaignStoreBudget
+
+> InlineResponse20047 summarizeCampaignStoreBudget(applicationId, campaignId)
+
+Get summary of campaign store budgets
+
+Fetch a summary of all store budget information for a given campaign.
+
+### Example
+
+```java
+// Import classes:
+import one.talon.ApiClient;
+import one.talon.ApiException;
+import one.talon.Configuration;
+import one.talon.auth.*;
+import one.talon.models.*;
+import one.talon.api.ManagementApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://yourbaseurl.talon.one");
+
+ // Configure API key authorization: management_key
+ ApiKeyAuth management_key = (ApiKeyAuth) defaultClient.getAuthentication("management_key");
+ management_key.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //management_key.setApiKeyPrefix("Token");
+
+ // Configure API key authorization: manager_auth
+ ApiKeyAuth manager_auth = (ApiKeyAuth) defaultClient.getAuthentication("manager_auth");
+ manager_auth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //manager_auth.setApiKeyPrefix("Token");
+
+ ManagementApi apiInstance = new ManagementApi(defaultClient);
+ Long 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.
+ try {
+ InlineResponse20047 result = apiInstance.summarizeCampaignStoreBudget(applicationId, campaignId);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling ManagementApi#summarizeCampaignStoreBudget");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **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. |
+
+### Return type cool
+
+[**InlineResponse20047**](InlineResponse20047.md)
+
+### Authorization
+
+[management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **400** | Bad request | - |
+| **401** | Unauthorized - Invalid API key | - |
+| **404** | Not found | - |
+
+
## transferLoyaltyCard
> transferLoyaltyCard(loyaltyProgramId, loyaltyCardId, body)
diff --git a/docs/ModelImport.md b/docs/ModelImport.md
index 058e54cb..9ddc9a5e 100644
--- a/docs/ModelImport.md
+++ b/docs/ModelImport.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**accountId** | **Long** | The ID of the account that owns this entity. |
**userId** | **Long** | The ID of the user associated with this entity. |
diff --git a/docs/ModelReturn.md b/docs/ModelReturn.md
index 859360cb..cbf6b9d1 100644
--- a/docs/ModelReturn.md
+++ b/docs/ModelReturn.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**applicationId** | **Long** | The ID of the Application that owns this entity. |
**accountId** | **Long** | The ID of the account that owns this entity. |
diff --git a/docs/MultipleAudiencesItem.md b/docs/MultipleAudiencesItem.md
index 49078163..ec8347de 100644
--- a/docs/MultipleAudiencesItem.md
+++ b/docs/MultipleAudiencesItem.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**name** | **String** | The human-friendly display name for this audience. |
**integrationId** | **String** | The ID of this audience in the third-party integration. |
diff --git a/docs/NewMessageTest.md b/docs/NewMessageTest.md
index 8e7343c7..27920566 100644
--- a/docs/NewMessageTest.md
+++ b/docs/NewMessageTest.md
@@ -22,6 +22,8 @@ Name | Value
CAMPAIGN | "campaign"
LOYALTY_ADDED_DEDUCTED_POINTS | "loyalty_added_deducted_points"
CARD_ADDED_DEDUCTED_POINTS | "card_added_deducted_points"
+LOYALTY_ADDED_DEDUCTED_POINTS_BALANCES | "loyalty_added_deducted_points_balances"
+LOYALTY_CARD_ADDED_DEDUCTED_POINTS_BALANCES | "loyalty_card_added_deducted_points_balances"
COUPON | "coupon"
EXPIRING_COUPONS | "expiring_coupons"
EXPIRING_POINTS | "expiring_points"
diff --git a/docs/NewPriceAdjustment.md b/docs/NewPriceAdjustment.md
new file mode 100644
index 00000000..6a58713d
--- /dev/null
+++ b/docs/NewPriceAdjustment.md
@@ -0,0 +1,17 @@
+
+
+# NewPriceAdjustment
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**priceType** | **String** | The price type (e.g. the price for members only) to apply to a given SKU. |
+**price** | [**BigDecimal**](BigDecimal.md) | The value of the price type applied to the SKU. When set to `null`, the defined price type no longer applies to the SKU. | [optional]
+**referenceId** | **String** | A unique reference identifier, e.g. a UUID. |
+**calculatedAt** | [**OffsetDateTime**](OffsetDateTime.md) | The time at which this price was calculated. If provided, this is used to determine the most recent price adjustment to choose if price adjustments overlap. Defaults to internal creation time if not provided. | [optional]
+**effectiveFrom** | [**OffsetDateTime**](OffsetDateTime.md) | The date and time from which the price adjustment is effective. | [optional]
+**effectiveUntil** | [**OffsetDateTime**](OffsetDateTime.md) | The date and time until which the price adjustment is effective. | [optional]
+
+
+
diff --git a/docs/NewPriceType.md b/docs/NewPriceType.md
new file mode 100644
index 00000000..e0d3d778
--- /dev/null
+++ b/docs/NewPriceType.md
@@ -0,0 +1,15 @@
+
+
+# NewPriceType
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **String** | The API name of the price type. This is an immutable value. |
+**title** | **String** | The title of the price type. |
+**description** | **String** | The description of the price type. | [optional]
+**targetedAudiencesIds** | **List<Long>** | A list of the IDs of the audiences that are targeted by this price type. | [optional]
+
+
+
diff --git a/docs/NewRevisionVersion.md b/docs/NewRevisionVersion.md
index cc7bc981..c1e8104d 100644
--- a/docs/NewRevisionVersion.md
+++ b/docs/NewRevisionVersion.md
@@ -11,7 +11,7 @@ Name | Type | Description | Notes
**endTime** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp when the campaign will become inactive. | [optional]
**attributes** | [**Object**](.md) | Arbitrary properties associated with this campaign. | [optional]
**description** | **String** | A detailed description of the campaign. | [optional]
-**activeRulesetId** | **Long** | The ID of the ruleset this campaign template will use. | [optional]
+**activeRulesetId** | **Integer** | The ID of the ruleset this campaign template will use. | [optional]
**tags** | **List<String>** | A list of tags for the campaign template. | [optional]
**couponSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional]
**referralSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional]
diff --git a/docs/NewSecondaryDeployment.md b/docs/NewSecondaryDeployment.md
new file mode 100644
index 00000000..4638029c
--- /dev/null
+++ b/docs/NewSecondaryDeployment.md
@@ -0,0 +1,12 @@
+
+
+# NewSecondaryDeployment
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **String** | The name of the deployment. Used as subdomain, e.g. experimental.your-company.europe-west1.talon.one |
+
+
+
diff --git a/docs/NewWebhook.md b/docs/NewWebhook.md
index 770b40bd..365a4dbe 100644
--- a/docs/NewWebhook.md
+++ b/docs/NewWebhook.md
@@ -9,12 +9,14 @@ Name | Type | Description | Notes
**applicationIds** | **List<Long>** | The IDs of the Applications in which this webhook is available. An empty array means the webhook is available in `All Applications`. |
**title** | **String** | Name or title for this webhook. |
**description** | **String** | A description of the webhook. | [optional]
+**draft** | **Boolean** | Indicates if the webhook is a draft. |
**verb** | [**VerbEnum**](#VerbEnum) | API method for this webhook. |
**url** | **String** | API URL (supports templating using parameters) for this webhook. |
**headers** | **List<String>** | List of API HTTP headers for this webhook. |
**payload** | **String** | API payload (supports templating using parameters) for this webhook. | [optional]
**params** | [**List<TemplateArgDef>**](TemplateArgDef.md) | Array of template argument definitions. |
**enabled** | **Boolean** | Enables or disables webhook from showing in the Rule Builder. |
+**authenticationId** | **Long** | The ID of the credential that this webhook is using. | [optional]
diff --git a/docs/PendingActivePointsData.md b/docs/PendingActivePointsData.md
new file mode 100644
index 00000000..832c3d2f
--- /dev/null
+++ b/docs/PendingActivePointsData.md
@@ -0,0 +1,18 @@
+
+
+# PendingActivePointsData
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**loyaltyProgramID** | **Long** | The ID of the loyalty program. |
+**subledgerID** | **String** | The ID of the subledger, when applicable. If this field is empty, the main ledger is used. |
+**customerProfileID** | **String** | The integration ID of the customer profile whose loyalty points are becoming active. |
+**points** | [**BigDecimal**](BigDecimal.md) | The amount of pending loyalty points becoming active. |
+**activeOn** | [**OffsetDateTime**](OffsetDateTime.md) | The date and time the loyalty points become active. | [optional]
+**expireOn** | [**OffsetDateTime**](OffsetDateTime.md) | The date and time the loyalty points expire. | [optional]
+**sessionIntegrationID** | **String** | The integration ID of the session through which the points were earned. | [optional]
+
+
+
diff --git a/docs/PendingActivePointsNotification.md b/docs/PendingActivePointsNotification.md
new file mode 100644
index 00000000..0f592909
--- /dev/null
+++ b/docs/PendingActivePointsNotification.md
@@ -0,0 +1,22 @@
+
+
+# PendingActivePointsNotification
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**totalResultSize** | **Long** | |
+**data** | [**List<PendingActivePointsData>**](PendingActivePointsData.md) | The array of pending points. |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of notification. |
+
+
+
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+LOYALTYPOINTSPENDINGTOACTIVE | "LoyaltyPointsPendingToActive"
+
+
+
diff --git a/docs/Picklist.md b/docs/Picklist.md
index bc923812..f0539247 100644
--- a/docs/Picklist.md
+++ b/docs/Picklist.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**type** | [**TypeEnum**](#TypeEnum) | The type of allowed values in the picklist. If the type `time` is chosen, it must be an RFC3339 timestamp string. |
**values** | **List<String>** | The list of allowed values provided by this picklist. |
diff --git a/docs/PriceDetail.md b/docs/PriceDetail.md
new file mode 100644
index 00000000..8edbcac9
--- /dev/null
+++ b/docs/PriceDetail.md
@@ -0,0 +1,15 @@
+
+
+# PriceDetail
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**price** | **Float** | The value of this price type. | [optional]
+**adjustmentReferenceId** | [**UUID**](UUID.md) | The reference identifier of the selected price adjustment for this SKU. | [optional]
+**adjustmentEffectiveFrom** | [**OffsetDateTime**](OffsetDateTime.md) | The date and time from which the price adjustment is effective. | [optional]
+**adjustmentEffectiveUntil** | [**OffsetDateTime**](OffsetDateTime.md) | The date and time until which the price adjustment is effective. | [optional]
+
+
+
diff --git a/docs/PriceType.md b/docs/PriceType.md
new file mode 100644
index 00000000..648b1a02
--- /dev/null
+++ b/docs/PriceType.md
@@ -0,0 +1,20 @@
+
+
+# PriceType
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **Long** | The internal ID of this entity. |
+**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
+**accountId** | **Long** | The ID of the account that owns this price type. | [optional]
+**name** | **String** | The API name of the price type. This is an immutable value. |
+**title** | **String** | The title of the price type. |
+**description** | **String** | The description of the price type. | [optional]
+**modified** | [**OffsetDateTime**](OffsetDateTime.md) | The date and time when the price type was last modified. |
+**subscribedCatalogsIds** | **List<Long>** | A list of the IDs of the catalogs that are subscribed to this price type. |
+**targetedAudiencesIds** | **List<Long>** | A list of the IDs of the audiences that are targeted by this price type. |
+
+
+
diff --git a/docs/Referral.md b/docs/Referral.md
index 1c94d1f6..447a0d55 100644
--- a/docs/Referral.md
+++ b/docs/Referral.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**startDate** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp at which point the referral code becomes valid. | [optional]
**expiryDate** | [**OffsetDateTime**](OffsetDateTime.md) | Expiration date of the referral code. Referral never expires if this is omitted. | [optional]
diff --git a/docs/RevisionVersion.md b/docs/RevisionVersion.md
index 123c6168..9e9f34b2 100644
--- a/docs/RevisionVersion.md
+++ b/docs/RevisionVersion.md
@@ -19,7 +19,7 @@ Name | Type | Description | Notes
**endTime** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp when the campaign will become inactive. | [optional]
**attributes** | [**Object**](.md) | Arbitrary properties associated with this campaign. | [optional]
**description** | **String** | A detailed description of the campaign. | [optional]
-**activeRulesetId** | **Long** | The ID of the ruleset this campaign template will use. | [optional]
+**activeRulesetId** | **Integer** | The ID of the ruleset this campaign template will use. | [optional]
**tags** | **List<String>** | A list of tags for the campaign template. | [optional]
**couponSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional]
**referralSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional]
diff --git a/docs/Role.md b/docs/Role.md
index de52c50f..47740bc4 100644
--- a/docs/Role.md
+++ b/docs/Role.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**modified** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was last modified. |
**accountId** | **Long** | The ID of the account that owns this entity. |
diff --git a/docs/RoleV2.md b/docs/RoleV2.md
index 2829c25d..f7e5786c 100644
--- a/docs/RoleV2.md
+++ b/docs/RoleV2.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**modified** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was last modified. |
**accountId** | **Long** | The ID of the account that owns this entity. |
diff --git a/docs/Ruleset.md b/docs/Ruleset.md
index 63ecf3cc..899281ec 100644
--- a/docs/Ruleset.md
+++ b/docs/Ruleset.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**userId** | **Long** | The ID of the user associated with this entity. |
**rules** | [**List<Rule>**](Rule.md) | Set of rules to apply. |
diff --git a/docs/SamlConnection.md b/docs/SamlConnection.md
index 971a6f74..170c5267 100644
--- a/docs/SamlConnection.md
+++ b/docs/SamlConnection.md
@@ -16,7 +16,7 @@ Name | Type | Description | Notes
**signOutURL** | **String** | Single Sign-Out URL. | [optional]
**metadataURL** | **String** | Metadata URL. | [optional]
**audienceURI** | **String** | The application-defined unique identifier that is the intended audience of the SAML assertion. This is most often the SP Entity ID of your application. When not specified, the ACS URL will be used. |
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
diff --git a/docs/ScimBaseGroup.md b/docs/ScimBaseGroup.md
new file mode 100644
index 00000000..e2c9b4aa
--- /dev/null
+++ b/docs/ScimBaseGroup.md
@@ -0,0 +1,14 @@
+
+
+# ScimBaseGroup
+
+Define the schema for base fields in a group using the SCIM provisioning protocol. Talon.One uses this schema to create roles.
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**displayName** | **String** | Display name of the group (Talon.One role). | [optional]
+**members** | [**List<ScimGroupMember>**](ScimGroupMember.md) | List of members to assign to the new Talon.One role. | [optional]
+
+
+
diff --git a/docs/ScimGroup.md b/docs/ScimGroup.md
new file mode 100644
index 00000000..210b37f0
--- /dev/null
+++ b/docs/ScimGroup.md
@@ -0,0 +1,15 @@
+
+
+# ScimGroup
+
+Define the schema for groups created using the SCIM provisioning protocol. In Talon.One, a `Group` corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and `members` are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**displayName** | **String** | Display name of the group (Talon.One role). | [optional]
+**members** | [**List<ScimGroupMember>**](ScimGroupMember.md) | List of members to assign to the new Talon.One role. | [optional]
+**id** | **String** | ID of the group. |
+
+
+
diff --git a/docs/ScimGroupMember.md b/docs/ScimGroupMember.md
new file mode 100644
index 00000000..45ca5bba
--- /dev/null
+++ b/docs/ScimGroupMember.md
@@ -0,0 +1,14 @@
+
+
+# ScimGroupMember
+
+Member of the SCIM group. In Talon.One, the member is a [user](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to a specific role.
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**value** | **String** | Unique identifier of the member. | [optional]
+**display** | **String** | Identifier of the user. This is usually an email address. | [optional]
+
+
+
diff --git a/docs/ScimGroupsListResponse.md b/docs/ScimGroupsListResponse.md
new file mode 100644
index 00000000..c434811d
--- /dev/null
+++ b/docs/ScimGroupsListResponse.md
@@ -0,0 +1,15 @@
+
+
+# ScimGroupsListResponse
+
+List of groups created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. In Talon.One, a `Group` corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and `members` are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**resources** | [**List<ScimGroup>**](ScimGroup.md) | |
+**schemas** | **List<String>** | SCIM schema for the given resource. | [optional]
+**totalResults** | **Long** | Number of results in the response. | [optional]
+
+
+
diff --git a/docs/SecondaryDeployment.md b/docs/SecondaryDeployment.md
new file mode 100644
index 00000000..07d543eb
--- /dev/null
+++ b/docs/SecondaryDeployment.md
@@ -0,0 +1,31 @@
+
+
+# SecondaryDeployment
+
+The record of the secondary deployment.
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **Long** | Unique ID for this entity. Not to be confused with the Integration ID, which is set by your integration layer and used in most endpoints. |
+**name** | **String** | The name of the deployment. Used as subdomain, e.g. experimental.your-company.europe-west1.talon.one |
+**userId** | **Long** | The ID of the user who created the deployment. |
+**status** | [**StatusEnum**](#StatusEnum) | The status of the deployment. |
+**createdAt** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp when the deployment was created. |
+**activeAt** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp when the deployment became active. | [optional]
+**failedAt** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp when the deployment failed. | [optional]
+**deletedAt** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp when the deployment was deleted. | [optional]
+
+
+
+## Enum: StatusEnum
+
+Name | Value
+---- | -----
+CREATED | "created"
+ACTIVE | "active"
+FAILED | "failed"
+DELETED | "deleted"
+
+
+
diff --git a/docs/Store.md b/docs/Store.md
index 487fa591..9701de9a 100644
--- a/docs/Store.md
+++ b/docs/Store.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**name** | **String** | The name of the store. |
**description** | **String** | The description of the store. |
diff --git a/docs/TemplateDef.md b/docs/TemplateDef.md
index 043d3c5e..4f33fc75 100644
--- a/docs/TemplateDef.md
+++ b/docs/TemplateDef.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**applicationId** | **Long** | The ID of the Application that owns this entity. |
**title** | **String** | Campaigner-friendly name for the template that will be shown in the rule editor. |
diff --git a/docs/TierDowngradeData.md b/docs/TierDowngradeData.md
new file mode 100644
index 00000000..d63daf55
--- /dev/null
+++ b/docs/TierDowngradeData.md
@@ -0,0 +1,19 @@
+
+
+# TierDowngradeData
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**customerProfileID** | **String** | The integration ID of the customer profile whose tier was downgraded. |
+**loyaltyProgramID** | **Long** | The ID of the loyalty program. |
+**subledgerID** | **String** | The ID of the subledger, when applicable. If this field is empty, the main ledger is used. |
+**currentTier** | **String** | The name of the customer's current tier. | [optional]
+**currentPoints** | [**BigDecimal**](BigDecimal.md) | The number of points the customer had at the time of tier downgrade. |
+**oldTier** | **String** | The name of the customer's previous tier. |
+**tierExpirationDate** | [**OffsetDateTime**](OffsetDateTime.md) | The exact date and time the tier expires. | [optional]
+**timestampOfTierChange** | [**OffsetDateTime**](OffsetDateTime.md) | The exact date and time the tier was changed. |
+
+
+
diff --git a/docs/TierDowngradeNotification.md b/docs/TierDowngradeNotification.md
new file mode 100644
index 00000000..8e2597a6
--- /dev/null
+++ b/docs/TierDowngradeNotification.md
@@ -0,0 +1,22 @@
+
+
+# TierDowngradeNotification
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**totalResultSize** | **Long** | |
+**data** | [**List<TierDowngradeData>**](TierDowngradeData.md) | The array of tier downgrade notifications. |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of notification. |
+
+
+
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+TIERDOWNGRADE | "TierDowngrade"
+
+
+
diff --git a/docs/TierUpgradeData.md b/docs/TierUpgradeData.md
new file mode 100644
index 00000000..199f1700
--- /dev/null
+++ b/docs/TierUpgradeData.md
@@ -0,0 +1,21 @@
+
+
+# TierUpgradeData
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**customerProfileID** | **String** | The integration ID of the customer profile whose tier was upgraded. |
+**loyaltyProgramID** | **Long** | The ID of the loyalty program. |
+**subledgerID** | **String** | The ID of the subledger, when applicable. If this field is empty, the main ledger is used. |
+**currentTier** | **String** | The name of the customer's current tier. |
+**currentPoints** | [**BigDecimal**](BigDecimal.md) | The number of points the customer had at the time of tier upgrade. |
+**oldTier** | **String** | The name of the customer's previous tier. | [optional]
+**pointsRequiredToTheNextTier** | [**BigDecimal**](BigDecimal.md) | The number of points needed for a customer to reach the next tier. | [optional]
+**nextTier** | **String** | The name of the customer's next tier. | [optional]
+**tierExpirationDate** | [**OffsetDateTime**](OffsetDateTime.md) | The exact date and time the tier expires. |
+**timestampOfTierChange** | [**OffsetDateTime**](OffsetDateTime.md) | The exact date and time the tier was changed. |
+
+
+
diff --git a/docs/TierUpgradeNotification.md b/docs/TierUpgradeNotification.md
new file mode 100644
index 00000000..54c1ee9a
--- /dev/null
+++ b/docs/TierUpgradeNotification.md
@@ -0,0 +1,22 @@
+
+
+# TierUpgradeNotification
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**totalResultSize** | **Long** | |
+**data** | [**List<TierUpgradeData>**](TierUpgradeData.md) | The array of tier upgrade notifications. |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of notification. |
+
+
+
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+TIERUPGRADE | "TierUpgrade"
+
+
+
diff --git a/docs/TierWillDowngradeData.md b/docs/TierWillDowngradeData.md
new file mode 100644
index 00000000..92558c7d
--- /dev/null
+++ b/docs/TierWillDowngradeData.md
@@ -0,0 +1,19 @@
+
+
+# TierWillDowngradeData
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**customerProfileID** | **String** | The integration ID of the customer profile whose tier was downgraded. |
+**loyaltyProgramID** | **Long** | The ID of the loyalty program. |
+**subledgerID** | **String** | The ID of the subledger, when applicable. If this field is empty, the main ledger is used. |
+**currentTier** | **String** | The name of the customer's current tier. |
+**currentPoints** | [**BigDecimal**](BigDecimal.md) | The number of points the customer will have after the tier downgrade. |
+**pointsRequiredToRemain** | [**BigDecimal**](BigDecimal.md) | The number of points needed for a customer to remain on the same tier. |
+**nextTier** | **String** | The name of the customer's next tier. | [optional]
+**tierExpirationDate** | [**OffsetDateTime**](OffsetDateTime.md) | The date and time the tier expires. | [optional]
+
+
+
diff --git a/docs/TierWillDowngradeNotification.md b/docs/TierWillDowngradeNotification.md
new file mode 100644
index 00000000..d998289f
--- /dev/null
+++ b/docs/TierWillDowngradeNotification.md
@@ -0,0 +1,22 @@
+
+
+# TierWillDowngradeNotification
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**totalResultSize** | **Long** | |
+**data** | [**List<TierWillDowngradeData>**](TierWillDowngradeData.md) | The array of upcoming tier downgrade notifications. |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of notification. |
+
+
+
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+TIERWILLDOWNGRADE | "TierWillDowngrade"
+
+
+
diff --git a/docs/UpdateAchievement.md b/docs/UpdateAchievement.md
index 36a4a266..5be21467 100644
--- a/docs/UpdateAchievement.md
+++ b/docs/UpdateAchievement.md
@@ -12,7 +12,7 @@ Name | Type | Description | Notes
**target** | [**BigDecimal**](BigDecimal.md) | The required number of actions or the transactional milestone to complete the achievement. | [optional]
**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]
**periodEndOverride** | [**TimePoint**](TimePoint.md) | | [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. | [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**](OffsetDateTime.md) | The achievement's start date when `activationPolicy` is set to `fixed_schedule`. **Note:** It must be an RFC3339 timestamp string. | [optional]
**endDate** | [**OffsetDateTime**](OffsetDateTime.md) | 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]
@@ -25,6 +25,7 @@ Name | Value
---- | -----
NO_RECURRENCE | "no_recurrence"
ON_EXPIRATION | "on_expiration"
+ON_COMPLETION | "on_completion"
diff --git a/docs/UpdateCouponsData.md b/docs/UpdateCouponsData.md
new file mode 100644
index 00000000..be51c32b
--- /dev/null
+++ b/docs/UpdateCouponsData.md
@@ -0,0 +1,17 @@
+
+
+# UpdateCouponsData
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**batchID** | **String** | |
+**applicationID** | **Long** | |
+**campaignID** | **Long** | |
+**typeOfChange** | **String** | |
+**operation** | **String** | |
+**employeeName** | **String** | |
+
+
+
diff --git a/docs/User.md b/docs/User.md
index fec8aac6..989effba 100644
--- a/docs/User.md
+++ b/docs/User.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**modified** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was last modified. |
**email** | **String** | The email address associated with the user profile. |
diff --git a/docs/Webhook.md b/docs/Webhook.md
index 71010d5c..ff60adcd 100644
--- a/docs/Webhook.md
+++ b/docs/Webhook.md
@@ -6,18 +6,20 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**modified** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was last modified. |
**applicationIds** | **List<Long>** | The IDs of the Applications in which this webhook is available. An empty array means the webhook is available in `All Applications`. |
**title** | **String** | Name or title for this webhook. |
**description** | **String** | A description of the webhook. | [optional]
+**draft** | **Boolean** | Indicates if the webhook is a draft. |
**verb** | [**VerbEnum**](#VerbEnum) | API method for this webhook. |
**url** | **String** | API URL (supports templating using parameters) for this webhook. |
**headers** | **List<String>** | List of API HTTP headers for this webhook. |
**payload** | **String** | API payload (supports templating using parameters) for this webhook. | [optional]
**params** | [**List<TemplateArgDef>**](TemplateArgDef.md) | Array of template argument definitions. |
**enabled** | **Boolean** | Enables or disables webhook from showing in the Rule Builder. |
+**authenticationId** | **Long** | The ID of the credential that this webhook is using. | [optional]
diff --git a/docs/WebhookActivationLogEntry.md b/docs/WebhookActivationLogEntry.md
index 6d662252..eba02e14 100644
--- a/docs/WebhookActivationLogEntry.md
+++ b/docs/WebhookActivationLogEntry.md
@@ -8,9 +8,9 @@ Log of activated webhooks.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**integrationRequestUuid** | **String** | UUID reference of the integration request that triggered the effect with the webhook. |
-**webhookId** | **Long** | ID of the webhook that triggered the request. |
-**applicationId** | **Long** | ID of the application that triggered the webhook. |
-**campaignId** | **Long** | ID of the campaign that triggered the webhook. |
+**webhookId** | **Integer** | ID of the webhook that triggered the request. |
+**applicationId** | **Integer** | ID of the application that triggered the webhook. |
+**campaignId** | **Integer** | ID of the campaign that triggered the webhook. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp of request |
diff --git a/docs/WebhookAuthentication.md b/docs/WebhookAuthentication.md
new file mode 100644
index 00000000..b7f340be
--- /dev/null
+++ b/docs/WebhookAuthentication.md
@@ -0,0 +1,29 @@
+
+
+# WebhookAuthentication
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**createdBy** | **String** | The name of the user who created the webhook authentication. |
+**modifiedBy** | **String** | The name of the user who last modified the webhook authentication. |
+**webhooks** | [**List<WebhookAuthenticationWebhookRef>**](WebhookAuthenticationWebhookRef.md) | |
+**name** | **String** | The name of the webhook authentication. |
+**type** | [**TypeEnum**](#TypeEnum) | |
+**data** | [**Object**](.md) | |
+**id** | **Long** | The internal ID of this entity. |
+**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
+**modified** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was last modified. |
+
+
+
+## Enum: TypeEnum
+
+Name | Value
+---- | -----
+BASIC | "basic"
+CUSTOM | "custom"
+
+
+
diff --git a/docs/WebhookAuthenticationBase.md b/docs/WebhookAuthenticationBase.md
new file mode 100644
index 00000000..9790aff1
--- /dev/null
+++ b/docs/WebhookAuthenticationBase.md
@@ -0,0 +1,23 @@
+
+
+# WebhookAuthenticationBase
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **String** | The name of the webhook authentication. |
+**type** | [**TypeEnum**](#TypeEnum) | |
+**data** | [**Object**](.md) | |
+
+
+
+## Enum: TypeEnum
+
+Name | Value
+---- | -----
+BASIC | "basic"
+CUSTOM | "custom"
+
+
+
diff --git a/docs/WebhookAuthenticationDataBasic.md b/docs/WebhookAuthenticationDataBasic.md
new file mode 100644
index 00000000..ecf27e2c
--- /dev/null
+++ b/docs/WebhookAuthenticationDataBasic.md
@@ -0,0 +1,13 @@
+
+
+# WebhookAuthenticationDataBasic
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**username** | **String** | The Basic HTTP username. |
+**password** | **String** | The Basic HTTP password. |
+
+
+
diff --git a/docs/WebhookAuthenticationDataCustom.md b/docs/WebhookAuthenticationDataCustom.md
new file mode 100644
index 00000000..4df0c370
--- /dev/null
+++ b/docs/WebhookAuthenticationDataCustom.md
@@ -0,0 +1,12 @@
+
+
+# WebhookAuthenticationDataCustom
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**headers** | **Map<String, String>** | |
+
+
+
diff --git a/docs/WebhookAuthenticationWebhookRef.md b/docs/WebhookAuthenticationWebhookRef.md
new file mode 100644
index 00000000..db717bea
--- /dev/null
+++ b/docs/WebhookAuthenticationWebhookRef.md
@@ -0,0 +1,14 @@
+
+
+# WebhookAuthenticationWebhookRef
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **Long** | The internal ID of this entity. |
+**title** | **String** | The title of the webhook authentication. |
+**description** | **String** | A description of the webhook authentication. | [optional]
+
+
+
diff --git a/docs/WebhookLogEntry.md b/docs/WebhookLogEntry.md
index c192f194..bac9be49 100644
--- a/docs/WebhookLogEntry.md
+++ b/docs/WebhookLogEntry.md
@@ -9,12 +9,12 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **String** | UUID reference of the webhook request. |
**integrationRequestUuid** | **String** | UUID reference of the integration request linked to this webhook request. |
-**webhookId** | **Long** | ID of the webhook that triggered the request. |
-**applicationId** | **Long** | ID of the application that triggered the webhook. | [optional]
+**webhookId** | **Integer** | ID of the webhook that triggered the request. |
+**applicationId** | **Integer** | ID of the application that triggered the webhook. | [optional]
**url** | **String** | The target URL of the request. |
**request** | **String** | Request message |
**response** | **String** | Response message | [optional]
-**status** | **Long** | HTTP status code of response. | [optional]
+**status** | **Integer** | HTTP status code of response. | [optional]
**requestTime** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp of request |
**responseTime** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp of response | [optional]
diff --git a/docs/WebhookWithOutgoingIntegrationDetails.md b/docs/WebhookWithOutgoingIntegrationDetails.md
index 079324a7..1a4679b3 100644
--- a/docs/WebhookWithOutgoingIntegrationDetails.md
+++ b/docs/WebhookWithOutgoingIntegrationDetails.md
@@ -6,18 +6,20 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **Long** | Internal ID of this entity. |
+**id** | **Long** | The internal ID of this entity. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. |
**modified** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was last modified. |
**applicationIds** | **List<Long>** | The IDs of the Applications in which this webhook is available. An empty array means the webhook is available in `All Applications`. |
**title** | **String** | Name or title for this webhook. |
**description** | **String** | A description of the webhook. | [optional]
+**draft** | **Boolean** | Indicates if the webhook is a draft. |
**verb** | [**VerbEnum**](#VerbEnum) | API method for this webhook. |
**url** | **String** | API URL (supports templating using parameters) for this webhook. |
**headers** | **List<String>** | List of API HTTP headers for this webhook. |
**payload** | **String** | API payload (supports templating using parameters) for this webhook. | [optional]
**params** | [**List<TemplateArgDef>**](TemplateArgDef.md) | Array of template argument definitions. |
**enabled** | **Boolean** | Enables or disables webhook from showing in the Rule Builder. |
+**authenticationId** | **Long** | The ID of the credential that this webhook is using. | [optional]
**outgoingIntegrationTemplateId** | **Long** | Identifier of the outgoing integration template. | [optional]
**outgoingIntegrationTypeId** | **Long** | Identifier of the outgoing integration type. | [optional]
**outgoingIntegrationTypeName** | **String** | Name of the outgoing integration. | [optional]
diff --git a/pom.xml b/pom.xml
index 48d73594..1ffbafeb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
talon-one-client
jar
talon-one-client
- 12.0.0
+ 13.0.0
https://github.com/talon-one/maven-artefacts
Talon.One unified JAVA SDK. It allows for programmatic access to the integration and management API with their respective authentication strategies
diff --git a/src/main/java/one/talon/ApiClient.java b/src/main/java/one/talon/ApiClient.java
index 5f39512b..dca6c2be 100644
--- a/src/main/java/one/talon/ApiClient.java
+++ b/src/main/java/one/talon/ApiClient.java
@@ -132,7 +132,7 @@ private void init() {
json = new JSON();
// Set default User-Agent.
- setUserAgent("OpenAPI-Generator/12.0.0/java");
+ setUserAgent("OpenAPI-Generator/13.0.0/java");
authentications = new HashMap();
}
diff --git a/src/main/java/one/talon/api/IntegrationApi.java b/src/main/java/one/talon/api/IntegrationApi.java
index cf736c4e..13b9d991 100644
--- a/src/main/java/one/talon/api/IntegrationApi.java
+++ b/src/main/java/one/talon/api/IntegrationApi.java
@@ -3562,7 +3562,7 @@ private okhttp3.Call trackEventV2ValidateBeforeCall(IntegrationEventV2Request bo
/**
* 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). <div class=\"redoc-section\"> <p class=\"title\">Important</p> 1. `profileId` is required even though the schema does not say it. 1. If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. 1. We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div>
+ * Triggers a custom event. To use this endpoint: 1. Define a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) in the Campaign Manager. 1. Update or create a rule to check for this event. 1. Trigger the event with this endpoint. After you have successfully sent an event to Talon.One, you can list the received events in the **Events** view in the Campaign Manager. Talon.One also offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/entities/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). <div class=\"redoc-section\"> <p class=\"title\">Important</p> 1. `profileId` is required even though the schema does not specify it. 1. If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. 1. We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). 1. [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered in rule evaluation. </div>
* @param body 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)
@@ -3585,7 +3585,7 @@ public TrackEventV2Response trackEventV2(IntegrationEventV2Request body, String
/**
* 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). <div class=\"redoc-section\"> <p class=\"title\">Important</p> 1. `profileId` is required even though the schema does not say it. 1. If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. 1. We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div>
+ * Triggers a custom event. To use this endpoint: 1. Define a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) in the Campaign Manager. 1. Update or create a rule to check for this event. 1. Trigger the event with this endpoint. After you have successfully sent an event to Talon.One, you can list the received events in the **Events** view in the Campaign Manager. Talon.One also offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/entities/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). <div class=\"redoc-section\"> <p class=\"title\">Important</p> 1. `profileId` is required even though the schema does not specify it. 1. If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. 1. We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). 1. [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered in rule evaluation. </div>
* @param body 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)
@@ -3609,7 +3609,7 @@ public ApiResponse trackEventV2WithHttpInfo(IntegrationEve
/**
* 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). <div class=\"redoc-section\"> <p class=\"title\">Important</p> 1. `profileId` is required even though the schema does not say it. 1. If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. 1. We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div>
+ * Triggers a custom event. To use this endpoint: 1. Define a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) in the Campaign Manager. 1. Update or create a rule to check for this event. 1. Trigger the event with this endpoint. After you have successfully sent an event to Talon.One, you can list the received events in the **Events** view in the Campaign Manager. Talon.One also offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/entities/events). Ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). <div class=\"redoc-section\"> <p class=\"title\">Important</p> 1. `profileId` is required even though the schema does not specify it. 1. If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. 1. We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). 1. [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered in rule evaluation. </div>
* @param body 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)
@@ -4080,7 +4080,7 @@ private okhttp3.Call updateCustomerProfileV2ValidateBeforeCall(String integratio
/**
* Update customer profile
- * Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div>
+ * Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. **Note:** [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered in rule evaluation when `runRuleEngine` is `true`. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div>
* @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 body body (required)
* @param runRuleEngine Indicates whether to run the Rule Engine. If `true`, the response includes: - The effects generated by the triggered campaigns are returned in the `effects` property. - The created coupons and referral objects. If `false`: - The rules are not executed and the `effects` property is always empty. - The response time improves. - You cannot use `responseContent` in the body. (optional, default to false)
@@ -4103,7 +4103,7 @@ public CustomerProfileIntegrationResponseV2 updateCustomerProfileV2(String integ
/**
* Update customer profile
- * Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div>
+ * Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. **Note:** [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered in rule evaluation when `runRuleEngine` is `true`. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div>
* @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 body body (required)
* @param runRuleEngine Indicates whether to run the Rule Engine. If `true`, the response includes: - The effects generated by the triggered campaigns are returned in the `effects` property. - The created coupons and referral objects. If `false`: - The rules are not executed and the `effects` property is always empty. - The response time improves. - You cannot use `responseContent` in the body. (optional, default to false)
@@ -4127,7 +4127,7 @@ public ApiResponse updateCustomerProfileV2
/**
* Update customer profile (asynchronously)
- * Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div>
+ * Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. **Note:** [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered in rule evaluation when `runRuleEngine` is `true`. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer profile returns a response with the requested integration state. - You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div>
* @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 body body (required)
* @param runRuleEngine Indicates whether to run the Rule Engine. If `true`, the response includes: - The effects generated by the triggered campaigns are returned in the `effects` property. - The created coupons and referral objects. If `false`: - The rules are not executed and the `effects` property is always empty. - The response time improves. - You cannot use `responseContent` in the body. (optional, default to false)
@@ -4354,7 +4354,7 @@ private okhttp3.Call updateCustomerSessionV2ValidateBeforeCall(String customerSe
/**
* Update customer session
- * Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** The currency for the session and the cart items in the session is the currency set for the Application that owns this session. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one).
+ * Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** - The currency for the session and the cart items in it is the currency set for the Application linked to this session. - [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered for rule evaluation. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one).
* @param customerSessionId The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. (required)
* @param body body (required)
* @param dry Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`: - The endpoint considers **only** the payload that you pass when **closing** the session. When you do not use the `dry` parameter, the endpoint behaves as a typical PUT endpoint. Each update builds upon the previous ones. - You can use the `evaluableCampaignIds` body property to select specific campaigns to run. [See the docs](https://docs.talon.one/docs/dev/integration-api/dry-requests). (optional)
@@ -4377,7 +4377,7 @@ public IntegrationStateV2 updateCustomerSessionV2(String customerSessionId, Inte
/**
* Update customer session
- * Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** The currency for the session and the cart items in the session is the currency set for the Application that owns this session. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one).
+ * Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** - The currency for the session and the cart items in it is the currency set for the Application linked to this session. - [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered for rule evaluation. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one).
* @param customerSessionId The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. (required)
* @param body body (required)
* @param dry Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`: - The endpoint considers **only** the payload that you pass when **closing** the session. When you do not use the `dry` parameter, the endpoint behaves as a typical PUT endpoint. Each update builds upon the previous ones. - You can use the `evaluableCampaignIds` body property to select specific campaigns to run. [See the docs](https://docs.talon.one/docs/dev/integration-api/dry-requests). (optional)
@@ -4401,7 +4401,7 @@ public ApiResponse updateCustomerSessionV2WithHttpInfo(Strin
/**
* Update customer session (asynchronously)
- * Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** The currency for the session and the cart items in the session is the currency set for the Application that owns this session. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one).
+ * Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** - The currency for the session and the cart items in it is the currency set for the Application linked to this session. - [Archived campaigns](https://docs.talon.one/docs/product/campaigns/managing-campaigns#archiving-a-campaign) are not considered for rule evaluation. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions) and their states and refer to the `state` parameter documentation the request body schema docs below. ### Sessions and customer profiles - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> - Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one).
* @param customerSessionId The `integration ID` of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint. (required)
* @param body body (required)
* @param dry Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`: - The endpoint considers **only** the payload that you pass when **closing** the session. When you do not use the `dry` parameter, the endpoint behaves as a typical PUT endpoint. Each update builds upon the previous ones. - You can use the `evaluableCampaignIds` body property to select specific campaigns to run. [See the docs](https://docs.talon.one/docs/dev/integration-api/dry-requests). (optional)
diff --git a/src/main/java/one/talon/api/ManagementApi.java b/src/main/java/one/talon/api/ManagementApi.java
index 2083a158..69b8265d 100644
--- a/src/main/java/one/talon/api/ManagementApi.java
+++ b/src/main/java/one/talon/api/ManagementApi.java
@@ -112,6 +112,7 @@
import one.talon.model.NewAdditionalCost;
import one.talon.model.NewAttribute;
import one.talon.model.NewCampaignCollection;
+import one.talon.model.NewCampaignStoreBudget;
import one.talon.model.NewCollection;
import one.talon.model.NewCouponCreationJob;
import one.talon.model.NewCouponDeletionJob;
@@ -128,6 +129,9 @@
import one.talon.model.RoleV2;
import one.talon.model.RoleV2Base;
import one.talon.model.Ruleset;
+import one.talon.model.ScimBaseGroup;
+import one.talon.model.ScimGroup;
+import one.talon.model.ScimGroupsListResponse;
import one.talon.model.ScimNewUser;
import one.talon.model.ScimPatchRequest;
import one.talon.model.ScimResourceTypesListResponse;
@@ -1423,6 +1427,140 @@ public okhttp3.Call createCampaignFromTemplateAsync(Long applicationId, CreateTe
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
+ /**
+ * Build call for createCampaignStoreBudget
+ * @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 body body (required)
+ * @param _callback Callback for upload/download progress
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 201 | Created | - |
+ | 400 | Bad request | - |
+ | 409 | Conflict | - |
+
+ */
+ public okhttp3.Call createCampaignStoreBudgetCall(Long applicationId, Long campaignId, NewCampaignStoreBudget body, final ApiCallback _callback) throws ApiException {
+ Object localVarPostBody = body;
+
+ // create path and map variables
+ String localVarPath = "/v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets"
+ .replaceAll("\\{" + "applicationId" + "\\}", localVarApiClient.escapeString(applicationId.toString()))
+ .replaceAll("\\{" + "campaignId" + "\\}", localVarApiClient.escapeString(campaignId.toString()));
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap();
+ final String[] localVarAccepts = {
+ "application/json"
+ };
+ final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) {
+ localVarHeaderParams.put("Accept", localVarAccept);
+ }
+
+ final String[] localVarContentTypes = {
+ "application/json"
+ };
+ final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+
+ String[] localVarAuthNames = new String[] { "management_key", "manager_auth" };
+ return localVarApiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private okhttp3.Call createCampaignStoreBudgetValidateBeforeCall(Long applicationId, Long campaignId, NewCampaignStoreBudget body, 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 createCampaignStoreBudget(Async)");
+ }
+
+ // verify the required parameter 'campaignId' is set
+ if (campaignId == null) {
+ throw new ApiException("Missing the required parameter 'campaignId' when calling createCampaignStoreBudget(Async)");
+ }
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ throw new ApiException("Missing the required parameter 'body' when calling createCampaignStoreBudget(Async)");
+ }
+
+
+ okhttp3.Call localVarCall = createCampaignStoreBudgetCall(applicationId, campaignId, body, _callback);
+ return localVarCall;
+
+ }
+
+ /**
+ * Create campaign store budget
+ * Create a new store budget for a given 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 body body (required)
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 201 | Created | - |
+ | 400 | Bad request | - |
+ | 409 | Conflict | - |
+
+ */
+ public void createCampaignStoreBudget(Long applicationId, Long campaignId, NewCampaignStoreBudget body) throws ApiException {
+ createCampaignStoreBudgetWithHttpInfo(applicationId, campaignId, body);
+ }
+
+ /**
+ * Create campaign store budget
+ * Create a new store budget for a given 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 body body (required)
+ * @return ApiResponse<Void>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 201 | Created | - |
+ | 400 | Bad request | - |
+ | 409 | Conflict | - |
+
+ */
+ public ApiResponse createCampaignStoreBudgetWithHttpInfo(Long applicationId, Long campaignId, NewCampaignStoreBudget body) throws ApiException {
+ okhttp3.Call localVarCall = createCampaignStoreBudgetValidateBeforeCall(applicationId, campaignId, body, null);
+ return localVarApiClient.execute(localVarCall);
+ }
+
+ /**
+ * Create campaign store budget (asynchronously)
+ * Create a new store budget for a given 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 body body (required)
+ * @param _callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 201 | Created | - |
+ | 400 | Bad request | - |
+ | 409 | Conflict | - |
+
+ */
+ public okhttp3.Call createCampaignStoreBudgetAsync(Long applicationId, Long campaignId, NewCampaignStoreBudget body, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = createCampaignStoreBudgetValidateBeforeCall(applicationId, campaignId, body, _callback);
+ localVarApiClient.executeAsync(localVarCall, _callback);
+ return localVarCall;
+ }
/**
* Build call for createCollection
* @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required)
@@ -3272,6 +3410,143 @@ public okhttp3.Call deleteCampaignAsync(Long applicationId, Long campaignId, fin
localVarApiClient.executeAsync(localVarCall, _callback);
return localVarCall;
}
+ /**
+ * Build call for deleteCampaignStoreBudgets
+ * @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 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 _callback Callback for upload/download progress
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 204 | Deleted | - |
+ | 400 | Bad request | - |
+
+ */
+ public okhttp3.Call deleteCampaignStoreBudgetsCall(Long applicationId, Long campaignId, String action, String period, final ApiCallback _callback) throws ApiException {
+ Object localVarPostBody = null;
+
+ // create path and map variables
+ String localVarPath = "/v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets"
+ .replaceAll("\\{" + "applicationId" + "\\}", localVarApiClient.escapeString(applicationId.toString()))
+ .replaceAll("\\{" + "campaignId" + "\\}", localVarApiClient.escapeString(campaignId.toString()));
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ if (action != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("action", action));
+ }
+
+ if (period != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("period", period));
+ }
+
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap();
+ final String[] localVarAccepts = {
+ "application/json"
+ };
+ final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) {
+ localVarHeaderParams.put("Accept", localVarAccept);
+ }
+
+ final String[] localVarContentTypes = {
+
+ };
+ final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+
+ String[] localVarAuthNames = new String[] { "management_key", "manager_auth" };
+ return localVarApiClient.buildCall(localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private okhttp3.Call deleteCampaignStoreBudgetsValidateBeforeCall(Long applicationId, Long campaignId, String action, String period, 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 deleteCampaignStoreBudgets(Async)");
+ }
+
+ // verify the required parameter 'campaignId' is set
+ if (campaignId == null) {
+ throw new ApiException("Missing the required parameter 'campaignId' when calling deleteCampaignStoreBudgets(Async)");
+ }
+
+
+ okhttp3.Call localVarCall = deleteCampaignStoreBudgetsCall(applicationId, campaignId, action, period, _callback);
+ return localVarCall;
+
+ }
+
+ /**
+ * Delete campaign store budgets
+ * Delete the store budgets for a given 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 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)
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 204 | Deleted | - |
+ | 400 | Bad request | - |
+
+ */
+ public void deleteCampaignStoreBudgets(Long applicationId, Long campaignId, String action, String period) throws ApiException {
+ deleteCampaignStoreBudgetsWithHttpInfo(applicationId, campaignId, action, period);
+ }
+
+ /**
+ * Delete campaign store budgets
+ * Delete the store budgets for a given 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 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)
+ * @return ApiResponse<Void>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 204 | Deleted | - |
+ | 400 | Bad request | - |
+
+ */
+ public ApiResponse deleteCampaignStoreBudgetsWithHttpInfo(Long applicationId, Long campaignId, String action, String period) throws ApiException {
+ okhttp3.Call localVarCall = deleteCampaignStoreBudgetsValidateBeforeCall(applicationId, campaignId, action, period, null);
+ return localVarApiClient.execute(localVarCall);
+ }
+
+ /**
+ * Delete campaign store budgets (asynchronously)
+ * Delete the store budgets for a given 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 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 _callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 204 | Deleted | - |
+ | 400 | Bad request | - |
+
+ */
+ public okhttp3.Call deleteCampaignStoreBudgetsAsync(Long applicationId, Long campaignId, String action, String period, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = deleteCampaignStoreBudgetsValidateBeforeCall(applicationId, campaignId, action, period, _callback);
+ localVarApiClient.executeAsync(localVarCall, _callback);
+ return localVarCall;
+ }
/**
* Build call for deleteCollection
* @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required)
@@ -4949,9 +5224,11 @@ public okhttp3.Call exportAudiencesMembershipsAsync(Long audienceId, final ApiCa
return localVarCall;
}
/**
- * Build call for exportCampaignStores
+ * Build call for exportCampaignStoreBudgets
* @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 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 _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -4964,16 +5241,24 @@ public okhttp3.Call exportAudiencesMembershipsAsync(Long audienceId, final ApiCa
| 404 | Not found | - |
*/
- public okhttp3.Call exportCampaignStoresCall(Long applicationId, Long campaignId, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call exportCampaignStoreBudgetsCall(Long applicationId, Long campaignId, String action, String period, final ApiCallback _callback) throws ApiException {
Object localVarPostBody = null;
// create path and map variables
- String localVarPath = "/v1/applications/{applicationId}/campaigns/{campaignId}/stores/export"
+ String localVarPath = "/v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets/export"
.replaceAll("\\{" + "applicationId" + "\\}", localVarApiClient.escapeString(applicationId.toString()))
.replaceAll("\\{" + "campaignId" + "\\}", localVarApiClient.escapeString(campaignId.toString()));
List localVarQueryParams = new ArrayList();
List localVarCollectionQueryParams = new ArrayList();
+ if (action != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("action", action));
+ }
+
+ if (period != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("period", period));
+ }
+
Map localVarHeaderParams = new HashMap();
Map localVarCookieParams = new HashMap();
Map localVarFormParams = new HashMap();
@@ -4996,29 +5281,31 @@ public okhttp3.Call exportCampaignStoresCall(Long applicationId, Long campaignId
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call exportCampaignStoresValidateBeforeCall(Long applicationId, Long campaignId, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call exportCampaignStoreBudgetsValidateBeforeCall(Long applicationId, Long campaignId, String action, String period, 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 exportCampaignStores(Async)");
+ throw new ApiException("Missing the required parameter 'applicationId' when calling exportCampaignStoreBudgets(Async)");
}
// verify the required parameter 'campaignId' is set
if (campaignId == null) {
- throw new ApiException("Missing the required parameter 'campaignId' when calling exportCampaignStores(Async)");
+ throw new ApiException("Missing the required parameter 'campaignId' when calling exportCampaignStoreBudgets(Async)");
}
- okhttp3.Call localVarCall = exportCampaignStoresCall(applicationId, campaignId, _callback);
+ okhttp3.Call localVarCall = exportCampaignStoreBudgetsCall(applicationId, campaignId, action, period, _callback);
return localVarCall;
}
/**
- * Export stores
- * Download a CSV file containing the stores linked to a specific campaign. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following column: - `store_integration_id`: The identifier of the store.
+ * Export campaign store budgets
+ * Download a CSV file containing the store budgets for a given campaign. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `store_integration_id`: The identifier of the store. - `limit`: The budget limit for the store.
* @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 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)
* @return String
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -5030,16 +5317,18 @@ private okhttp3.Call exportCampaignStoresValidateBeforeCall(Long applicationId,
| 404 | Not found | - |
*/
- public String exportCampaignStores(Long applicationId, Long campaignId) throws ApiException {
- ApiResponse localVarResp = exportCampaignStoresWithHttpInfo(applicationId, campaignId);
+ public String exportCampaignStoreBudgets(Long applicationId, Long campaignId, String action, String period) throws ApiException {
+ ApiResponse localVarResp = exportCampaignStoreBudgetsWithHttpInfo(applicationId, campaignId, action, period);
return localVarResp.getData();
}
/**
- * Export stores
- * Download a CSV file containing the stores linked to a specific campaign. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following column: - `store_integration_id`: The identifier of the store.
+ * Export campaign store budgets
+ * Download a CSV file containing the store budgets for a given campaign. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `store_integration_id`: The identifier of the store. - `limit`: The budget limit for the store.
* @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 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)
* @return ApiResponse<String>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -5051,17 +5340,19 @@ public String exportCampaignStores(Long applicationId, Long campaignId) throws A
| 404 | Not found | - |
*/
- public ApiResponse exportCampaignStoresWithHttpInfo(Long applicationId, Long campaignId) throws ApiException {
- okhttp3.Call localVarCall = exportCampaignStoresValidateBeforeCall(applicationId, campaignId, null);
+ public ApiResponse exportCampaignStoreBudgetsWithHttpInfo(Long applicationId, Long campaignId, String action, String period) throws ApiException {
+ okhttp3.Call localVarCall = exportCampaignStoreBudgetsValidateBeforeCall(applicationId, campaignId, action, period, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
/**
- * Export stores (asynchronously)
- * Download a CSV file containing the stores linked to a specific campaign. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following column: - `store_integration_id`: The identifier of the store.
+ * Export campaign store budgets (asynchronously)
+ * Download a CSV file containing the store budgets for a given campaign. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `store_integration_id`: The identifier of the store. - `limit`: The budget limit for the store.
* @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 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 _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
@@ -5074,18 +5365,17 @@ public ApiResponse exportCampaignStoresWithHttpInfo(Long applicationId,
| 404 | Not found | - |
*/
- public okhttp3.Call exportCampaignStoresAsync(Long applicationId, Long campaignId, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call exportCampaignStoreBudgetsAsync(Long applicationId, Long campaignId, String action, String period, final ApiCallback _callback) throws ApiException {
- okhttp3.Call localVarCall = exportCampaignStoresValidateBeforeCall(applicationId, campaignId, _callback);
+ okhttp3.Call localVarCall = exportCampaignStoreBudgetsValidateBeforeCall(applicationId, campaignId, action, period, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
/**
- * Build call for exportCollectionItems
+ * Build call for exportCampaignStores
* @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](#operation/listCollectionsInApplication) endpoint. (required)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -5093,18 +5383,18 @@ public okhttp3.Call exportCampaignStoresAsync(Long applicationId, Long campaignI
| Status Code | Description | Response Headers |
| 200 | OK | - |
- | 401 | Unauthorized | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized - Invalid API key | - |
| 404 | Not found | - |
*/
- public okhttp3.Call exportCollectionItemsCall(Long applicationId, Long campaignId, Long collectionId, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call exportCampaignStoresCall(Long applicationId, Long campaignId, final ApiCallback _callback) throws ApiException {
Object localVarPostBody = null;
// create path and map variables
- String localVarPath = "/v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}/export"
+ String localVarPath = "/v1/applications/{applicationId}/campaigns/{campaignId}/stores/export"
.replaceAll("\\{" + "applicationId" + "\\}", localVarApiClient.escapeString(applicationId.toString()))
- .replaceAll("\\{" + "campaignId" + "\\}", localVarApiClient.escapeString(campaignId.toString()))
- .replaceAll("\\{" + "collectionId" + "\\}", localVarApiClient.escapeString(collectionId.toString()));
+ .replaceAll("\\{" + "campaignId" + "\\}", localVarApiClient.escapeString(campaignId.toString()));
List localVarQueryParams = new ArrayList();
List localVarCollectionQueryParams = new ArrayList();
@@ -5130,11 +5420,145 @@ public okhttp3.Call exportCollectionItemsCall(Long applicationId, Long campaignI
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call exportCollectionItemsValidateBeforeCall(Long applicationId, Long campaignId, Long collectionId, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call exportCampaignStoresValidateBeforeCall(Long applicationId, Long campaignId, 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 exportCollectionItems(Async)");
+ throw new ApiException("Missing the required parameter 'applicationId' when calling exportCampaignStores(Async)");
+ }
+
+ // verify the required parameter 'campaignId' is set
+ if (campaignId == null) {
+ throw new ApiException("Missing the required parameter 'campaignId' when calling exportCampaignStores(Async)");
+ }
+
+
+ okhttp3.Call localVarCall = exportCampaignStoresCall(applicationId, campaignId, _callback);
+ return localVarCall;
+
+ }
+
+ /**
+ * Export stores
+ * Download a CSV file containing the stores linked to a specific campaign. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following column: - `store_integration_id`: The identifier of the store.
+ * @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)
+ * @return String
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized - Invalid API key | - |
+ | 404 | Not found | - |
+
+ */
+ public String exportCampaignStores(Long applicationId, Long campaignId) throws ApiException {
+ ApiResponse localVarResp = exportCampaignStoresWithHttpInfo(applicationId, campaignId);
+ return localVarResp.getData();
+ }
+
+ /**
+ * Export stores
+ * Download a CSV file containing the stores linked to a specific campaign. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following column: - `store_integration_id`: The identifier of the store.
+ * @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)
+ * @return ApiResponse<String>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized - Invalid API key | - |
+ | 404 | Not found | - |
+
+ */
+ public ApiResponse exportCampaignStoresWithHttpInfo(Long applicationId, Long campaignId) throws ApiException {
+ okhttp3.Call localVarCall = exportCampaignStoresValidateBeforeCall(applicationId, campaignId, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * Export stores (asynchronously)
+ * Download a CSV file containing the stores linked to a specific campaign. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following column: - `store_integration_id`: The identifier of the store.
+ * @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 _callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized - Invalid API key | - |
+ | 404 | Not found | - |
+
+ */
+ public okhttp3.Call exportCampaignStoresAsync(Long applicationId, Long campaignId, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = exportCampaignStoresValidateBeforeCall(applicationId, campaignId, _callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ return localVarCall;
+ }
+ /**
+ * Build call for exportCollectionItems
+ * @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](#operation/listCollectionsInApplication) endpoint. (required)
+ * @param _callback Callback for upload/download progress
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ * @http.response.details
+
+ | Status Code | Description | Response Headers |
+ | 200 | OK | - |
+ | 401 | Unauthorized | - |
+ | 404 | Not found | - |
+
+ */
+ public okhttp3.Call exportCollectionItemsCall(Long applicationId, Long campaignId, Long collectionId, final ApiCallback _callback) throws ApiException {
+ Object localVarPostBody = null;
+
+ // create path and map variables
+ String localVarPath = "/v1/applications/{applicationId}/campaigns/{campaignId}/collections/{collectionId}/export"
+ .replaceAll("\\{" + "applicationId" + "\\}", localVarApiClient.escapeString(applicationId.toString()))
+ .replaceAll("\\{" + "campaignId" + "\\}", localVarApiClient.escapeString(campaignId.toString()))
+ .replaceAll("\\{" + "collectionId" + "\\}", localVarApiClient.escapeString(collectionId.toString()));
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap();
+ final String[] localVarAccepts = {
+ "application/csv"
+ };
+ final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) {
+ localVarHeaderParams.put("Accept", localVarAccept);
+ }
+
+ final String[] localVarContentTypes = {
+
+ };
+ final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+
+ String[] localVarAuthNames = new String[] { "management_key", "manager_auth" };
+ return localVarApiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private okhttp3.Call exportCollectionItemsValidateBeforeCall(Long applicationId, Long campaignId, Long collectionId, 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 exportCollectionItems(Async)");
}
// verify the required parameter 'campaignId' is set
@@ -5526,7 +5950,7 @@ private okhttp3.Call exportCustomerSessionsValidateBeforeCall(Long applicationId
/**
* Export customer sessions
- * Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of cart items and additional costs in the session, before any discounts are applied. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `store_integration_id`: The integration ID of the store. - `coupons`: Coupon codes in the session.
+ * Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/dev/server-infrastructure-and-data-retention). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of cart items and additional costs in the session, before any discounts are applied. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `store_integration_id`: The integration ID of the store. - `coupons`: Coupon codes in the session.
* @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required)
* @param createdBefore Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional)
* @param createdAfter Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional)
@@ -5548,7 +5972,7 @@ public String exportCustomerSessions(Long applicationId, OffsetDateTime createdB
/**
* Export customer sessions
- * Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of cart items and additional costs in the session, before any discounts are applied. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `store_integration_id`: The integration ID of the store. - `coupons`: Coupon codes in the session.
+ * Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/dev/server-infrastructure-and-data-retention). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of cart items and additional costs in the session, before any discounts are applied. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `store_integration_id`: The integration ID of the store. - `coupons`: Coupon codes in the session.
* @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required)
* @param createdBefore Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional)
* @param createdAfter Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional)
@@ -5571,7 +5995,7 @@ public ApiResponse exportCustomerSessionsWithHttpInfo(Long applicationId
/**
* Export customer sessions (asynchronously)
- * Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of cart items and additional costs in the session, before any discounts are applied. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `store_integration_id`: The integration ID of the store. - `coupons`: Coupon codes in the session.
+ * Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/dev/server-infrastructure-and-data-retention). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of cart items and additional costs in the session, before any discounts are applied. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `store_integration_id`: The integration ID of the store. - `coupons`: Coupon codes in the session.
* @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required)
* @param createdBefore Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional)
* @param createdAfter Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. (optional)
@@ -6421,6 +6845,8 @@ public okhttp3.Call exportLoyaltyCardLedgerAsync(Long loyaltyProgramId, String l
* Build call for exportLoyaltyCards
* @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 batchId Filter results by loyalty card batch ID. (optional)
+ * @param createdBefore Only return loyalty cards created before this timestamp. **Note:** - This must be an RFC3339 timestamp string. (optional)
+ * @param createdAfter Only return loyalty cards created after this timestamp. **Note:** - This must be an RFC3339 timestamp string. (optional)
* @param dateFormat Determines the format of dates in the export document. (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
@@ -6433,7 +6859,7 @@ public okhttp3.Call exportLoyaltyCardLedgerAsync(Long loyaltyProgramId, String l
| 401 | Unauthorized | - |
*/
- public okhttp3.Call exportLoyaltyCardsCall(Long loyaltyProgramId, String batchId, String dateFormat, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call exportLoyaltyCardsCall(Long loyaltyProgramId, String batchId, OffsetDateTime createdBefore, OffsetDateTime createdAfter, String dateFormat, final ApiCallback _callback) throws ApiException {
Object localVarPostBody = null;
// create path and map variables
@@ -6446,6 +6872,14 @@ public okhttp3.Call exportLoyaltyCardsCall(Long loyaltyProgramId, String batchId
localVarQueryParams.addAll(localVarApiClient.parameterToPair("batchId", batchId));
}
+ if (createdBefore != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("createdBefore", createdBefore));
+ }
+
+ if (createdAfter != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("createdAfter", createdAfter));
+ }
+
if (dateFormat != null) {
localVarQueryParams.addAll(localVarApiClient.parameterToPair("dateFormat", dateFormat));
}
@@ -6472,7 +6906,7 @@ public okhttp3.Call exportLoyaltyCardsCall(Long loyaltyProgramId, String batchId
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call exportLoyaltyCardsValidateBeforeCall(Long loyaltyProgramId, String batchId, String dateFormat, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call exportLoyaltyCardsValidateBeforeCall(Long loyaltyProgramId, String batchId, OffsetDateTime createdBefore, OffsetDateTime createdAfter, String dateFormat, final ApiCallback _callback) throws ApiException {
// verify the required parameter 'loyaltyProgramId' is set
if (loyaltyProgramId == null) {
@@ -6480,7 +6914,7 @@ private okhttp3.Call exportLoyaltyCardsValidateBeforeCall(Long loyaltyProgramId,
}
- okhttp3.Call localVarCall = exportLoyaltyCardsCall(loyaltyProgramId, batchId, dateFormat, _callback);
+ okhttp3.Call localVarCall = exportLoyaltyCardsCall(loyaltyProgramId, batchId, createdBefore, createdAfter, dateFormat, _callback);
return localVarCall;
}
@@ -6490,6 +6924,8 @@ private okhttp3.Call exportLoyaltyCardsValidateBeforeCall(Long loyaltyProgramId,
* Download a CSV file containing the loyalty cards from a specified loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `identifier`: The unique identifier of the loyalty card. - `created`: The date and time the loyalty card was created. - `status`: The status of the loyalty card. - `userpercardlimit`: The maximum number of customer profiles that can be linked to the card. - `customerprofileids`: Integration IDs of the customer profiles linked to the card. - `blockreason`: The reason for transferring and blocking the loyalty card. - `generated`: An indicator of whether the loyalty card was generated. - `batchid`: The ID of the batch the loyalty card is in.
* @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 batchId Filter results by loyalty card batch ID. (optional)
+ * @param createdBefore Only return loyalty cards created before this timestamp. **Note:** - This must be an RFC3339 timestamp string. (optional)
+ * @param createdAfter Only return loyalty cards created after this timestamp. **Note:** - This must be an RFC3339 timestamp string. (optional)
* @param dateFormat Determines the format of dates in the export document. (optional)
* @return String
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -6501,8 +6937,8 @@ private okhttp3.Call exportLoyaltyCardsValidateBeforeCall(Long loyaltyProgramId,
| 401 | Unauthorized | - |
*/
- public String exportLoyaltyCards(Long loyaltyProgramId, String batchId, String dateFormat) throws ApiException {
- ApiResponse localVarResp = exportLoyaltyCardsWithHttpInfo(loyaltyProgramId, batchId, dateFormat);
+ public String exportLoyaltyCards(Long loyaltyProgramId, String batchId, OffsetDateTime createdBefore, OffsetDateTime createdAfter, String dateFormat) throws ApiException {
+ ApiResponse localVarResp = exportLoyaltyCardsWithHttpInfo(loyaltyProgramId, batchId, createdBefore, createdAfter, dateFormat);
return localVarResp.getData();
}
@@ -6511,6 +6947,8 @@ public String exportLoyaltyCards(Long loyaltyProgramId, String batchId, String d
* Download a CSV file containing the loyalty cards from a specified loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `identifier`: The unique identifier of the loyalty card. - `created`: The date and time the loyalty card was created. - `status`: The status of the loyalty card. - `userpercardlimit`: The maximum number of customer profiles that can be linked to the card. - `customerprofileids`: Integration IDs of the customer profiles linked to the card. - `blockreason`: The reason for transferring and blocking the loyalty card. - `generated`: An indicator of whether the loyalty card was generated. - `batchid`: The ID of the batch the loyalty card is in.
* @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 batchId Filter results by loyalty card batch ID. (optional)
+ * @param createdBefore Only return loyalty cards created before this timestamp. **Note:** - This must be an RFC3339 timestamp string. (optional)
+ * @param createdAfter Only return loyalty cards created after this timestamp. **Note:** - This must be an RFC3339 timestamp string. (optional)
* @param dateFormat Determines the format of dates in the export document. (optional)
* @return ApiResponse<String>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -6522,8 +6960,8 @@ public String exportLoyaltyCards(Long loyaltyProgramId, String batchId, String d
| 401 | Unauthorized | - |
*/
- public ApiResponse exportLoyaltyCardsWithHttpInfo(Long loyaltyProgramId, String batchId, String dateFormat) throws ApiException {
- okhttp3.Call localVarCall = exportLoyaltyCardsValidateBeforeCall(loyaltyProgramId, batchId, dateFormat, null);
+ public ApiResponse exportLoyaltyCardsWithHttpInfo(Long loyaltyProgramId, String batchId, OffsetDateTime createdBefore, OffsetDateTime createdAfter, String dateFormat) throws ApiException {
+ okhttp3.Call localVarCall = exportLoyaltyCardsValidateBeforeCall(loyaltyProgramId, batchId, createdBefore, createdAfter, dateFormat, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
@@ -6533,6 +6971,8 @@ public ApiResponse exportLoyaltyCardsWithHttpInfo(Long loyaltyProgramId,
* Download a CSV file containing the loyalty cards from a specified loyalty program. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `identifier`: The unique identifier of the loyalty card. - `created`: The date and time the loyalty card was created. - `status`: The status of the loyalty card. - `userpercardlimit`: The maximum number of customer profiles that can be linked to the card. - `customerprofileids`: Integration IDs of the customer profiles linked to the card. - `blockreason`: The reason for transferring and blocking the loyalty card. - `generated`: An indicator of whether the loyalty card was generated. - `batchid`: The ID of the batch the loyalty card is in.
* @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 batchId Filter results by loyalty card batch ID. (optional)
+ * @param createdBefore Only return loyalty cards created before this timestamp. **Note:** - This must be an RFC3339 timestamp string. (optional)
+ * @param createdAfter Only return loyalty cards created after this timestamp. **Note:** - This must be an RFC3339 timestamp string. (optional)
* @param dateFormat Determines the format of dates in the export document. (optional)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
@@ -6545,9 +6985,9 @@ public ApiResponse exportLoyaltyCardsWithHttpInfo(Long loyaltyProgramId,
| 401 | Unauthorized | - |
*/
- public okhttp3.Call exportLoyaltyCardsAsync(Long loyaltyProgramId, String batchId, String dateFormat, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call exportLoyaltyCardsAsync(Long loyaltyProgramId, String batchId, OffsetDateTime createdBefore, OffsetDateTime createdAfter, String dateFormat, final ApiCallback _callback) throws ApiException {
- okhttp3.Call localVarCall = exportLoyaltyCardsValidateBeforeCall(loyaltyProgramId, batchId, dateFormat, _callback);
+ okhttp3.Call localVarCall = exportLoyaltyCardsValidateBeforeCall(loyaltyProgramId, batchId, createdBefore, createdAfter, dateFormat, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
@@ -11276,7 +11716,7 @@ private okhttp3.Call getChangesValidateBeforeCall(Long pageSize, Long skip, Stri
* @param withTotalResultSize When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional)
* @param managementKeyId Filter results that match the given management key ID. (optional)
* @param includeOld When this flag is set to false, the state without the change will not be returned. The default value is true. (optional)
- * @return InlineResponse20044
+ * @return InlineResponse20042
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -11284,8 +11724,8 @@ private okhttp3.Call getChangesValidateBeforeCall(Long pageSize, Long skip, Stri
| 200 | OK | - |
*/
- public InlineResponse20044 getChanges(Long pageSize, Long skip, String sort, BigDecimal applicationId, String entityPath, Long userId, OffsetDateTime createdBefore, OffsetDateTime createdAfter, Boolean withTotalResultSize, Long managementKeyId, Boolean includeOld) throws ApiException {
- ApiResponse localVarResp = getChangesWithHttpInfo(pageSize, skip, sort, applicationId, entityPath, userId, createdBefore, createdAfter, withTotalResultSize, managementKeyId, includeOld);
+ public InlineResponse20042 getChanges(Long pageSize, Long skip, String sort, BigDecimal applicationId, String entityPath, Long userId, OffsetDateTime createdBefore, OffsetDateTime createdAfter, Boolean withTotalResultSize, Long managementKeyId, Boolean includeOld) throws ApiException {
+ ApiResponse localVarResp = getChangesWithHttpInfo(pageSize, skip, sort, applicationId, entityPath, userId, createdBefore, createdAfter, withTotalResultSize, managementKeyId, includeOld);
return localVarResp.getData();
}
@@ -11303,7 +11743,7 @@ public InlineResponse20044 getChanges(Long pageSize, Long skip, String sort, Big
* @param withTotalResultSize When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets. - When `true`: `hasMore` is true when there is a next page. `totalResultSize` is always zero. - When `false`: `hasMore` is always false. `totalResultSize` contains the total number of results for this query. (optional)
* @param managementKeyId Filter results that match the given management key ID. (optional)
* @param includeOld When this flag is set to false, the state without the change will not be returned. The default value is true. (optional)
- * @return ApiResponse<InlineResponse20044>
+ * @return ApiResponse<InlineResponse20042>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -11311,9 +11751,9 @@ public InlineResponse20044 getChanges(Long pageSize, Long skip, String sort, Big
| 200 | OK | - |
*/
- public ApiResponse getChangesWithHttpInfo(Long pageSize, Long skip, String sort, BigDecimal applicationId, String entityPath, Long userId, OffsetDateTime createdBefore, OffsetDateTime createdAfter, Boolean withTotalResultSize, Long managementKeyId, Boolean includeOld) throws ApiException {
+ public ApiResponse getChangesWithHttpInfo(Long pageSize, Long skip, String sort, BigDecimal applicationId, String entityPath, Long userId, OffsetDateTime createdBefore, OffsetDateTime createdAfter, Boolean withTotalResultSize, Long managementKeyId, Boolean includeOld) throws ApiException {
okhttp3.Call localVarCall = getChangesValidateBeforeCall(pageSize, skip, sort, applicationId, entityPath, userId, createdBefore, createdAfter, withTotalResultSize, managementKeyId, includeOld, null);
- Type localVarReturnType = new TypeToken(){}.getType();
+ Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
@@ -11340,10 +11780,10 @@ public ApiResponse getChangesWithHttpInfo(Long pageSize, Lo
| 200 | OK | - |
*/
- public okhttp3.Call getChangesAsync(Long pageSize, Long skip, String sort, BigDecimal applicationId, String entityPath, Long userId, OffsetDateTime createdBefore, OffsetDateTime createdAfter, Boolean withTotalResultSize, Long managementKeyId, Boolean includeOld, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call getChangesAsync(Long pageSize, Long skip, String sort, BigDecimal applicationId, String entityPath, Long userId, OffsetDateTime createdBefore, OffsetDateTime createdAfter, Boolean withTotalResultSize, Long managementKeyId, Boolean includeOld, final ApiCallback _callback) throws ApiException {
okhttp3.Call localVarCall = getChangesValidateBeforeCall(pageSize, skip, sort, applicationId, entityPath, userId, createdBefore, createdAfter, withTotalResultSize, managementKeyId, includeOld, _callback);
- Type localVarReturnType = new TypeToken(){}.getType();
+ Type localVarReturnType = new TypeToken(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
@@ -13137,7 +13577,7 @@ private okhttp3.Call getEventTypesValidateBeforeCall(String name, Boolean includ
* @param pageSize The number of items in the response. (optional, default to 1000l)
* @param skip The number of items to skip when paging through large result sets. (optional)
* @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
- * @return InlineResponse20042
+ * @return InlineResponse20040
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -13145,8 +13585,8 @@ private okhttp3.Call getEventTypesValidateBeforeCall(String name, Boolean includ
| 200 | OK | - |
*/
- public InlineResponse20042 getEventTypes(String name, Boolean includeOldVersions, Long pageSize, Long skip, String sort) throws ApiException {
- ApiResponse localVarResp = getEventTypesWithHttpInfo(name, includeOldVersions, pageSize, skip, sort);
+ public InlineResponse20040 getEventTypes(String name, Boolean includeOldVersions, Long pageSize, Long skip, String sort) throws ApiException {
+ ApiResponse localVarResp = getEventTypesWithHttpInfo(name, includeOldVersions, pageSize, skip, sort);
return localVarResp.getData();
}
@@ -13158,7 +13598,7 @@ public InlineResponse20042 getEventTypes(String name, Boolean includeOldVersions
* @param pageSize The number of items in the response. (optional, default to 1000l)
* @param skip The number of items to skip when paging through large result sets. (optional)
* @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
- * @return ApiResponse<InlineResponse20042>
+ * @return ApiResponse<InlineResponse20040>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -13166,9 +13606,9 @@ public InlineResponse20042 getEventTypes(String name, Boolean includeOldVersions
| 200 | OK | - |
*/
- public ApiResponse getEventTypesWithHttpInfo(String name, Boolean includeOldVersions, Long pageSize, Long skip, String sort) throws ApiException {
+ public ApiResponse getEventTypesWithHttpInfo(String name, Boolean includeOldVersions, Long pageSize, Long skip, String sort) throws ApiException {
okhttp3.Call localVarCall = getEventTypesValidateBeforeCall(name, includeOldVersions, pageSize, skip, sort, null);
- Type localVarReturnType = new TypeToken(){}.getType();
+ Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
@@ -13189,10 +13629,10 @@ public ApiResponse getEventTypesWithHttpInfo(String name, B
| 200 | OK | - |
*/
- public okhttp3.Call getEventTypesAsync(String name, Boolean includeOldVersions, Long pageSize, Long skip, String sort, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call getEventTypesAsync(String name, Boolean includeOldVersions, Long pageSize, Long skip, String sort, final ApiCallback _callback) throws ApiException {
okhttp3.Call localVarCall = getEventTypesValidateBeforeCall(name, includeOldVersions, pageSize, skip, sort, _callback);
- Type localVarReturnType = new TypeToken(){}.getType();
+ Type localVarReturnType = new TypeToken(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
@@ -13278,7 +13718,7 @@ private okhttp3.Call getExportsValidateBeforeCall(Long pageSize, Long skip, BigD
* @param applicationId Filter results by Application ID. (optional)
* @param campaignId Filter by the campaign ID on which the limit counters are used. (optional)
* @param entity The name of the entity type that was exported. (optional)
- * @return InlineResponse20045
+ * @return InlineResponse20043
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -13286,8 +13726,8 @@ private okhttp3.Call getExportsValidateBeforeCall(Long pageSize, Long skip, BigD
| 200 | OK | - |
*/
- public InlineResponse20045 getExports(Long pageSize, Long skip, BigDecimal applicationId, Long campaignId, String entity) throws ApiException {
- ApiResponse localVarResp = getExportsWithHttpInfo(pageSize, skip, applicationId, campaignId, entity);
+ public InlineResponse20043 getExports(Long pageSize, Long skip, BigDecimal applicationId, Long campaignId, String entity) throws ApiException {
+ ApiResponse localVarResp = getExportsWithHttpInfo(pageSize, skip, applicationId, campaignId, entity);
return localVarResp.getData();
}
@@ -13299,7 +13739,7 @@ public InlineResponse20045 getExports(Long pageSize, Long skip, BigDecimal appli
* @param applicationId Filter results by Application ID. (optional)
* @param campaignId Filter by the campaign ID on which the limit counters are used. (optional)
* @param entity The name of the entity type that was exported. (optional)
- * @return ApiResponse<InlineResponse20045>
+ * @return ApiResponse<InlineResponse20043>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -13307,9 +13747,9 @@ public InlineResponse20045 getExports(Long pageSize, Long skip, BigDecimal appli
| 200 | OK | - |
*/
- public ApiResponse getExportsWithHttpInfo(Long pageSize, Long skip, BigDecimal applicationId, Long campaignId, String entity) throws ApiException {
+ public ApiResponse getExportsWithHttpInfo(Long pageSize, Long skip, BigDecimal applicationId, Long campaignId, String entity) throws ApiException {
okhttp3.Call localVarCall = getExportsValidateBeforeCall(pageSize, skip, applicationId, campaignId, entity, null);
- Type localVarReturnType = new TypeToken(){}.getType();
+ Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
@@ -13330,10 +13770,10 @@ public ApiResponse getExportsWithHttpInfo(Long pageSize, Lo
| 200 | OK | - |
*/
- public okhttp3.Call getExportsAsync(Long pageSize, Long skip, BigDecimal applicationId, Long campaignId, String entity, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call getExportsAsync(Long pageSize, Long skip, BigDecimal applicationId, Long campaignId, String entity, final ApiCallback _callback) throws ApiException {
okhttp3.Call localVarCall = getExportsValidateBeforeCall(pageSize, skip, applicationId, campaignId, entity, _callback);
- Type localVarReturnType = new TypeToken(){}.getType();
+ Type localVarReturnType = new TypeToken(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
@@ -15534,7 +15974,7 @@ private okhttp3.Call getUsersValidateBeforeCall(Long pageSize, Long skip, String
* @param pageSize The number of items in the response. (optional, default to 1000l)
* @param skip The number of items to skip when paging through large result sets. (optional)
* @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
- * @return InlineResponse20043
+ * @return InlineResponse20041
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -15542,8 +15982,8 @@ private okhttp3.Call getUsersValidateBeforeCall(Long pageSize, Long skip, String
| 200 | OK | - |
*/
- public InlineResponse20043 getUsers(Long pageSize, Long skip, String sort) throws ApiException {
- ApiResponse localVarResp = getUsersWithHttpInfo(pageSize, skip, sort);
+ public InlineResponse20041 getUsers(Long pageSize, Long skip, String sort) throws ApiException {
+ ApiResponse localVarResp = getUsersWithHttpInfo(pageSize, skip, sort);
return localVarResp.getData();
}
@@ -15553,7 +15993,7 @@ public InlineResponse20043 getUsers(Long pageSize, Long skip, String sort) throw
* @param pageSize The number of items in the response. (optional, default to 1000l)
* @param skip The number of items to skip when paging through large result sets. (optional)
* @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
- * @return ApiResponse<InlineResponse20043>
+ * @return ApiResponse<InlineResponse20041>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -15561,9 +16001,9 @@ public InlineResponse20043 getUsers(Long pageSize, Long skip, String sort) throw
| 200 | OK | - |
*/
- public ApiResponse getUsersWithHttpInfo(Long pageSize, Long skip, String sort) throws ApiException {
+ public ApiResponse getUsersWithHttpInfo(Long pageSize, Long skip, String sort) throws ApiException {
okhttp3.Call localVarCall = getUsersValidateBeforeCall(pageSize, skip, sort, null);
- Type localVarReturnType = new TypeToken(){}.getType();
+ Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
@@ -15582,10 +16022,10 @@ public ApiResponse getUsersWithHttpInfo(Long pageSize, Long
| 200 | OK | - |
*/
- public okhttp3.Call getUsersAsync(Long pageSize, Long skip, String sort, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call getUsersAsync(Long pageSize, Long skip, String sort, final ApiCallback _callback) throws ApiException {
okhttp3.Call localVarCall = getUsersValidateBeforeCall(pageSize, skip, sort, _callback);
- Type localVarReturnType = new TypeToken(){}.getType();
+ Type localVarReturnType = new TypeToken(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
@@ -15701,16 +16141,15 @@ public okhttp3.Call getWebhookAsync(Long webhookId, final ApiCallback _
return localVarCall;
}
/**
- * Build call for getWebhookActivationLogs
+ * Build call for getWebhooks
+ * @param applicationIds Checks if the given catalog or its attributes are referenced in the specified Application ID. **Note**: If no Application ID is provided, we check for all connected Applications. (optional)
+ * @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
* @param pageSize The number of items in the response. (optional, default to 1000l)
* @param skip The number of items to skip when paging through large result sets. (optional)
- * @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
- * @param integrationRequestUuid Filter results by integration request UUID. (optional)
- * @param webhookId Filter results by webhook id. (optional)
- * @param applicationId Filter results by Application ID. (optional)
- * @param campaignId Filter results by campaign ID. (optional)
- * @param createdBefore Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
- * @param createdAfter Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
+ * @param creationType Filter results by creation type. (optional)
+ * @param visibility Filter results by visibility. (optional)
+ * @param outgoingIntegrationsTypeId Filter results by outgoing integration type ID. (optional)
+ * @param title Filter results performing case-insensitive matching against the webhook title. (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -15720,48 +16159,44 @@ public okhttp3.Call getWebhookAsync(Long webhookId, final ApiCallback _
| 200 | OK | - |
*/
- public okhttp3.Call getWebhookActivationLogsCall(Long pageSize, Long skip, String sort, String integrationRequestUuid, BigDecimal webhookId, BigDecimal applicationId, BigDecimal campaignId, OffsetDateTime createdBefore, OffsetDateTime createdAfter, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call getWebhooksCall(String applicationIds, String sort, Long pageSize, Long skip, String creationType, String visibility, Long outgoingIntegrationsTypeId, String title, final ApiCallback _callback) throws ApiException {
Object localVarPostBody = null;
// create path and map variables
- String localVarPath = "/v1/webhook_activation_logs";
+ String localVarPath = "/v1/webhooks";
List localVarQueryParams = new ArrayList();
List localVarCollectionQueryParams = new ArrayList();
- if (pageSize != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("pageSize", pageSize));
- }
-
- if (skip != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("skip", skip));
+ if (applicationIds != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("applicationIds", applicationIds));
}
if (sort != null) {
localVarQueryParams.addAll(localVarApiClient.parameterToPair("sort", sort));
}
- if (integrationRequestUuid != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("integrationRequestUuid", integrationRequestUuid));
+ if (pageSize != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("pageSize", pageSize));
}
- if (webhookId != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("webhookId", webhookId));
+ if (skip != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("skip", skip));
}
- if (applicationId != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("applicationId", applicationId));
+ if (creationType != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("creationType", creationType));
}
- if (campaignId != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("campaignId", campaignId));
+ if (visibility != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("visibility", visibility));
}
- if (createdBefore != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("createdBefore", createdBefore));
+ if (outgoingIntegrationsTypeId != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("outgoingIntegrationsTypeId", outgoingIntegrationsTypeId));
}
- if (createdAfter != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("createdAfter", createdAfter));
+ if (title != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("title", title));
}
Map localVarHeaderParams = new HashMap();
@@ -15786,27 +16221,26 @@ public okhttp3.Call getWebhookActivationLogsCall(Long pageSize, Long skip, Strin
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call getWebhookActivationLogsValidateBeforeCall(Long pageSize, Long skip, String sort, String integrationRequestUuid, BigDecimal webhookId, BigDecimal applicationId, BigDecimal campaignId, OffsetDateTime createdBefore, OffsetDateTime createdAfter, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call getWebhooksValidateBeforeCall(String applicationIds, String sort, Long pageSize, Long skip, String creationType, String visibility, Long outgoingIntegrationsTypeId, String title, final ApiCallback _callback) throws ApiException {
- okhttp3.Call localVarCall = getWebhookActivationLogsCall(pageSize, skip, sort, integrationRequestUuid, webhookId, applicationId, campaignId, createdBefore, createdAfter, _callback);
+ okhttp3.Call localVarCall = getWebhooksCall(applicationIds, sort, pageSize, skip, creationType, visibility, outgoingIntegrationsTypeId, title, _callback);
return localVarCall;
}
/**
- * List webhook activation log entries
- * Webhook activation log entries are created as soon as an integration request triggers a webhook effect. See the [docs](https://docs.talon.one/docs/dev/getting-started/webhooks).
+ * List webhooks
+ * List all webhooks.
+ * @param applicationIds Checks if the given catalog or its attributes are referenced in the specified Application ID. **Note**: If no Application ID is provided, we check for all connected Applications. (optional)
+ * @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
* @param pageSize The number of items in the response. (optional, default to 1000l)
* @param skip The number of items to skip when paging through large result sets. (optional)
- * @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
- * @param integrationRequestUuid Filter results by integration request UUID. (optional)
- * @param webhookId Filter results by webhook id. (optional)
- * @param applicationId Filter results by Application ID. (optional)
- * @param campaignId Filter results by campaign ID. (optional)
- * @param createdBefore Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
- * @param createdAfter Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
- * @return InlineResponse20040
+ * @param creationType Filter results by creation type. (optional)
+ * @param visibility Filter results by visibility. (optional)
+ * @param outgoingIntegrationsTypeId Filter results by outgoing integration type ID. (optional)
+ * @param title Filter results performing case-insensitive matching against the webhook title. (optional)
+ * @return InlineResponse20039
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -15814,24 +16248,23 @@ private okhttp3.Call getWebhookActivationLogsValidateBeforeCall(Long pageSize, L
| 200 | OK | - |
*/
- public InlineResponse20040 getWebhookActivationLogs(Long pageSize, Long skip, String sort, String integrationRequestUuid, BigDecimal webhookId, BigDecimal applicationId, BigDecimal campaignId, OffsetDateTime createdBefore, OffsetDateTime createdAfter) throws ApiException {
- ApiResponse localVarResp = getWebhookActivationLogsWithHttpInfo(pageSize, skip, sort, integrationRequestUuid, webhookId, applicationId, campaignId, createdBefore, createdAfter);
+ public InlineResponse20039 getWebhooks(String applicationIds, String sort, Long pageSize, Long skip, String creationType, String visibility, Long outgoingIntegrationsTypeId, String title) throws ApiException {
+ ApiResponse localVarResp = getWebhooksWithHttpInfo(applicationIds, sort, pageSize, skip, creationType, visibility, outgoingIntegrationsTypeId, title);
return localVarResp.getData();
}
/**
- * List webhook activation log entries
- * Webhook activation log entries are created as soon as an integration request triggers a webhook effect. See the [docs](https://docs.talon.one/docs/dev/getting-started/webhooks).
+ * List webhooks
+ * List all webhooks.
+ * @param applicationIds Checks if the given catalog or its attributes are referenced in the specified Application ID. **Note**: If no Application ID is provided, we check for all connected Applications. (optional)
+ * @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
* @param pageSize The number of items in the response. (optional, default to 1000l)
* @param skip The number of items to skip when paging through large result sets. (optional)
- * @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
- * @param integrationRequestUuid Filter results by integration request UUID. (optional)
- * @param webhookId Filter results by webhook id. (optional)
- * @param applicationId Filter results by Application ID. (optional)
- * @param campaignId Filter results by campaign ID. (optional)
- * @param createdBefore Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
- * @param createdAfter Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
- * @return ApiResponse<InlineResponse20040>
+ * @param creationType Filter results by creation type. (optional)
+ * @param visibility Filter results by visibility. (optional)
+ * @param outgoingIntegrationsTypeId Filter results by outgoing integration type ID. (optional)
+ * @param title Filter results performing case-insensitive matching against the webhook title. (optional)
+ * @return ApiResponse<InlineResponse20039>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -15839,24 +16272,23 @@ public InlineResponse20040 getWebhookActivationLogs(Long pageSize, Long skip, St
| 200 | OK | - |
*/
- public ApiResponse getWebhookActivationLogsWithHttpInfo(Long pageSize, Long skip, String sort, String integrationRequestUuid, BigDecimal webhookId, BigDecimal applicationId, BigDecimal campaignId, OffsetDateTime createdBefore, OffsetDateTime createdAfter) throws ApiException {
- okhttp3.Call localVarCall = getWebhookActivationLogsValidateBeforeCall(pageSize, skip, sort, integrationRequestUuid, webhookId, applicationId, campaignId, createdBefore, createdAfter, null);
- Type localVarReturnType = new TypeToken(){}.getType();
+ public ApiResponse getWebhooksWithHttpInfo(String applicationIds, String sort, Long pageSize, Long skip, String creationType, String visibility, Long outgoingIntegrationsTypeId, String title) throws ApiException {
+ okhttp3.Call localVarCall = getWebhooksValidateBeforeCall(applicationIds, sort, pageSize, skip, creationType, visibility, outgoingIntegrationsTypeId, title, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
/**
- * List webhook activation log entries (asynchronously)
- * Webhook activation log entries are created as soon as an integration request triggers a webhook effect. See the [docs](https://docs.talon.one/docs/dev/getting-started/webhooks).
- * @param pageSize The number of items in the response. (optional, default to 1000l)
- * @param skip The number of items to skip when paging through large result sets. (optional)
+ * List webhooks (asynchronously)
+ * List all webhooks.
+ * @param applicationIds Checks if the given catalog or its attributes are referenced in the specified Application ID. **Note**: If no Application ID is provided, we check for all connected Applications. (optional)
* @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
- * @param integrationRequestUuid Filter results by integration request UUID. (optional)
- * @param webhookId Filter results by webhook id. (optional)
- * @param applicationId Filter results by Application ID. (optional)
- * @param campaignId Filter results by campaign ID. (optional)
- * @param createdBefore Only return events created before this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
- * @param createdAfter Only return events created after this date. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
+ * @param pageSize The number of items in the response. (optional, default to 1000l)
+ * @param skip The number of items to skip when paging through large result sets. (optional)
+ * @param creationType Filter results by creation type. (optional)
+ * @param visibility Filter results by visibility. (optional)
+ * @param outgoingIntegrationsTypeId Filter results by outgoing integration type ID. (optional)
+ * @param title Filter results performing case-insensitive matching against the webhook title. (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
@@ -15866,25 +16298,17 @@ public ApiResponse getWebhookActivationLogsWithHttpInfo(Lon
| 200 | OK | - |
*/
- public okhttp3.Call getWebhookActivationLogsAsync(Long pageSize, Long skip, String sort, String integrationRequestUuid, BigDecimal webhookId, BigDecimal applicationId, BigDecimal campaignId, OffsetDateTime createdBefore, OffsetDateTime createdAfter, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call getWebhooksAsync(String applicationIds, String sort, Long pageSize, Long skip, String creationType, String visibility, Long outgoingIntegrationsTypeId, String title, final ApiCallback _callback) throws ApiException {
- okhttp3.Call localVarCall = getWebhookActivationLogsValidateBeforeCall(pageSize, skip, sort, integrationRequestUuid, webhookId, applicationId, campaignId, createdBefore, createdAfter, _callback);
- Type localVarReturnType = new TypeToken(){}.getType();
+ okhttp3.Call localVarCall = getWebhooksValidateBeforeCall(applicationIds, sort, pageSize, skip, creationType, visibility, outgoingIntegrationsTypeId, title, _callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
/**
- * Build call for getWebhookLogs
- * @param pageSize The number of items in the response. (optional, default to 1000l)
- * @param skip The number of items to skip when paging through large result sets. (optional)
- * @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
- * @param status Filter results by HTTP status codes. (optional)
- * @param webhookId Filter results by webhook id. (optional)
- * @param applicationId Filter results by Application ID. (optional)
- * @param campaignId Filter results by campaign ID. (optional)
- * @param requestUuid Filter results by request UUID. (optional)
- * @param createdBefore Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
- * @param createdAfter Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
+ * Build call for importAccountCollection
+ * @param collectionId The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. (required)
+ * @param upFile The 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
@@ -15892,59 +16316,26 @@ public okhttp3.Call getWebhookActivationLogsAsync(Long pageSize, Long skip, Stri
| Status Code | Description | Response Headers |
| 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized | - |
*/
- public okhttp3.Call getWebhookLogsCall(Long pageSize, Long skip, String sort, String status, BigDecimal webhookId, BigDecimal applicationId, BigDecimal campaignId, String requestUuid, OffsetDateTime createdBefore, OffsetDateTime createdAfter, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importAccountCollectionCall(Long collectionId, String upFile, final ApiCallback _callback) throws ApiException {
Object localVarPostBody = null;
// create path and map variables
- String localVarPath = "/v1/webhook_logs";
+ String localVarPath = "/v1/collections/{collectionId}/import"
+ .replaceAll("\\{" + "collectionId" + "\\}", localVarApiClient.escapeString(collectionId.toString()));
List localVarQueryParams = new ArrayList();
List localVarCollectionQueryParams = new ArrayList();
- if (pageSize != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("pageSize", pageSize));
- }
-
- if (skip != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("skip", skip));
- }
-
- if (sort != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("sort", sort));
- }
-
- if (status != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("status", status));
- }
-
- if (webhookId != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("webhookId", webhookId));
- }
-
- if (applicationId != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("applicationId", applicationId));
- }
-
- if (campaignId != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("campaignId", campaignId));
- }
-
- if (requestUuid != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("requestUuid", requestUuid));
- }
-
- if (createdBefore != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("createdBefore", createdBefore));
- }
-
- if (createdAfter != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("createdAfter", createdAfter));
- }
-
Map localVarHeaderParams = new HashMap();
Map localVarCookieParams = new HashMap();
Map localVarFormParams = new HashMap();
+ if (upFile != null) {
+ localVarFormParams.put("upFile", upFile);
+ }
+
final String[] localVarAccepts = {
"application/json"
};
@@ -15954,90 +16345,75 @@ public okhttp3.Call getWebhookLogsCall(Long pageSize, Long skip, String sort, St
}
final String[] localVarContentTypes = {
-
+ "multipart/form-data"
};
final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
localVarHeaderParams.put("Content-Type", localVarContentType);
String[] localVarAuthNames = new String[] { "management_key", "manager_auth" };
- return localVarApiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
+ return localVarApiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call getWebhookLogsValidateBeforeCall(Long pageSize, Long skip, String sort, String status, BigDecimal webhookId, BigDecimal applicationId, BigDecimal campaignId, String requestUuid, OffsetDateTime createdBefore, OffsetDateTime createdAfter, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call importAccountCollectionValidateBeforeCall(Long collectionId, String 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)");
+ }
- okhttp3.Call localVarCall = getWebhookLogsCall(pageSize, skip, sort, status, webhookId, applicationId, campaignId, requestUuid, createdBefore, createdAfter, _callback);
+ okhttp3.Call localVarCall = importAccountCollectionCall(collectionId, upFile, _callback);
return localVarCall;
}
/**
- * List webhook log entries
- * Retrieve all webhook log entries.
- * @param pageSize The number of items in the response. (optional, default to 1000l)
- * @param skip The number of items to skip when paging through large result sets. (optional)
- * @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
- * @param status Filter results by HTTP status codes. (optional)
- * @param webhookId Filter results by webhook id. (optional)
- * @param applicationId Filter results by Application ID. (optional)
- * @param campaignId Filter results by campaign ID. (optional)
- * @param requestUuid Filter results by request UUID. (optional)
- * @param createdBefore Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
- * @param createdAfter Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
- * @return InlineResponse20041
+ * 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 Addidas 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](#operation/listAccountCollections) endpoint. (required)
+ * @param upFile The 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
| Status Code | Description | Response Headers |
| 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized | - |
*/
- public InlineResponse20041 getWebhookLogs(Long pageSize, Long skip, String sort, String status, BigDecimal webhookId, BigDecimal applicationId, BigDecimal campaignId, String requestUuid, OffsetDateTime createdBefore, OffsetDateTime createdAfter) throws ApiException {
- ApiResponse localVarResp = getWebhookLogsWithHttpInfo(pageSize, skip, sort, status, webhookId, applicationId, campaignId, requestUuid, createdBefore, createdAfter);
+ public ModelImport importAccountCollection(Long collectionId, String upFile) throws ApiException {
+ ApiResponse localVarResp = importAccountCollectionWithHttpInfo(collectionId, upFile);
return localVarResp.getData();
}
/**
- * List webhook log entries
- * Retrieve all webhook log entries.
- * @param pageSize The number of items in the response. (optional, default to 1000l)
- * @param skip The number of items to skip when paging through large result sets. (optional)
- * @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
- * @param status Filter results by HTTP status codes. (optional)
- * @param webhookId Filter results by webhook id. (optional)
- * @param applicationId Filter results by Application ID. (optional)
- * @param campaignId Filter results by campaign ID. (optional)
- * @param requestUuid Filter results by request UUID. (optional)
- * @param createdBefore Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
- * @param createdAfter Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
- * @return ApiResponse<InlineResponse20041>
+ * 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 Addidas 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](#operation/listAccountCollections) endpoint. (required)
+ * @param upFile The 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
| Status Code | Description | Response Headers |
| 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized | - |
*/
- public ApiResponse getWebhookLogsWithHttpInfo(Long pageSize, Long skip, String sort, String status, BigDecimal webhookId, BigDecimal applicationId, BigDecimal campaignId, String requestUuid, OffsetDateTime createdBefore, OffsetDateTime createdAfter) throws ApiException {
- okhttp3.Call localVarCall = getWebhookLogsValidateBeforeCall(pageSize, skip, sort, status, webhookId, applicationId, campaignId, requestUuid, createdBefore, createdAfter, null);
- Type localVarReturnType = new TypeToken(){}.getType();
+ public ApiResponse importAccountCollectionWithHttpInfo(Long collectionId, String upFile) throws ApiException {
+ okhttp3.Call localVarCall = importAccountCollectionValidateBeforeCall(collectionId, upFile, null);
+ Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
/**
- * List webhook log entries (asynchronously)
- * Retrieve all webhook log entries.
- * @param pageSize The number of items in the response. (optional, default to 1000l)
- * @param skip The number of items to skip when paging through large result sets. (optional)
- * @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
- * @param status Filter results by HTTP status codes. (optional)
- * @param webhookId Filter results by webhook id. (optional)
- * @param applicationId Filter results by Application ID. (optional)
- * @param campaignId Filter results by campaign ID. (optional)
- * @param requestUuid Filter results by request UUID. (optional)
- * @param createdBefore Filter results where request and response times to return entries before parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
- * @param createdAfter Filter results where request and response times to return entries after parameter value, expected to be an RFC3339 timestamp string. You can use any time zone setting. Talon.One will convert to UTC internally. (optional)
+ * 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 Addidas 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](#operation/listAccountCollections) endpoint. (required)
+ * @param upFile The 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
@@ -16045,25 +16421,21 @@ public ApiResponse getWebhookLogsWithHttpInfo(Long pageSize
| Status Code | Description | Response Headers |
| 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized | - |
*/
- public okhttp3.Call getWebhookLogsAsync(Long pageSize, Long skip, String sort, String status, BigDecimal webhookId, BigDecimal applicationId, BigDecimal campaignId, String requestUuid, OffsetDateTime createdBefore, OffsetDateTime createdAfter, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importAccountCollectionAsync(Long collectionId, String upFile, final ApiCallback _callback) throws ApiException {
- okhttp3.Call localVarCall = getWebhookLogsValidateBeforeCall(pageSize, skip, sort, status, webhookId, applicationId, campaignId, requestUuid, createdBefore, createdAfter, _callback);
- Type localVarReturnType = new TypeToken(){}.getType();
+ okhttp3.Call localVarCall = importAccountCollectionValidateBeforeCall(collectionId, upFile, _callback);
+ Type localVarReturnType = new TypeToken(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
/**
- * Build call for getWebhooks
- * @param applicationIds Checks if the given catalog or its attributes are referenced in the specified Application ID. **Note**: If no Application ID is provided, we check for all connected Applications. (optional)
- * @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
- * @param pageSize The number of items in the response. (optional, default to 1000l)
- * @param skip The number of items to skip when paging through large result sets. (optional)
- * @param creationType Filter results by creation type. (optional)
- * @param visibility Filter results by visibility. (optional)
- * @param outgoingIntegrationsTypeId Filter results by outgoing integration type ID. (optional)
- * @param title Filter results performing case-insensitive matching against the webhook title. (optional)
+ * 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 _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -16071,51 +16443,27 @@ public okhttp3.Call getWebhookLogsAsync(Long pageSize, Long skip, String sort, S
| Status Code | Description | Response Headers |
| 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized - Invalid API key | - |
+ | 404 | Not found | - |
*/
- public okhttp3.Call getWebhooksCall(String applicationIds, String sort, Long pageSize, Long skip, String creationType, String visibility, Long outgoingIntegrationsTypeId, String title, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importAllowedListCall(Long attributeId, String upFile, final ApiCallback _callback) throws ApiException {
Object localVarPostBody = null;
// create path and map variables
- String localVarPath = "/v1/webhooks";
+ String localVarPath = "/v1/attributes/{attributeId}/allowed_list/import"
+ .replaceAll("\\{" + "attributeId" + "\\}", localVarApiClient.escapeString(attributeId.toString()));
List localVarQueryParams = new ArrayList();
List localVarCollectionQueryParams = new ArrayList();
- if (applicationIds != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("applicationIds", applicationIds));
- }
-
- if (sort != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("sort", sort));
- }
-
- if (pageSize != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("pageSize", pageSize));
- }
-
- if (skip != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("skip", skip));
- }
-
- if (creationType != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("creationType", creationType));
- }
-
- if (visibility != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("visibility", visibility));
- }
-
- if (outgoingIntegrationsTypeId != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("outgoingIntegrationsTypeId", outgoingIntegrationsTypeId));
- }
-
- if (title != null) {
- localVarQueryParams.addAll(localVarApiClient.parameterToPair("title", title));
- }
-
Map localVarHeaderParams = new HashMap();
Map localVarCookieParams = new HashMap();
Map localVarFormParams = new HashMap();
+ if (upFile != null) {
+ localVarFormParams.put("upFile", upFile);
+ }
+
final String[] localVarAccepts = {
"application/json"
};
@@ -16125,208 +16473,76 @@ public okhttp3.Call getWebhooksCall(String applicationIds, String sort, Long pag
}
final String[] localVarContentTypes = {
-
+ "multipart/form-data"
};
final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
localVarHeaderParams.put("Content-Type", localVarContentType);
String[] localVarAuthNames = new String[] { "management_key", "manager_auth" };
- return localVarApiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
+ return localVarApiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call getWebhooksValidateBeforeCall(String applicationIds, String sort, Long pageSize, Long skip, String creationType, String visibility, Long outgoingIntegrationsTypeId, String title, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call importAllowedListValidateBeforeCall(Long attributeId, String 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)");
+ }
- okhttp3.Call localVarCall = getWebhooksCall(applicationIds, sort, pageSize, skip, creationType, visibility, outgoingIntegrationsTypeId, title, _callback);
+ okhttp3.Call localVarCall = importAllowedListCall(attributeId, upFile, _callback);
return localVarCall;
}
/**
- * List webhooks
- * List all webhooks.
- * @param applicationIds Checks if the given catalog or its attributes are referenced in the specified Application ID. **Note**: If no Application ID is provided, we check for all connected Applications. (optional)
- * @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
- * @param pageSize The number of items in the response. (optional, default to 1000l)
- * @param skip The number of items to skip when paging through large result sets. (optional)
- * @param creationType Filter results by creation type. (optional)
- * @param visibility Filter results by visibility. (optional)
- * @param outgoingIntegrationsTypeId Filter results by outgoing integration type ID. (optional)
- * @param title Filter results performing case-insensitive matching against the webhook title. (optional)
- * @return InlineResponse20039
+ * 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` (required): the values in your allowed list, for example a list of SKU's. 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)
+ * @return ModelImport
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
| Status Code | Description | Response Headers |
| 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized - Invalid API key | - |
+ | 404 | Not found | - |
*/
- public InlineResponse20039 getWebhooks(String applicationIds, String sort, Long pageSize, Long skip, String creationType, String visibility, Long outgoingIntegrationsTypeId, String title) throws ApiException {
- ApiResponse localVarResp = getWebhooksWithHttpInfo(applicationIds, sort, pageSize, skip, creationType, visibility, outgoingIntegrationsTypeId, title);
+ public ModelImport importAllowedList(Long attributeId, String upFile) throws ApiException {
+ ApiResponse localVarResp = importAllowedListWithHttpInfo(attributeId, upFile);
return localVarResp.getData();
}
/**
- * List webhooks
- * List all webhooks.
- * @param applicationIds Checks if the given catalog or its attributes are referenced in the specified Application ID. **Note**: If no Application ID is provided, we check for all connected Applications. (optional)
- * @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
- * @param pageSize The number of items in the response. (optional, default to 1000l)
- * @param skip The number of items to skip when paging through large result sets. (optional)
- * @param creationType Filter results by creation type. (optional)
- * @param visibility Filter results by visibility. (optional)
- * @param outgoingIntegrationsTypeId Filter results by outgoing integration type ID. (optional)
- * @param title Filter results performing case-insensitive matching against the webhook title. (optional)
- * @return ApiResponse<InlineResponse20039>
+ * 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` (required): the values in your allowed list, for example a list of SKU's. 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)
+ * @return ApiResponse<ModelImport>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
| Status Code | Description | Response Headers |
| 200 | OK | - |
+ | 400 | Bad request | - |
+ | 401 | Unauthorized - Invalid API key | - |
+ | 404 | Not found | - |
*/
- public ApiResponse getWebhooksWithHttpInfo(String applicationIds, String sort, Long pageSize, Long skip, String creationType, String visibility, Long outgoingIntegrationsTypeId, String title) throws ApiException {
- okhttp3.Call localVarCall = getWebhooksValidateBeforeCall(applicationIds, sort, pageSize, skip, creationType, visibility, outgoingIntegrationsTypeId, title, null);
- Type localVarReturnType = new TypeToken(){}.getType();
- return localVarApiClient.execute(localVarCall, localVarReturnType);
- }
-
- /**
- * List webhooks (asynchronously)
- * List all webhooks.
- * @param applicationIds Checks if the given catalog or its attributes are referenced in the specified Application ID. **Note**: If no Application ID is provided, we check for all connected Applications. (optional)
- * @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
- * @param pageSize The number of items in the response. (optional, default to 1000l)
- * @param skip The number of items to skip when paging through large result sets. (optional)
- * @param creationType Filter results by creation type. (optional)
- * @param visibility Filter results by visibility. (optional)
- * @param outgoingIntegrationsTypeId Filter results by outgoing integration type ID. (optional)
- * @param title Filter results performing case-insensitive matching against the webhook title. (optional)
- * @param _callback The callback to be executed when the API call finishes
- * @return The request call
- * @throws ApiException If fail to process the API call, e.g. serializing the request body object
- * @http.response.details
-
- | Status Code | Description | Response Headers |
- | 200 | OK | - |
-
- */
- public okhttp3.Call getWebhooksAsync(String applicationIds, String sort, Long pageSize, Long skip, String creationType, String visibility, Long outgoingIntegrationsTypeId, String title, final ApiCallback _callback) throws ApiException {
-
- okhttp3.Call localVarCall = getWebhooksValidateBeforeCall(applicationIds, sort, pageSize, skip, creationType, visibility, outgoingIntegrationsTypeId, title, _callback);
- Type localVarReturnType = new TypeToken(){}.getType();
- localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
- return localVarCall;
- }
- /**
- * Build call for importAccountCollection
- * @param collectionId The ID of the collection. You can get it with the [List collections in account](#operation/listAccountCollections) endpoint. (required)
- * @param upFile The 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
- * @http.response.details
-
- | Status Code | Description | Response Headers |
- | 200 | OK | - |
- | 400 | Bad request | - |
- | 401 | Unauthorized | - |
-
- */
- public okhttp3.Call importAccountCollectionCall(Long collectionId, String upFile, final ApiCallback _callback) throws ApiException {
- Object localVarPostBody = null;
-
- // create path and map variables
- String localVarPath = "/v1/collections/{collectionId}/import"
- .replaceAll("\\{" + "collectionId" + "\\}", localVarApiClient.escapeString(collectionId.toString()));
-
- List localVarQueryParams = new ArrayList();
- List localVarCollectionQueryParams = new ArrayList();
- Map localVarHeaderParams = new HashMap();
- Map localVarCookieParams = new HashMap();
- Map localVarFormParams = new HashMap();
- if (upFile != null) {
- localVarFormParams.put("upFile", upFile);
- }
-
- final String[] localVarAccepts = {
- "application/json"
- };
- final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
- if (localVarAccept != null) {
- localVarHeaderParams.put("Accept", localVarAccept);
- }
-
- final String[] localVarContentTypes = {
- "multipart/form-data"
- };
- final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
- localVarHeaderParams.put("Content-Type", localVarContentType);
-
- String[] localVarAuthNames = new String[] { "management_key", "manager_auth" };
- return localVarApiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
- }
-
- @SuppressWarnings("rawtypes")
- private okhttp3.Call importAccountCollectionValidateBeforeCall(Long collectionId, String 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)");
- }
-
-
- okhttp3.Call localVarCall = importAccountCollectionCall(collectionId, upFile, _callback);
- return localVarCall;
-
- }
-
- /**
- * 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 Addidas 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](#operation/listAccountCollections) endpoint. (required)
- * @param upFile The 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
-
- | Status Code | Description | Response Headers |
- | 200 | OK | - |
- | 400 | Bad request | - |
- | 401 | Unauthorized | - |
-
- */
- public ModelImport importAccountCollection(Long collectionId, String upFile) throws ApiException {
- ApiResponse localVarResp = importAccountCollectionWithHttpInfo(collectionId, upFile);
- return localVarResp.getData();
- }
-
- /**
- * 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 Addidas 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](#operation/listAccountCollections) endpoint. (required)
- * @param upFile The 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
-
- | Status Code | Description | Response Headers |
- | 200 | OK | - |
- | 400 | Bad request | - |
- | 401 | Unauthorized | - |
-
- */
- public ApiResponse importAccountCollectionWithHttpInfo(Long collectionId, String upFile) throws ApiException {
- okhttp3.Call localVarCall = importAccountCollectionValidateBeforeCall(collectionId, upFile, null);
+ public ApiResponse importAllowedListWithHttpInfo(Long attributeId, String upFile) throws ApiException {
+ okhttp3.Call localVarCall = importAllowedListValidateBeforeCall(attributeId, upFile, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
/**
- * 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 Addidas 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](#operation/listAccountCollections) endpoint. (required)
+ * 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` (required): the values in your allowed list, for example a list of SKU's. 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 _callback The callback to be executed when the API call finishes
* @return The request call
@@ -16336,19 +16552,20 @@ public ApiResponse importAccountCollectionWithHttpInfo(Long collect
| Status Code | Description | Response Headers |
| 200 | OK | - |
| 400 | Bad request | - |
- | 401 | Unauthorized | - |
+ | 401 | Unauthorized - Invalid API key | - |
+ | 404 | Not found | - |
*/
- public okhttp3.Call importAccountCollectionAsync(Long collectionId, String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importAllowedListAsync(Long attributeId, String upFile, final ApiCallback _callback) throws ApiException {
- okhttp3.Call localVarCall = importAccountCollectionValidateBeforeCall(collectionId, upFile, _callback);
+ okhttp3.Call localVarCall = importAllowedListValidateBeforeCall(attributeId, upFile, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
/**
- * 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)
+ * 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 _callback Callback for upload/download progress
* @return Call to execute
@@ -16362,12 +16579,12 @@ public okhttp3.Call importAccountCollectionAsync(Long collectionId, String upFil
| 404 | Not found | - |
*/
- public okhttp3.Call importAllowedListCall(Long attributeId, String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importAudiencesMembershipsCall(Long audienceId, String upFile, final ApiCallback _callback) throws ApiException {
Object localVarPostBody = null;
// create path and map variables
- String localVarPath = "/v1/attributes/{attributeId}/allowed_list/import"
- .replaceAll("\\{" + "attributeId" + "\\}", localVarApiClient.escapeString(attributeId.toString()));
+ String localVarPath = "/v1/audiences/{audienceId}/memberships/import"
+ .replaceAll("\\{" + "audienceId" + "\\}", localVarApiClient.escapeString(audienceId.toString()));
List localVarQueryParams = new ArrayList();
List localVarCollectionQueryParams = new ArrayList();
@@ -16397,23 +16614,23 @@ public okhttp3.Call importAllowedListCall(Long attributeId, String upFile, final
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call importAllowedListValidateBeforeCall(Long attributeId, String upFile, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call importAudiencesMembershipsValidateBeforeCall(Long audienceId, String 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)");
+ // verify the required parameter 'audienceId' is set
+ if (audienceId == null) {
+ throw new ApiException("Missing the required parameter 'audienceId' when calling importAudiencesMemberships(Async)");
}
- okhttp3.Call localVarCall = importAllowedListCall(attributeId, upFile, _callback);
+ okhttp3.Call localVarCall = importAudiencesMembershipsCall(audienceId, upFile, _callback);
return localVarCall;
}
/**
- * 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` (required): the values in your allowed list, for example a list of SKU's. 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)
+ * 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 500MB. 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)
* @return ModelImport
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -16426,15 +16643,15 @@ private okhttp3.Call importAllowedListValidateBeforeCall(Long attributeId, Strin
| 404 | Not found | - |
*/
- public ModelImport importAllowedList(Long attributeId, String upFile) throws ApiException {
- ApiResponse localVarResp = importAllowedListWithHttpInfo(attributeId, upFile);
+ public ModelImport importAudiencesMemberships(Long audienceId, String upFile) throws ApiException {
+ ApiResponse localVarResp = importAudiencesMembershipsWithHttpInfo(audienceId, upFile);
return localVarResp.getData();
}
/**
- * 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` (required): the values in your allowed list, for example a list of SKU's. 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)
+ * 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 500MB. 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)
* @return ApiResponse<ModelImport>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -16447,16 +16664,16 @@ public ModelImport importAllowedList(Long attributeId, String upFile) throws Api
| 404 | Not found | - |
*/
- public ApiResponse importAllowedListWithHttpInfo(Long attributeId, String upFile) throws ApiException {
- okhttp3.Call localVarCall = importAllowedListValidateBeforeCall(attributeId, upFile, null);
+ public ApiResponse importAudiencesMembershipsWithHttpInfo(Long audienceId, String upFile) throws ApiException {
+ okhttp3.Call localVarCall = importAudiencesMembershipsValidateBeforeCall(audienceId, upFile, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
/**
- * 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` (required): the values in your allowed list, for example a list of SKU's. 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)
+ * 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 500MB. 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 _callback The callback to be executed when the API call finishes
* @return The request call
@@ -16470,16 +16687,19 @@ public ApiResponse importAllowedListWithHttpInfo(Long attributeId,
| 404 | Not found | - |
*/
- public okhttp3.Call importAllowedListAsync(Long attributeId, String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importAudiencesMembershipsAsync(Long audienceId, String upFile, final ApiCallback _callback) throws ApiException {
- okhttp3.Call localVarCall = importAllowedListValidateBeforeCall(attributeId, upFile, _callback);
+ okhttp3.Call localVarCall = importAudiencesMembershipsValidateBeforeCall(audienceId, upFile, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
/**
- * Build call for importAudiencesMemberships
- * @param audienceId The ID of the audience. (required)
+ * Build call for importCampaignStoreBudget
+ * @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 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 _callback Callback for upload/download progress
* @return Call to execute
@@ -16487,21 +16707,28 @@ public okhttp3.Call importAllowedListAsync(Long attributeId, String upFile, fina
* @http.response.details
| Status Code | Description | Response Headers |
- | 200 | OK | - |
+ | 201 | Created | - |
| 400 | Bad request | - |
- | 401 | Unauthorized - Invalid API key | - |
- | 404 | Not found | - |
*/
- public okhttp3.Call importAudiencesMembershipsCall(Long audienceId, String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importCampaignStoreBudgetCall(Long applicationId, Long campaignId, String action, String period, String upFile, final ApiCallback _callback) throws ApiException {
Object localVarPostBody = null;
// create path and map variables
- String localVarPath = "/v1/audiences/{audienceId}/memberships/import"
- .replaceAll("\\{" + "audienceId" + "\\}", localVarApiClient.escapeString(audienceId.toString()));
+ String localVarPath = "/v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets/import"
+ .replaceAll("\\{" + "applicationId" + "\\}", localVarApiClient.escapeString(applicationId.toString()))
+ .replaceAll("\\{" + "campaignId" + "\\}", localVarApiClient.escapeString(campaignId.toString()));
List localVarQueryParams = new ArrayList();
List localVarCollectionQueryParams = new ArrayList();
+ if (action != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("action", action));
+ }
+
+ if (period != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("period", period));
+ }
+
Map localVarHeaderParams = new HashMap();
Map localVarCookieParams = new HashMap();
Map localVarFormParams = new HashMap();
@@ -16528,66 +16755,76 @@ public okhttp3.Call importAudiencesMembershipsCall(Long audienceId, String upFil
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call importAudiencesMembershipsValidateBeforeCall(Long audienceId, String upFile, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call importCampaignStoreBudgetValidateBeforeCall(Long applicationId, Long campaignId, String action, String period, String 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)");
+ // verify the required parameter 'applicationId' is set
+ if (applicationId == null) {
+ throw new ApiException("Missing the required parameter 'applicationId' when calling importCampaignStoreBudget(Async)");
+ }
+
+ // verify the required parameter 'campaignId' is set
+ if (campaignId == null) {
+ throw new ApiException("Missing the required parameter 'campaignId' when calling importCampaignStoreBudget(Async)");
}
- okhttp3.Call localVarCall = importAudiencesMembershipsCall(audienceId, upFile, _callback);
+ okhttp3.Call localVarCall = importCampaignStoreBudgetCall(applicationId, campaignId, action, period, upFile, _callback);
return localVarCall;
}
/**
- * 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 500MB. Example: ```text profileintegrationid charles alexa ```
- * @param audienceId The ID of the audience. (required)
+ * Import campaign store budgets
+ * Upload a CSV file containing store budgets for a given campaign. Send the file as multipart data. The CSV file **must** only contain the following columns: - `store_integration_id`: The identifier of the store. - `limit`: The budget limit for the store. The import **replaces** the previous list of store budgets.
+ * @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 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)
* @return ModelImport
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
| Status Code | Description | Response Headers |
- | 200 | OK | - |
+ | 201 | Created | - |
| 400 | Bad request | - |
- | 401 | Unauthorized - Invalid API key | - |
- | 404 | Not found | - |
*/
- public ModelImport importAudiencesMemberships(Long audienceId, String upFile) throws ApiException {
- ApiResponse localVarResp = importAudiencesMembershipsWithHttpInfo(audienceId, upFile);
+ public ModelImport importCampaignStoreBudget(Long applicationId, Long campaignId, String action, String period, String upFile) throws ApiException {
+ ApiResponse localVarResp = importCampaignStoreBudgetWithHttpInfo(applicationId, campaignId, action, period, upFile);
return localVarResp.getData();
}
/**
- * 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 500MB. Example: ```text profileintegrationid charles alexa ```
- * @param audienceId The ID of the audience. (required)
+ * Import campaign store budgets
+ * Upload a CSV file containing store budgets for a given campaign. Send the file as multipart data. The CSV file **must** only contain the following columns: - `store_integration_id`: The identifier of the store. - `limit`: The budget limit for the store. The import **replaces** the previous list of store budgets.
+ * @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 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)
* @return ApiResponse<ModelImport>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
| Status Code | Description | Response Headers |
- | 200 | OK | - |
+ | 201 | Created | - |
| 400 | Bad request | - |
- | 401 | Unauthorized - Invalid API key | - |
- | 404 | Not found | - |
*/
- public ApiResponse importAudiencesMembershipsWithHttpInfo(Long audienceId, String upFile) throws ApiException {
- okhttp3.Call localVarCall = importAudiencesMembershipsValidateBeforeCall(audienceId, upFile, null);
+ public ApiResponse importCampaignStoreBudgetWithHttpInfo(Long applicationId, Long campaignId, String action, String period, String upFile) throws ApiException {
+ okhttp3.Call localVarCall = importCampaignStoreBudgetValidateBeforeCall(applicationId, campaignId, action, period, upFile, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
/**
- * 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 500MB. Example: ```text profileintegrationid charles alexa ```
- * @param audienceId The ID of the audience. (required)
+ * Import campaign store budgets (asynchronously)
+ * Upload a CSV file containing store budgets for a given campaign. Send the file as multipart data. The CSV file **must** only contain the following columns: - `store_integration_id`: The identifier of the store. - `limit`: The budget limit for the store. The import **replaces** the previous list of store budgets.
+ * @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 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 _callback The callback to be executed when the API call finishes
* @return The request call
@@ -16595,15 +16832,13 @@ public ApiResponse importAudiencesMembershipsWithHttpInfo(Long audi
* @http.response.details
| Status Code | Description | Response Headers |
- | 200 | OK | - |
+ | 201 | Created | - |
| 400 | Bad request | - |
- | 401 | Unauthorized - Invalid API key | - |
- | 404 | Not found | - |
*/
- public okhttp3.Call importAudiencesMembershipsAsync(Long audienceId, String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importCampaignStoreBudgetAsync(Long applicationId, Long campaignId, String action, String period, String upFile, final ApiCallback _callback) throws ApiException {
- okhttp3.Call localVarCall = importAudiencesMembershipsValidateBeforeCall(audienceId, upFile, _callback);
+ okhttp3.Call localVarCall = importCampaignStoreBudgetValidateBeforeCall(applicationId, campaignId, action, period, upFile, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
@@ -17290,6 +17525,7 @@ public okhttp3.Call importLoyaltyCustomersTiersAsync(Long loyaltyProgramId, Stri
/**
* 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 _callback Callback for upload/download progress
* @return Call to execute
@@ -17300,7 +17536,7 @@ public okhttp3.Call importLoyaltyCustomersTiersAsync(Long loyaltyProgramId, Stri
| 200 | OK | - |
*/
- public okhttp3.Call importLoyaltyPointsCall(Long loyaltyProgramId, String upFile, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call importLoyaltyPointsCall(Long loyaltyProgramId, Boolean notificationsEnabled, String upFile, final ApiCallback _callback) throws ApiException {
Object localVarPostBody = null;
// create path and map variables
@@ -17309,6 +17545,10 @@ public okhttp3.Call importLoyaltyPointsCall(Long loyaltyProgramId, String upFile
List localVarQueryParams = new ArrayList();
List localVarCollectionQueryParams = new ArrayList();
+ if (notificationsEnabled != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("notificationsEnabled", notificationsEnabled));
+ }
+
Map localVarHeaderParams = new HashMap();
Map localVarCookieParams = new HashMap();
Map localVarFormParams = new HashMap();
@@ -17335,7 +17575,7 @@ public okhttp3.Call importLoyaltyPointsCall(Long loyaltyProgramId, String upFile
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call importLoyaltyPointsValidateBeforeCall(Long loyaltyProgramId, String upFile, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call importLoyaltyPointsValidateBeforeCall(Long loyaltyProgramId, Boolean notificationsEnabled, String upFile, final ApiCallback _callback) throws ApiException {
// verify the required parameter 'loyaltyProgramId' is set
if (loyaltyProgramId == null) {
@@ -17343,7 +17583,7 @@ private okhttp3.Call importLoyaltyPointsValidateBeforeCall(Long loyaltyProgramId
}
- okhttp3.Call localVarCall = importLoyaltyPointsCall(loyaltyProgramId, upFile, _callback);
+ okhttp3.Call localVarCall = importLoyaltyPointsCall(loyaltyProgramId, notificationsEnabled, upFile, _callback);
return localVarCall;
}
@@ -17352,6 +17592,7 @@ private okhttp3.Call importLoyaltyPointsValidateBeforeCall(Long loyaltyProgramId
* Import loyalty points
* Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. **Note**: If the customer profile does not exist, it will be created. The profile will not be visible in any Application until a session or profile update is received for that profile. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ```
* @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)
* @return ModelImport
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -17361,8 +17602,8 @@ private okhttp3.Call importLoyaltyPointsValidateBeforeCall(Long loyaltyProgramId
| 200 | OK | - |
*/
- public ModelImport importLoyaltyPoints(Long loyaltyProgramId, String upFile) throws ApiException {
- ApiResponse localVarResp = importLoyaltyPointsWithHttpInfo(loyaltyProgramId, upFile);
+ public ModelImport importLoyaltyPoints(Long loyaltyProgramId, Boolean notificationsEnabled, String upFile) throws ApiException {
+ ApiResponse localVarResp = importLoyaltyPointsWithHttpInfo(loyaltyProgramId, notificationsEnabled, upFile);
return localVarResp.getData();
}
@@ -17370,6 +17611,7 @@ public ModelImport importLoyaltyPoints(Long loyaltyProgramId, String upFile) thr
* Import loyalty points
* Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. **Note**: If the customer profile does not exist, it will be created. The profile will not be visible in any Application until a session or profile update is received for that profile. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ```
* @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)
* @return ApiResponse<ModelImport>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
@@ -17379,8 +17621,8 @@ public ModelImport importLoyaltyPoints(Long loyaltyProgramId, String upFile) thr
| 200 | OK | - |
*/
- public ApiResponse importLoyaltyPointsWithHttpInfo(Long loyaltyProgramId, String upFile) throws ApiException {
- okhttp3.Call localVarCall = importLoyaltyPointsValidateBeforeCall(loyaltyProgramId, upFile, null);
+ public ApiResponse importLoyaltyPointsWithHttpInfo(Long loyaltyProgramId, Boolean notificationsEnabled, String upFile) throws ApiException {
+ okhttp3.Call localVarCall = importLoyaltyPointsValidateBeforeCall(loyaltyProgramId, notificationsEnabled, upFile, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
@@ -17389,6 +17631,7 @@ public ApiResponse importLoyaltyPointsWithHttpInfo(Long loyaltyProg
* Import loyalty points (asynchronously)
* Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. **Note**: If the customer profile does not exist, it will be created. The profile will not be visible in any Application until a session or profile update is received for that profile. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ```
* @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 _callback The callback to be executed when the API call finishes
* @return The request call
@@ -17399,9 +17642,9 @@ public ApiResponse importLoyaltyPointsWithHttpInfo(Long loyaltyProg