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 200 OK - */ - public okhttp3.Call importLoyaltyPointsAsync(Long loyaltyProgramId, String upFile, final ApiCallback _callback) throws ApiException { + public okhttp3.Call importLoyaltyPointsAsync(Long loyaltyProgramId, Boolean notificationsEnabled, String upFile, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = importLoyaltyPointsValidateBeforeCall(loyaltyProgramId, upFile, _callback); + okhttp3.Call localVarCall = importLoyaltyPointsValidateBeforeCall(loyaltyProgramId, notificationsEnabled, upFile, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -18110,7 +18353,7 @@ private okhttp3.Call listAllRolesV2ValidateBeforeCall(final ApiCallback _callbac /** * List roles * List all roles. - * @return InlineResponse20046 + * @return InlineResponse20044 * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details @@ -18118,15 +18361,15 @@ private okhttp3.Call listAllRolesV2ValidateBeforeCall(final ApiCallback _callbac
200 OK -
*/ - public InlineResponse20046 listAllRolesV2() throws ApiException { - ApiResponse localVarResp = listAllRolesV2WithHttpInfo(); + public InlineResponse20044 listAllRolesV2() throws ApiException { + ApiResponse localVarResp = listAllRolesV2WithHttpInfo(); return localVarResp.getData(); } /** * List roles * List all roles. - * @return ApiResponse<InlineResponse20046> + * @return ApiResponse<InlineResponse20044> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details @@ -18134,9 +18377,9 @@ public InlineResponse20046 listAllRolesV2() throws ApiException {
200 OK -
*/ - public ApiResponse listAllRolesV2WithHttpInfo() throws ApiException { + public ApiResponse listAllRolesV2WithHttpInfo() throws ApiException { okhttp3.Call localVarCall = listAllRolesV2ValidateBeforeCall(null); - Type localVarReturnType = new TypeToken(){}.getType(); + Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } @@ -18152,9 +18395,158 @@ public ApiResponse listAllRolesV2WithHttpInfo() throws ApiE 200 OK - */ - public okhttp3.Call listAllRolesV2Async(final ApiCallback _callback) throws ApiException { + public okhttp3.Call listAllRolesV2Async(final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = listAllRolesV2ValidateBeforeCall(_callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for listCampaignStoreBudgetLimits + * @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
200 OK -
400 Bad request -
401 Unauthorized - Invalid API key -
404 Not found -
+ */ + public okhttp3.Call listCampaignStoreBudgetLimitsCall(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, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call listCampaignStoreBudgetLimitsValidateBeforeCall(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 listCampaignStoreBudgetLimits(Async)"); + } + + // verify the required parameter 'campaignId' is set + if (campaignId == null) { + throw new ApiException("Missing the required parameter 'campaignId' when calling listCampaignStoreBudgetLimits(Async)"); + } + + + okhttp3.Call localVarCall = listCampaignStoreBudgetLimitsCall(applicationId, campaignId, action, period, _callback); + return localVarCall; + + } + + /** + * List campaign store budget limits + * Return the store budget limits 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 InlineResponse20046 + * @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 InlineResponse20046 listCampaignStoreBudgetLimits(Long applicationId, Long campaignId, String action, String period) throws ApiException { + ApiResponse localVarResp = listCampaignStoreBudgetLimitsWithHttpInfo(applicationId, campaignId, action, period); + return localVarResp.getData(); + } + + /** + * List campaign store budget limits + * Return the store budget limits 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<InlineResponse20046> + * @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 listCampaignStoreBudgetLimitsWithHttpInfo(Long applicationId, Long campaignId, String action, String period) throws ApiException { + okhttp3.Call localVarCall = listCampaignStoreBudgetLimitsValidateBeforeCall(applicationId, campaignId, action, period, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List campaign store budget limits (asynchronously) + * Return the store budget limits 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
200 OK -
400 Bad request -
401 Unauthorized - Invalid API key -
404 Not found -
+ */ + public okhttp3.Call listCampaignStoreBudgetLimitsAsync(Long applicationId, Long campaignId, String action, String period, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listCampaignStoreBudgetLimitsValidateBeforeCall(applicationId, campaignId, action, period, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -18198,11 +18590,11 @@ public okhttp3.Call listCatalogItemsCall(Long catalogId, Long pageSize, Long ski } if (sku != null) { - localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("csv", "sku", sku)); + localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "sku", sku)); } if (productNames != null) { - localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("csv", "productNames", productNames)); + localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "productNames", productNames)); } Map localVarHeaderParams = new HashMap(); @@ -18619,78 +19011,557 @@ public ApiResponse listCollectionsInApplicationWithHttpInfo * @http.response.details - - + + +
Status Code Description Response Headers
200 OK -
404 Not found -
200 OK -
404 Not found -
+ */ + public okhttp3.Call listCollectionsInApplicationAsync(Long applicationId, Long pageSize, Long skip, String sort, Boolean withTotalResultSize, String name, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listCollectionsInApplicationValidateBeforeCall(applicationId, pageSize, skip, sort, withTotalResultSize, name, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for listStores + * @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required) + * @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 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 campaignId Filter results by campaign ID. (optional) + * @param name The name of the store. (optional) + * @param integrationId The integration ID of the store. (optional) + * @param query Filter results by `name` or `integrationId`. (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 -
+ */ + public okhttp3.Call listStoresCall(Long applicationId, Long pageSize, Long skip, String sort, Boolean withTotalResultSize, BigDecimal campaignId, String name, String integrationId, String query, final ApiCallback _callback) throws ApiException { + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/applications/{applicationId}/stores" + .replaceAll("\\{" + "applicationId" + "\\}", localVarApiClient.escapeString(applicationId.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 (withTotalResultSize != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("withTotalResultSize", withTotalResultSize)); + } + + if (campaignId != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("campaignId", campaignId)); + } + + if (name != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("name", name)); + } + + if (integrationId != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("integrationId", integrationId)); + } + + if (query != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("query", query)); + } + + 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, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call listStoresValidateBeforeCall(Long applicationId, Long pageSize, Long skip, String sort, Boolean withTotalResultSize, BigDecimal campaignId, String name, String integrationId, String query, 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 listStores(Async)"); + } + + + okhttp3.Call localVarCall = listStoresCall(applicationId, pageSize, skip, sort, withTotalResultSize, campaignId, name, integrationId, query, _callback); + return localVarCall; + + } + + /** + * List stores + * List all stores for a specific Application. + * @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required) + * @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 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 campaignId Filter results by campaign ID. (optional) + * @param name The name of the store. (optional) + * @param integrationId The integration ID of the store. (optional) + * @param query Filter results by `name` or `integrationId`. (optional) + * @return InlineResponse20045 + * @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 -
+ */ + public InlineResponse20045 listStores(Long applicationId, Long pageSize, Long skip, String sort, Boolean withTotalResultSize, BigDecimal campaignId, String name, String integrationId, String query) throws ApiException { + ApiResponse localVarResp = listStoresWithHttpInfo(applicationId, pageSize, skip, sort, withTotalResultSize, campaignId, name, integrationId, query); + return localVarResp.getData(); + } + + /** + * List stores + * List all stores for a specific Application. + * @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required) + * @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 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 campaignId Filter results by campaign ID. (optional) + * @param name The name of the store. (optional) + * @param integrationId The integration ID of the store. (optional) + * @param query Filter results by `name` or `integrationId`. (optional) + * @return ApiResponse<InlineResponse20045> + * @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 -
+ */ + public ApiResponse listStoresWithHttpInfo(Long applicationId, Long pageSize, Long skip, String sort, Boolean withTotalResultSize, BigDecimal campaignId, String name, String integrationId, String query) throws ApiException { + okhttp3.Call localVarCall = listStoresValidateBeforeCall(applicationId, pageSize, skip, sort, withTotalResultSize, campaignId, name, integrationId, query, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List stores (asynchronously) + * List all stores for a specific Application. + * @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required) + * @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 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 campaignId Filter results by campaign ID. (optional) + * @param name The name of the store. (optional) + * @param integrationId The integration ID of the store. (optional) + * @param query Filter results by `name` or `integrationId`. (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 listStoresAsync(Long applicationId, Long pageSize, Long skip, String sort, Boolean withTotalResultSize, BigDecimal campaignId, String name, String integrationId, String query, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listStoresValidateBeforeCall(applicationId, pageSize, skip, sort, withTotalResultSize, campaignId, name, integrationId, query, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for oktaEventHandlerChallenge + * @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 -
+ */ + public okhttp3.Call oktaEventHandlerChallengeCall(final ApiCallback _callback) throws ApiException { + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/provisioning/okta"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + final String[] localVarAccepts = { + + }; + 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 oktaEventHandlerChallengeValidateBeforeCall(final ApiCallback _callback) throws ApiException { + + + okhttp3.Call localVarCall = oktaEventHandlerChallengeCall(_callback); + return localVarCall; + + } + + /** + * Validate Okta API ownership + * Validate the ownership of the API through a challenge-response mechanism. This challenger endpoint is used by Okta to confirm that communication between Talon.One and Okta is correctly configured and accessible for provisioning and deprovisioning of Talon.One users, and that only Talon.One can receive and respond to events from Okta. + * @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 -
+ */ + public void oktaEventHandlerChallenge() throws ApiException { + oktaEventHandlerChallengeWithHttpInfo(); + } + + /** + * Validate Okta API ownership + * Validate the ownership of the API through a challenge-response mechanism. This challenger endpoint is used by Okta to confirm that communication between Talon.One and Okta is correctly configured and accessible for provisioning and deprovisioning of Talon.One users, and that only Talon.One can receive and respond to events from Okta. + * @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
200 OK -
+ */ + public ApiResponse oktaEventHandlerChallengeWithHttpInfo() throws ApiException { + okhttp3.Call localVarCall = oktaEventHandlerChallengeValidateBeforeCall(null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Validate Okta API ownership (asynchronously) + * Validate the ownership of the API through a challenge-response mechanism. This challenger endpoint is used by Okta to confirm that communication between Talon.One and Okta is correctly configured and accessible for provisioning and deprovisioning of Talon.One users, and that only Talon.One can receive and respond to events from Okta. + * @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 oktaEventHandlerChallengeAsync(final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = oktaEventHandlerChallengeValidateBeforeCall(_callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for removeLoyaltyPoints + * @param loyaltyProgramId The identifier for the loyalty program. (required) + * @param integrationId The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. (required) + * @param 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
204 No Content -
400 Bad request -
401 Unauthorized -
404 Not found -
+ */ + public okhttp3.Call removeLoyaltyPointsCall(String loyaltyProgramId, String integrationId, DeductLoyaltyPoints body, final ApiCallback _callback) throws ApiException { + Object localVarPostBody = body; + + // create path and map variables + String localVarPath = "/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/deduct_points" + .replaceAll("\\{" + "loyaltyProgramId" + "\\}", localVarApiClient.escapeString(loyaltyProgramId.toString())) + .replaceAll("\\{" + "integrationId" + "\\}", localVarApiClient.escapeString(integrationId.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, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call removeLoyaltyPointsValidateBeforeCall(String loyaltyProgramId, String integrationId, DeductLoyaltyPoints body, final ApiCallback _callback) throws ApiException { + + // verify the required parameter 'loyaltyProgramId' is set + if (loyaltyProgramId == null) { + throw new ApiException("Missing the required parameter 'loyaltyProgramId' when calling removeLoyaltyPoints(Async)"); + } + + // verify the required parameter 'integrationId' is set + if (integrationId == null) { + throw new ApiException("Missing the required parameter 'integrationId' when calling removeLoyaltyPoints(Async)"); + } + + // verify the required parameter 'body' is set + if (body == null) { + throw new ApiException("Missing the required parameter 'body' when calling removeLoyaltyPoints(Async)"); + } + + + okhttp3.Call localVarCall = removeLoyaltyPointsCall(loyaltyProgramId, integrationId, body, _callback); + return localVarCall; + + } + + /** + * Deduct points from customer profile + * Deduct points from the specified loyalty program and specified customer profile. **Important:** - Only active points can be deducted. - Only pending points are rolled back when a session is cancelled or reopened. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. + * @param loyaltyProgramId The identifier for the loyalty program. (required) + * @param integrationId The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. (required) + * @param 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
204 No Content -
400 Bad request -
401 Unauthorized -
404 Not found -
+ */ + public void removeLoyaltyPoints(String loyaltyProgramId, String integrationId, DeductLoyaltyPoints body) throws ApiException { + removeLoyaltyPointsWithHttpInfo(loyaltyProgramId, integrationId, body); + } + + /** + * Deduct points from customer profile + * Deduct points from the specified loyalty program and specified customer profile. **Important:** - Only active points can be deducted. - Only pending points are rolled back when a session is cancelled or reopened. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. + * @param loyaltyProgramId The identifier for the loyalty program. (required) + * @param integrationId The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. (required) + * @param 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
204 No Content -
400 Bad request -
401 Unauthorized -
404 Not found -
+ */ + public ApiResponse removeLoyaltyPointsWithHttpInfo(String loyaltyProgramId, String integrationId, DeductLoyaltyPoints body) throws ApiException { + okhttp3.Call localVarCall = removeLoyaltyPointsValidateBeforeCall(loyaltyProgramId, integrationId, body, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Deduct points from customer profile (asynchronously) + * Deduct points from the specified loyalty program and specified customer profile. **Important:** - Only active points can be deducted. - Only pending points are rolled back when a session is cancelled or reopened. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. + * @param loyaltyProgramId The identifier for the loyalty program. (required) + * @param integrationId The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. (required) + * @param 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
204 No Content -
400 Bad request -
401 Unauthorized -
404 Not found -
+ */ + public okhttp3.Call removeLoyaltyPointsAsync(String loyaltyProgramId, String integrationId, DeductLoyaltyPoints body, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = removeLoyaltyPointsValidateBeforeCall(loyaltyProgramId, integrationId, body, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for resetPassword + * @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
204 Created -
+ */ + public okhttp3.Call resetPasswordCall(NewPassword body, final ApiCallback _callback) throws ApiException { + Object localVarPostBody = body; + + // create path and map variables + String localVarPath = "/v1/reset_password"; + + 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 resetPasswordValidateBeforeCall(NewPassword body, final ApiCallback _callback) throws ApiException { + + // verify the required parameter 'body' is set + if (body == null) { + throw new ApiException("Missing the required parameter 'body' when calling resetPassword(Async)"); + } + + + okhttp3.Call localVarCall = resetPasswordCall(body, _callback); + return localVarCall; + + } + + /** + * Reset password + * Consumes the supplied password reset token and updates the password for the associated account. + * @param body body (required) + * @return NewPassword + * @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 Created -
+ */ + public NewPassword resetPassword(NewPassword body) throws ApiException { + ApiResponse localVarResp = resetPasswordWithHttpInfo(body); + return localVarResp.getData(); + } + + /** + * Reset password + * Consumes the supplied password reset token and updates the password for the associated account. + * @param body body (required) + * @return ApiResponse<NewPassword> + * @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 Created -
+ */ + public ApiResponse resetPasswordWithHttpInfo(NewPassword body) throws ApiException { + okhttp3.Call localVarCall = resetPasswordValidateBeforeCall(body, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Reset password (asynchronously) + * Consumes the supplied password reset token and updates the password for the associated account. + * @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
204 Created -
*/ - public okhttp3.Call listCollectionsInApplicationAsync(Long applicationId, Long pageSize, Long skip, String sort, Boolean withTotalResultSize, String name, final ApiCallback _callback) throws ApiException { + public okhttp3.Call resetPasswordAsync(NewPassword body, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = listCollectionsInApplicationValidateBeforeCall(applicationId, pageSize, skip, sort, withTotalResultSize, name, _callback); - Type localVarReturnType = new TypeToken(){}.getType(); + okhttp3.Call localVarCall = resetPasswordValidateBeforeCall(body, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } /** - * Build call for listStores - * @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required) - * @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 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 campaignId Filter results by campaign ID. (optional) - * @param name The name of the store. (optional) - * @param integrationId The integration ID of the store. (optional) - * @param query Filter results by `name` or `integrationId`. (optional) + * Build call for scimCreateGroup + * @param body body (required) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object * @http.response.details - +
Status Code Description Response Headers
200 OK -
201 Created -
*/ - public okhttp3.Call listStoresCall(Long applicationId, Long pageSize, Long skip, String sort, Boolean withTotalResultSize, BigDecimal campaignId, String name, String integrationId, String query, final ApiCallback _callback) throws ApiException { - Object localVarPostBody = null; + public okhttp3.Call scimCreateGroupCall(ScimBaseGroup body, final ApiCallback _callback) throws ApiException { + Object localVarPostBody = body; // create path and map variables - String localVarPath = "/v1/applications/{applicationId}/stores" - .replaceAll("\\{" + "applicationId" + "\\}", localVarApiClient.escapeString(applicationId.toString())); + String localVarPath = "/v1/provisioning/scim/Groups"; 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 (withTotalResultSize != null) { - localVarQueryParams.addAll(localVarApiClient.parameterToPair("withTotalResultSize", withTotalResultSize)); - } - - if (campaignId != null) { - localVarQueryParams.addAll(localVarApiClient.parameterToPair("campaignId", campaignId)); - } - - if (name != null) { - localVarQueryParams.addAll(localVarApiClient.parameterToPair("name", name)); - } - - if (integrationId != null) { - localVarQueryParams.addAll(localVarApiClient.parameterToPair("integrationId", integrationId)); - } - - if (query != null) { - localVarQueryParams.addAll(localVarApiClient.parameterToPair("query", query)); - } - Map localVarHeaderParams = new HashMap(); Map localVarCookieParams = new HashMap(); Map localVarFormParams = new HashMap(); @@ -18703,124 +19574,101 @@ public okhttp3.Call listStoresCall(Long applicationId, Long pageSize, Long skip, } 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, "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 listStoresValidateBeforeCall(Long applicationId, Long pageSize, Long skip, String sort, Boolean withTotalResultSize, BigDecimal campaignId, String name, String integrationId, String query, final ApiCallback _callback) throws ApiException { + private okhttp3.Call scimCreateGroupValidateBeforeCall(ScimBaseGroup 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 listStores(Async)"); + // verify the required parameter 'body' is set + if (body == null) { + throw new ApiException("Missing the required parameter 'body' when calling scimCreateGroup(Async)"); } - okhttp3.Call localVarCall = listStoresCall(applicationId, pageSize, skip, sort, withTotalResultSize, campaignId, name, integrationId, query, _callback); + okhttp3.Call localVarCall = scimCreateGroupCall(body, _callback); return localVarCall; } /** - * List stores - * List all stores for a specific Application. - * @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required) - * @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 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 campaignId Filter results by campaign ID. (optional) - * @param name The name of the store. (optional) - * @param integrationId The integration ID of the store. (optional) - * @param query Filter results by `name` or `integrationId`. (optional) - * @return InlineResponse20047 + * 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. + * @param body body (required) + * @return ScimGroup * @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 -
*/ - public InlineResponse20047 listStores(Long applicationId, Long pageSize, Long skip, String sort, Boolean withTotalResultSize, BigDecimal campaignId, String name, String integrationId, String query) throws ApiException { - ApiResponse localVarResp = listStoresWithHttpInfo(applicationId, pageSize, skip, sort, withTotalResultSize, campaignId, name, integrationId, query); + public ScimGroup scimCreateGroup(ScimBaseGroup body) throws ApiException { + ApiResponse localVarResp = scimCreateGroupWithHttpInfo(body); return localVarResp.getData(); } /** - * List stores - * List all stores for a specific Application. - * @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required) - * @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 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 campaignId Filter results by campaign ID. (optional) - * @param name The name of the store. (optional) - * @param integrationId The integration ID of the store. (optional) - * @param query Filter results by `name` or `integrationId`. (optional) - * @return ApiResponse<InlineResponse20047> + * 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. + * @param body body (required) + * @return ApiResponse<ScimGroup> * @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 -
*/ - public ApiResponse listStoresWithHttpInfo(Long applicationId, Long pageSize, Long skip, String sort, Boolean withTotalResultSize, BigDecimal campaignId, String name, String integrationId, String query) throws ApiException { - okhttp3.Call localVarCall = listStoresValidateBeforeCall(applicationId, pageSize, skip, sort, withTotalResultSize, campaignId, name, integrationId, query, null); - Type localVarReturnType = new TypeToken(){}.getType(); + public ApiResponse scimCreateGroupWithHttpInfo(ScimBaseGroup body) throws ApiException { + okhttp3.Call localVarCall = scimCreateGroupValidateBeforeCall(body, null); + Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** - * List stores (asynchronously) - * List all stores for a specific Application. - * @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required) - * @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 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 campaignId Filter results by campaign ID. (optional) - * @param name The name of the store. (optional) - * @param integrationId The integration ID of the store. (optional) - * @param query Filter results by `name` or `integrationId`. (optional) + * Create SCIM group (asynchronously) + * 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. + * @param body body (required) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object * @http.response.details - +
Status Code Description Response Headers
200 OK -
201 Created -
*/ - public okhttp3.Call listStoresAsync(Long applicationId, Long pageSize, Long skip, String sort, Boolean withTotalResultSize, BigDecimal campaignId, String name, String integrationId, String query, final ApiCallback _callback) throws ApiException { + public okhttp3.Call scimCreateGroupAsync(ScimBaseGroup body, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = listStoresValidateBeforeCall(applicationId, pageSize, skip, sort, withTotalResultSize, campaignId, name, integrationId, query, _callback); - Type localVarReturnType = new TypeToken(){}.getType(); + okhttp3.Call localVarCall = scimCreateGroupValidateBeforeCall(body, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } /** - * Build call for oktaEventHandlerChallenge + * Build call for scimCreateUser + * @param body body (required) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object * @http.response.details - +
Status Code Description Response Headers
200 OK -
201 Created -
*/ - public okhttp3.Call oktaEventHandlerChallengeCall(final ApiCallback _callback) throws ApiException { - Object localVarPostBody = null; + public okhttp3.Call scimCreateUserCall(ScimNewUser body, final ApiCallback _callback) throws ApiException { + Object localVarPostBody = body; // create path and map variables - String localVarPath = "/v1/provisioning/okta"; + String localVarPath = "/v1/provisioning/scim/Users"; List localVarQueryParams = new ArrayList(); List localVarCollectionQueryParams = new ArrayList(); @@ -18828,7 +19676,7 @@ public okhttp3.Call oktaEventHandlerChallengeCall(final ApiCallback _callback) t Map localVarCookieParams = new HashMap(); Map localVarFormParams = new HashMap(); final String[] localVarAccepts = { - + "application/json" }; final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); if (localVarAccept != null) { @@ -18836,77 +19684,87 @@ public okhttp3.Call oktaEventHandlerChallengeCall(final ApiCallback _callback) t } 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, "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 oktaEventHandlerChallengeValidateBeforeCall(final ApiCallback _callback) throws ApiException { + private okhttp3.Call scimCreateUserValidateBeforeCall(ScimNewUser body, final ApiCallback _callback) throws ApiException { + + // verify the required parameter 'body' is set + if (body == null) { + throw new ApiException("Missing the required parameter 'body' when calling scimCreateUser(Async)"); + } - okhttp3.Call localVarCall = oktaEventHandlerChallengeCall(_callback); + okhttp3.Call localVarCall = scimCreateUserCall(body, _callback); return localVarCall; } /** - * Validate Okta API ownership - * Validate the ownership of the API through a challenge-response mechanism. This challenger endpoint is used by Okta to confirm that communication between Talon.One and Okta is correctly configured and accessible for provisioning and deprovisioning of Talon.One users, and that only Talon.One can receive and respond to events from Okta. + * Create SCIM user + * Create a new Talon.One user using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. + * @param body body (required) + * @return ScimUser * @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 -
*/ - public void oktaEventHandlerChallenge() throws ApiException { - oktaEventHandlerChallengeWithHttpInfo(); + public ScimUser scimCreateUser(ScimNewUser body) throws ApiException { + ApiResponse localVarResp = scimCreateUserWithHttpInfo(body); + return localVarResp.getData(); } /** - * Validate Okta API ownership - * Validate the ownership of the API through a challenge-response mechanism. This challenger endpoint is used by Okta to confirm that communication between Talon.One and Okta is correctly configured and accessible for provisioning and deprovisioning of Talon.One users, and that only Talon.One can receive and respond to events from Okta. - * @return ApiResponse<Void> + * Create SCIM user + * Create a new Talon.One user using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. + * @param body body (required) + * @return ApiResponse<ScimUser> * @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 -
*/ - public ApiResponse oktaEventHandlerChallengeWithHttpInfo() throws ApiException { - okhttp3.Call localVarCall = oktaEventHandlerChallengeValidateBeforeCall(null); - return localVarApiClient.execute(localVarCall); + public ApiResponse scimCreateUserWithHttpInfo(ScimNewUser body) throws ApiException { + okhttp3.Call localVarCall = scimCreateUserValidateBeforeCall(body, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); } /** - * Validate Okta API ownership (asynchronously) - * Validate the ownership of the API through a challenge-response mechanism. This challenger endpoint is used by Okta to confirm that communication between Talon.One and Okta is correctly configured and accessible for provisioning and deprovisioning of Talon.One users, and that only Talon.One can receive and respond to events from Okta. + * Create SCIM user (asynchronously) + * Create a new Talon.One user using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. + * @param body body (required) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object * @http.response.details - +
Status Code Description Response Headers
200 OK -
201 Created -
*/ - public okhttp3.Call oktaEventHandlerChallengeAsync(final ApiCallback _callback) throws ApiException { + public okhttp3.Call scimCreateUserAsync(ScimNewUser body, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = oktaEventHandlerChallengeValidateBeforeCall(_callback); - localVarApiClient.executeAsync(localVarCall, _callback); + okhttp3.Call localVarCall = scimCreateUserValidateBeforeCall(body, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } /** - * Build call for removeLoyaltyPoints - * @param loyaltyProgramId The identifier for the loyalty program. (required) - * @param integrationId The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. (required) - * @param body body (required) + * Build call for scimDeleteGroup + * @param groupId The ID of the group. (required) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -18914,18 +19772,14 @@ public okhttp3.Call oktaEventHandlerChallengeAsync(final ApiCallback _call - - -
Status Code Description Response Headers
204 No Content -
400 Bad request -
401 Unauthorized -
404 Not found -
*/ - public okhttp3.Call removeLoyaltyPointsCall(String loyaltyProgramId, String integrationId, DeductLoyaltyPoints body, final ApiCallback _callback) throws ApiException { - Object localVarPostBody = body; + public okhttp3.Call scimDeleteGroupCall(Long groupId, final ApiCallback _callback) throws ApiException { + Object localVarPostBody = null; // create path and map variables - String localVarPath = "/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/deduct_points" - .replaceAll("\\{" + "loyaltyProgramId" + "\\}", localVarApiClient.escapeString(loyaltyProgramId.toString())) - .replaceAll("\\{" + "integrationId" + "\\}", localVarApiClient.escapeString(integrationId.toString())); + String localVarPath = "/v1/provisioning/scim/Groups/{groupId}" + .replaceAll("\\{" + "groupId" + "\\}", localVarApiClient.escapeString(groupId.toString())); List localVarQueryParams = new ArrayList(); List localVarCollectionQueryParams = new ArrayList(); @@ -18933,7 +19787,7 @@ public okhttp3.Call removeLoyaltyPointsCall(String loyaltyProgramId, String inte Map localVarCookieParams = new HashMap(); Map localVarFormParams = new HashMap(); final String[] localVarAccepts = { - "application/json" + }; final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); if (localVarAccept != null) { @@ -18941,87 +19795,65 @@ public okhttp3.Call removeLoyaltyPointsCall(String loyaltyProgramId, String inte } 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, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + return localVarApiClient.buildCall(localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call removeLoyaltyPointsValidateBeforeCall(String loyaltyProgramId, String integrationId, DeductLoyaltyPoints body, final ApiCallback _callback) throws ApiException { - - // verify the required parameter 'loyaltyProgramId' is set - if (loyaltyProgramId == null) { - throw new ApiException("Missing the required parameter 'loyaltyProgramId' when calling removeLoyaltyPoints(Async)"); - } - - // verify the required parameter 'integrationId' is set - if (integrationId == null) { - throw new ApiException("Missing the required parameter 'integrationId' when calling removeLoyaltyPoints(Async)"); - } + private okhttp3.Call scimDeleteGroupValidateBeforeCall(Long groupId, final ApiCallback _callback) throws ApiException { - // verify the required parameter 'body' is set - if (body == null) { - throw new ApiException("Missing the required parameter 'body' when calling removeLoyaltyPoints(Async)"); + // verify the required parameter 'groupId' is set + if (groupId == null) { + throw new ApiException("Missing the required parameter 'groupId' when calling scimDeleteGroup(Async)"); } - okhttp3.Call localVarCall = removeLoyaltyPointsCall(loyaltyProgramId, integrationId, body, _callback); + okhttp3.Call localVarCall = scimDeleteGroupCall(groupId, _callback); return localVarCall; } /** - * Deduct points from customer profile - * Deduct points from the specified loyalty program and specified customer profile. **Important:** - Only active points can be deducted. - Only pending points are rolled back when a session is cancelled or reopened. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. - * @param loyaltyProgramId The identifier for the loyalty program. (required) - * @param integrationId The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. (required) - * @param body body (required) + * 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. + * @param groupId The ID of the group. (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
204 No Content -
400 Bad request -
401 Unauthorized -
404 Not found -
*/ - public void removeLoyaltyPoints(String loyaltyProgramId, String integrationId, DeductLoyaltyPoints body) throws ApiException { - removeLoyaltyPointsWithHttpInfo(loyaltyProgramId, integrationId, body); + public void scimDeleteGroup(Long groupId) throws ApiException { + scimDeleteGroupWithHttpInfo(groupId); } /** - * Deduct points from customer profile - * Deduct points from the specified loyalty program and specified customer profile. **Important:** - Only active points can be deducted. - Only pending points are rolled back when a session is cancelled or reopened. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. - * @param loyaltyProgramId The identifier for the loyalty program. (required) - * @param integrationId The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. (required) - * @param body body (required) + * 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. + * @param groupId The ID of the group. (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
204 No Content -
400 Bad request -
401 Unauthorized -
404 Not found -
*/ - public ApiResponse removeLoyaltyPointsWithHttpInfo(String loyaltyProgramId, String integrationId, DeductLoyaltyPoints body) throws ApiException { - okhttp3.Call localVarCall = removeLoyaltyPointsValidateBeforeCall(loyaltyProgramId, integrationId, body, null); + public ApiResponse scimDeleteGroupWithHttpInfo(Long groupId) throws ApiException { + okhttp3.Call localVarCall = scimDeleteGroupValidateBeforeCall(groupId, null); return localVarApiClient.execute(localVarCall); } /** - * Deduct points from customer profile (asynchronously) - * Deduct points from the specified loyalty program and specified customer profile. **Important:** - Only active points can be deducted. - Only pending points are rolled back when a session is cancelled or reopened. To get the `integrationId` of the profile from a `sessionId`, use the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. - * @param loyaltyProgramId The identifier for the loyalty program. (required) - * @param integrationId The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier. (required) - * @param body body (required) + * Delete SCIM group (asynchronously) + * 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. + * @param groupId The ID of the group. (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 @@ -19029,34 +19861,32 @@ public ApiResponse removeLoyaltyPointsWithHttpInfo(String loyaltyProgramId - - -
Status Code Description Response Headers
204 No Content -
400 Bad request -
401 Unauthorized -
404 Not found -
*/ - public okhttp3.Call removeLoyaltyPointsAsync(String loyaltyProgramId, String integrationId, DeductLoyaltyPoints body, final ApiCallback _callback) throws ApiException { + public okhttp3.Call scimDeleteGroupAsync(Long groupId, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = removeLoyaltyPointsValidateBeforeCall(loyaltyProgramId, integrationId, body, _callback); + okhttp3.Call localVarCall = scimDeleteGroupValidateBeforeCall(groupId, _callback); localVarApiClient.executeAsync(localVarCall, _callback); return localVarCall; } /** - * Build call for resetPassword - * @param body body (required) + * Build call for scimDeleteUser + * @param userId The ID of the user. (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
204 Created -
204 No Content -
*/ - public okhttp3.Call resetPasswordCall(NewPassword body, final ApiCallback _callback) throws ApiException { - Object localVarPostBody = body; + public okhttp3.Call scimDeleteUserCall(Long userId, final ApiCallback _callback) throws ApiException { + Object localVarPostBody = null; // create path and map variables - String localVarPath = "/v1/reset_password"; + String localVarPath = "/v1/provisioning/scim/Users/{userId}" + .replaceAll("\\{" + "userId" + "\\}", localVarApiClient.escapeString(userId.toString())); List localVarQueryParams = new ArrayList(); List localVarCollectionQueryParams = new ArrayList(); @@ -19064,7 +19894,7 @@ public okhttp3.Call resetPasswordCall(NewPassword body, final ApiCallback _callb Map localVarCookieParams = new HashMap(); Map localVarFormParams = new HashMap(); final String[] localVarAccepts = { - "application/json" + }; final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); if (localVarAccept != null) { @@ -19072,101 +19902,98 @@ public okhttp3.Call resetPasswordCall(NewPassword body, final ApiCallback _callb } 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); + return localVarApiClient.buildCall(localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call resetPasswordValidateBeforeCall(NewPassword body, final ApiCallback _callback) throws ApiException { + private okhttp3.Call scimDeleteUserValidateBeforeCall(Long userId, final ApiCallback _callback) throws ApiException { - // verify the required parameter 'body' is set - if (body == null) { - throw new ApiException("Missing the required parameter 'body' when calling resetPassword(Async)"); + // verify the required parameter 'userId' is set + if (userId == null) { + throw new ApiException("Missing the required parameter 'userId' when calling scimDeleteUser(Async)"); } - okhttp3.Call localVarCall = resetPasswordCall(body, _callback); + okhttp3.Call localVarCall = scimDeleteUserCall(userId, _callback); return localVarCall; } /** - * Reset password - * Consumes the supplied password reset token and updates the password for the associated account. - * @param body body (required) - * @return NewPassword + * Delete SCIM user + * Delete a specific Talon.One user created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. + * @param userId The ID of the user. (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
204 Created -
204 No Content -
*/ - public NewPassword resetPassword(NewPassword body) throws ApiException { - ApiResponse localVarResp = resetPasswordWithHttpInfo(body); - return localVarResp.getData(); + public void scimDeleteUser(Long userId) throws ApiException { + scimDeleteUserWithHttpInfo(userId); } /** - * Reset password - * Consumes the supplied password reset token and updates the password for the associated account. - * @param body body (required) - * @return ApiResponse<NewPassword> + * Delete SCIM user + * Delete a specific Talon.One user created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. + * @param userId The ID of the user. (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
204 Created -
204 No Content -
*/ - public ApiResponse resetPasswordWithHttpInfo(NewPassword body) throws ApiException { - okhttp3.Call localVarCall = resetPasswordValidateBeforeCall(body, null); - Type localVarReturnType = new TypeToken(){}.getType(); - return localVarApiClient.execute(localVarCall, localVarReturnType); + public ApiResponse scimDeleteUserWithHttpInfo(Long userId) throws ApiException { + okhttp3.Call localVarCall = scimDeleteUserValidateBeforeCall(userId, null); + return localVarApiClient.execute(localVarCall); } /** - * Reset password (asynchronously) - * Consumes the supplied password reset token and updates the password for the associated account. - * @param body body (required) + * Delete SCIM user (asynchronously) + * Delete a specific Talon.One user created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. + * @param userId The ID of the user. (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
204 Created -
204 No Content -
*/ - public okhttp3.Call resetPasswordAsync(NewPassword body, final ApiCallback _callback) throws ApiException { + public okhttp3.Call scimDeleteUserAsync(Long userId, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = resetPasswordValidateBeforeCall(body, _callback); - Type localVarReturnType = new TypeToken(){}.getType(); - localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + okhttp3.Call localVarCall = scimDeleteUserValidateBeforeCall(userId, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); return localVarCall; } /** - * Build call for scimCreateUser - * @param body body (required) + * Build call for scimGetGroup + * @param groupId The ID of the group. (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 -
200 Group details -
*/ - public okhttp3.Call scimCreateUserCall(ScimNewUser body, final ApiCallback _callback) throws ApiException { - Object localVarPostBody = body; + public okhttp3.Call scimGetGroupCall(Long groupId, final ApiCallback _callback) throws ApiException { + Object localVarPostBody = null; // create path and map variables - String localVarPath = "/v1/provisioning/scim/Users"; + String localVarPath = "/v1/provisioning/scim/Groups/{groupId}" + .replaceAll("\\{" + "groupId" + "\\}", localVarApiClient.escapeString(groupId.toString())); List localVarQueryParams = new ArrayList(); List localVarCollectionQueryParams = new ArrayList(); @@ -19182,102 +20009,100 @@ public okhttp3.Call scimCreateUserCall(ScimNewUser body, final ApiCallback _call } 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); + return localVarApiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call scimCreateUserValidateBeforeCall(ScimNewUser body, final ApiCallback _callback) throws ApiException { + private okhttp3.Call scimGetGroupValidateBeforeCall(Long groupId, final ApiCallback _callback) throws ApiException { - // verify the required parameter 'body' is set - if (body == null) { - throw new ApiException("Missing the required parameter 'body' when calling scimCreateUser(Async)"); + // verify the required parameter 'groupId' is set + if (groupId == null) { + throw new ApiException("Missing the required parameter 'groupId' when calling scimGetGroup(Async)"); } - okhttp3.Call localVarCall = scimCreateUserCall(body, _callback); + okhttp3.Call localVarCall = scimGetGroupCall(groupId, _callback); return localVarCall; } /** - * Create SCIM user - * Create a new Talon.One user using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. - * @param body body (required) - * @return ScimUser + * Get SCIM group + * 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. + * @param groupId The ID of the group. (required) + * @return ScimGroup * @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 -
200 Group details -
*/ - public ScimUser scimCreateUser(ScimNewUser body) throws ApiException { - ApiResponse localVarResp = scimCreateUserWithHttpInfo(body); + public ScimGroup scimGetGroup(Long groupId) throws ApiException { + ApiResponse localVarResp = scimGetGroupWithHttpInfo(groupId); return localVarResp.getData(); } /** - * Create SCIM user - * Create a new Talon.One user using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. - * @param body body (required) - * @return ApiResponse<ScimUser> + * Get SCIM group + * 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. + * @param groupId The ID of the group. (required) + * @return ApiResponse<ScimGroup> * @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 -
200 Group details -
*/ - public ApiResponse scimCreateUserWithHttpInfo(ScimNewUser body) throws ApiException { - okhttp3.Call localVarCall = scimCreateUserValidateBeforeCall(body, null); - Type localVarReturnType = new TypeToken(){}.getType(); + public ApiResponse scimGetGroupWithHttpInfo(Long groupId) throws ApiException { + okhttp3.Call localVarCall = scimGetGroupValidateBeforeCall(groupId, null); + Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** - * Create SCIM user (asynchronously) - * Create a new Talon.One user using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. - * @param body body (required) + * Get SCIM group (asynchronously) + * 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. + * @param groupId The ID of the group. (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 -
200 Group details -
*/ - public okhttp3.Call scimCreateUserAsync(ScimNewUser body, final ApiCallback _callback) throws ApiException { + public okhttp3.Call scimGetGroupAsync(Long groupId, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = scimCreateUserValidateBeforeCall(body, _callback); - Type localVarReturnType = new TypeToken(){}.getType(); + okhttp3.Call localVarCall = scimGetGroupValidateBeforeCall(groupId, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } /** - * Build call for scimDeleteUser - * @param userId The ID of the user. (required) + * Build call for scimGetGroups * @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 No Content -
200 List of SCIM groups -
*/ - public okhttp3.Call scimDeleteUserCall(Long userId, final ApiCallback _callback) throws ApiException { + public okhttp3.Call scimGetGroupsCall(final ApiCallback _callback) throws ApiException { Object localVarPostBody = null; // create path and map variables - String localVarPath = "/v1/provisioning/scim/Users/{userId}" - .replaceAll("\\{" + "userId" + "\\}", localVarApiClient.escapeString(userId.toString())); + String localVarPath = "/v1/provisioning/scim/Groups"; List localVarQueryParams = new ArrayList(); List localVarCollectionQueryParams = new ArrayList(); @@ -19285,7 +20110,7 @@ public okhttp3.Call scimDeleteUserCall(Long userId, final ApiCallback _callback) Map localVarCookieParams = new HashMap(); Map localVarFormParams = new HashMap(); final String[] localVarAccepts = { - + "application/json" }; final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); if (localVarAccept != null) { @@ -19299,72 +20124,68 @@ public okhttp3.Call scimDeleteUserCall(Long userId, final ApiCallback _callback) 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); + return localVarApiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call scimDeleteUserValidateBeforeCall(Long userId, final ApiCallback _callback) throws ApiException { - - // verify the required parameter 'userId' is set - if (userId == null) { - throw new ApiException("Missing the required parameter 'userId' when calling scimDeleteUser(Async)"); - } + private okhttp3.Call scimGetGroupsValidateBeforeCall(final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = scimDeleteUserCall(userId, _callback); + okhttp3.Call localVarCall = scimGetGroupsCall(_callback); return localVarCall; } /** - * Delete SCIM user - * Delete a specific Talon.One user created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. - * @param userId The ID of the user. (required) + * List SCIM groups + * 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. + * @return ScimGroupsListResponse * @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 No Content -
200 List of SCIM groups -
*/ - public void scimDeleteUser(Long userId) throws ApiException { - scimDeleteUserWithHttpInfo(userId); + public ScimGroupsListResponse scimGetGroups() throws ApiException { + ApiResponse localVarResp = scimGetGroupsWithHttpInfo(); + return localVarResp.getData(); } /** - * Delete SCIM user - * Delete a specific Talon.One user created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. - * @param userId The ID of the user. (required) - * @return ApiResponse<Void> + * List SCIM groups + * 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. + * @return ApiResponse<ScimGroupsListResponse> * @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 No Content -
200 List of SCIM groups -
*/ - public ApiResponse scimDeleteUserWithHttpInfo(Long userId) throws ApiException { - okhttp3.Call localVarCall = scimDeleteUserValidateBeforeCall(userId, null); - return localVarApiClient.execute(localVarCall); + public ApiResponse scimGetGroupsWithHttpInfo() throws ApiException { + okhttp3.Call localVarCall = scimGetGroupsValidateBeforeCall(null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); } /** - * Delete SCIM user (asynchronously) - * Delete a specific Talon.One user created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. - * @param userId The ID of the user. (required) + * List SCIM groups (asynchronously) + * 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. * @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 No Content -
200 List of SCIM groups -
*/ - public okhttp3.Call scimDeleteUserAsync(Long userId, final ApiCallback _callback) throws ApiException { + public okhttp3.Call scimGetGroupsAsync(final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = scimDeleteUserValidateBeforeCall(userId, _callback); - localVarApiClient.executeAsync(localVarCall, _callback); + okhttp3.Call localVarCall = scimGetGroupsValidateBeforeCall(_callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } /** @@ -19762,41 +20583,145 @@ public ApiResponse scimGetUserWithHttpInfo(Long userId) throws ApiExce } /** - * Get SCIM user (asynchronously) - * Retrieve data for a specific Talon.One user created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. - * @param userId The ID of the user. (required) + * Get SCIM user (asynchronously) + * Retrieve data for a specific Talon.One user created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. + * @param userId The ID of the user. (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 User details -
+ */ + public okhttp3.Call scimGetUserAsync(Long userId, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = scimGetUserValidateBeforeCall(userId, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for scimGetUsers + * @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 List of SCIM users -
+ */ + public okhttp3.Call scimGetUsersCall(final ApiCallback _callback) throws ApiException { + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/provisioning/scim/Users"; + + 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 = { + + }; + 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 scimGetUsersValidateBeforeCall(final ApiCallback _callback) throws ApiException { + + + okhttp3.Call localVarCall = scimGetUsersCall(_callback); + return localVarCall; + + } + + /** + * List SCIM users + * Retrieve a paginated list of users that have been provisioned using the SCIM protocol with an identity provider, for example, Microsoft Entra ID. + * @return ScimUsersListResponse + * @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 List of SCIM users -
+ */ + public ScimUsersListResponse scimGetUsers() throws ApiException { + ApiResponse localVarResp = scimGetUsersWithHttpInfo(); + return localVarResp.getData(); + } + + /** + * List SCIM users + * Retrieve a paginated list of users that have been provisioned using the SCIM protocol with an identity provider, for example, Microsoft Entra ID. + * @return ApiResponse<ScimUsersListResponse> + * @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 List of SCIM users -
+ */ + public ApiResponse scimGetUsersWithHttpInfo() throws ApiException { + okhttp3.Call localVarCall = scimGetUsersValidateBeforeCall(null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List SCIM users (asynchronously) + * Retrieve a paginated list of users that have been provisioned using the SCIM protocol with an identity provider, for example, Microsoft Entra ID. * @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 User details -
200 List of SCIM users -
*/ - public okhttp3.Call scimGetUserAsync(Long userId, final ApiCallback _callback) throws ApiException { + public okhttp3.Call scimGetUsersAsync(final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = scimGetUserValidateBeforeCall(userId, _callback); - Type localVarReturnType = new TypeToken(){}.getType(); + okhttp3.Call localVarCall = scimGetUsersValidateBeforeCall(_callback); + Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } /** - * Build call for scimGetUsers + * Build call for scimPatchGroup + * @param groupId The ID of the group. (required) + * @param body body (required) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object * @http.response.details - +
Status Code Description Response Headers
200 List of SCIM users -
200 Group details -
*/ - public okhttp3.Call scimGetUsersCall(final ApiCallback _callback) throws ApiException { - Object localVarPostBody = null; + public okhttp3.Call scimPatchGroupCall(Long groupId, ScimPatchRequest body, final ApiCallback _callback) throws ApiException { + Object localVarPostBody = body; // create path and map variables - String localVarPath = "/v1/provisioning/scim/Users"; + String localVarPath = "/v1/provisioning/scim/Groups/{groupId}" + .replaceAll("\\{" + "groupId" + "\\}", localVarApiClient.escapeString(groupId.toString())); List localVarQueryParams = new ArrayList(); List localVarCollectionQueryParams = new ArrayList(); @@ -19812,73 +20737,89 @@ public okhttp3.Call scimGetUsersCall(final ApiCallback _callback) throws ApiExce } 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, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + return localVarApiClient.buildCall(localVarPath, "PATCH", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call scimGetUsersValidateBeforeCall(final ApiCallback _callback) throws ApiException { + private okhttp3.Call scimPatchGroupValidateBeforeCall(Long groupId, ScimPatchRequest body, final ApiCallback _callback) throws ApiException { + + // verify the required parameter 'groupId' is set + if (groupId == null) { + throw new ApiException("Missing the required parameter 'groupId' when calling scimPatchGroup(Async)"); + } + + // verify the required parameter 'body' is set + if (body == null) { + throw new ApiException("Missing the required parameter 'body' when calling scimPatchGroup(Async)"); + } - okhttp3.Call localVarCall = scimGetUsersCall(_callback); + okhttp3.Call localVarCall = scimPatchGroupCall(groupId, body, _callback); return localVarCall; } /** - * List SCIM users - * Retrieve a paginated list of users that have been provisioned using the SCIM protocol with an identity provider, for example, Microsoft Entra ID. - * @return ScimUsersListResponse + * 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. + * @param groupId The ID of the group. (required) + * @param body body (required) + * @return ScimGroup * @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 List of SCIM users -
200 Group details -
*/ - public ScimUsersListResponse scimGetUsers() throws ApiException { - ApiResponse localVarResp = scimGetUsersWithHttpInfo(); + public ScimGroup scimPatchGroup(Long groupId, ScimPatchRequest body) throws ApiException { + ApiResponse localVarResp = scimPatchGroupWithHttpInfo(groupId, body); return localVarResp.getData(); } /** - * List SCIM users - * Retrieve a paginated list of users that have been provisioned using the SCIM protocol with an identity provider, for example, Microsoft Entra ID. - * @return ApiResponse<ScimUsersListResponse> + * 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. + * @param groupId The ID of the group. (required) + * @param body body (required) + * @return ApiResponse<ScimGroup> * @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 List of SCIM users -
200 Group details -
*/ - public ApiResponse scimGetUsersWithHttpInfo() throws ApiException { - okhttp3.Call localVarCall = scimGetUsersValidateBeforeCall(null); - Type localVarReturnType = new TypeToken(){}.getType(); + public ApiResponse scimPatchGroupWithHttpInfo(Long groupId, ScimPatchRequest body) throws ApiException { + okhttp3.Call localVarCall = scimPatchGroupValidateBeforeCall(groupId, body, null); + Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** - * List SCIM users (asynchronously) - * Retrieve a paginated list of users that have been provisioned using the SCIM protocol with an identity provider, for example, Microsoft Entra ID. + * Update SCIM group attributes (asynchronously) + * 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. + * @param groupId The ID of the group. (required) + * @param body body (required) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object * @http.response.details - +
Status Code Description Response Headers
200 List of SCIM users -
200 Group details -
*/ - public okhttp3.Call scimGetUsersAsync(final ApiCallback _callback) throws ApiException { + public okhttp3.Call scimPatchGroupAsync(Long groupId, ScimPatchRequest body, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = scimGetUsersValidateBeforeCall(_callback); - Type localVarReturnType = new TypeToken(){}.getType(); + okhttp3.Call localVarCall = scimPatchGroupValidateBeforeCall(groupId, body, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } @@ -20002,6 +20943,126 @@ public okhttp3.Call scimPatchUserAsync(Long userId, ScimPatchRequest body, final localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } + /** + * Build call for scimReplaceGroupAttributes + * @param groupId The ID of the group. (required) + * @param body body (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + +
Status Code Description Response Headers
200 Group details -
+ */ + public okhttp3.Call scimReplaceGroupAttributesCall(Long groupId, ScimBaseGroup body, final ApiCallback _callback) throws ApiException { + Object localVarPostBody = body; + + // create path and map variables + String localVarPath = "/v1/provisioning/scim/Groups/{groupId}" + .replaceAll("\\{" + "groupId" + "\\}", localVarApiClient.escapeString(groupId.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, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call scimReplaceGroupAttributesValidateBeforeCall(Long groupId, ScimBaseGroup body, final ApiCallback _callback) throws ApiException { + + // verify the required parameter 'groupId' is set + if (groupId == null) { + throw new ApiException("Missing the required parameter 'groupId' when calling scimReplaceGroupAttributes(Async)"); + } + + // verify the required parameter 'body' is set + if (body == null) { + throw new ApiException("Missing the required parameter 'body' when calling scimReplaceGroupAttributes(Async)"); + } + + + okhttp3.Call localVarCall = scimReplaceGroupAttributesCall(groupId, body, _callback); + return localVarCall; + + } + + /** + * 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. + * @param groupId The ID of the group. (required) + * @param body body (required) + * @return ScimGroup + * @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 Group details -
+ */ + public ScimGroup scimReplaceGroupAttributes(Long groupId, ScimBaseGroup body) throws ApiException { + ApiResponse localVarResp = scimReplaceGroupAttributesWithHttpInfo(groupId, body); + return localVarResp.getData(); + } + + /** + * 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. + * @param groupId The ID of the group. (required) + * @param body body (required) + * @return ApiResponse<ScimGroup> + * @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 Group details -
+ */ + public ApiResponse scimReplaceGroupAttributesWithHttpInfo(Long groupId, ScimBaseGroup body) throws ApiException { + okhttp3.Call localVarCall = scimReplaceGroupAttributesValidateBeforeCall(groupId, body, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Update SCIM group (asynchronously) + * 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. + * @param groupId The ID of the group. (required) + * @param body body (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + +
Status Code Description Response Headers
200 Group details -
+ */ + public okhttp3.Call scimReplaceGroupAttributesAsync(Long groupId, ScimBaseGroup body, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = scimReplaceGroupAttributesValidateBeforeCall(groupId, body, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } /** * Build call for scimReplaceUserAttributes * @param userId The ID of the user. (required) @@ -20572,6 +21633,139 @@ public okhttp3.Call searchCouponsAdvancedWithoutTotalCountAsync(Long application localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } + /** + * Build call for summarizeCampaignStoreBudget + * @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 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 - Invalid API key -
404 Not found -
+ */ + public okhttp3.Call summarizeCampaignStoreBudgetCall(Long applicationId, Long campaignId, final ApiCallback _callback) throws ApiException { + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets/summary" + .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 = { + + }; + 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 summarizeCampaignStoreBudgetValidateBeforeCall(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 summarizeCampaignStoreBudget(Async)"); + } + + // verify the required parameter 'campaignId' is set + if (campaignId == null) { + throw new ApiException("Missing the required parameter 'campaignId' when calling summarizeCampaignStoreBudget(Async)"); + } + + + okhttp3.Call localVarCall = summarizeCampaignStoreBudgetCall(applicationId, campaignId, _callback); + return localVarCall; + + } + + /** + * Get summary of campaign store budgets + * Fetch a summary of all store budget information 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) + * @return InlineResponse20047 + * @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 InlineResponse20047 summarizeCampaignStoreBudget(Long applicationId, Long campaignId) throws ApiException { + ApiResponse localVarResp = summarizeCampaignStoreBudgetWithHttpInfo(applicationId, campaignId); + return localVarResp.getData(); + } + + /** + * Get summary of campaign store budgets + * Fetch a summary of all store budget information 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) + * @return ApiResponse<InlineResponse20047> + * @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 summarizeCampaignStoreBudgetWithHttpInfo(Long applicationId, Long campaignId) throws ApiException { + okhttp3.Call localVarCall = summarizeCampaignStoreBudgetValidateBeforeCall(applicationId, campaignId, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Get summary of campaign store budgets (asynchronously) + * Fetch a summary of all store budget information 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 _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 summarizeCampaignStoreBudgetAsync(Long applicationId, Long campaignId, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = summarizeCampaignStoreBudgetValidateBeforeCall(applicationId, campaignId, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } /** * Build call for transferLoyaltyCard * @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) diff --git a/src/main/java/one/talon/model/Account.java b/src/main/java/one/talon/model/Account.java index 338dc33d..064280ca 100644 --- a/src/main/java/one/talon/model/Account.java +++ b/src/main/java/one/talon/model/Account.java @@ -157,10 +157,10 @@ public Account id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/AccountAdditionalCost.java b/src/main/java/one/talon/model/AccountAdditionalCost.java index 8a28bcaa..3b165d52 100644 --- a/src/main/java/one/talon/model/AccountAdditionalCost.java +++ b/src/main/java/one/talon/model/AccountAdditionalCost.java @@ -121,10 +121,10 @@ public AccountAdditionalCost id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/AccountLimits.java b/src/main/java/one/talon/model/AccountLimits.java index d33ac94e..c26a39eb 100644 --- a/src/main/java/one/talon/model/AccountLimits.java +++ b/src/main/java/one/talon/model/AccountLimits.java @@ -79,6 +79,14 @@ public class AccountLimits { @SerializedName(SERIALIZED_NAME_PROMOTION_TYPES) private List promotionTypes = new ArrayList(); + public static final String SERIALIZED_NAME_SECONDARY_DEPLOYMENT_PRICE = "secondaryDeploymentPrice"; + @SerializedName(SERIALIZED_NAME_SECONDARY_DEPLOYMENT_PRICE) + private Long secondaryDeploymentPrice; + + public static final String SERIALIZED_NAME_CURRENCY_CODE = "currencyCode"; + @SerializedName(SERIALIZED_NAME_CURRENCY_CODE) + private String currencyCode; + public AccountLimits liveApplications(Long liveApplications) { @@ -349,6 +357,50 @@ public void setPromotionTypes(List promotionTypes) { } + public AccountLimits secondaryDeploymentPrice(Long secondaryDeploymentPrice) { + + this.secondaryDeploymentPrice = secondaryDeploymentPrice; + return this; + } + + /** + * The price for a secondary deployment according to contractual agreements. + * @return secondaryDeploymentPrice + **/ + @ApiModelProperty(required = true, value = "The price for a secondary deployment according to contractual agreements.") + + public Long getSecondaryDeploymentPrice() { + return secondaryDeploymentPrice; + } + + + public void setSecondaryDeploymentPrice(Long secondaryDeploymentPrice) { + this.secondaryDeploymentPrice = secondaryDeploymentPrice; + } + + + public AccountLimits currencyCode(String currencyCode) { + + this.currencyCode = currencyCode; + return this; + } + + /** + * The currency of the contract. + * @return currencyCode + **/ + @ApiModelProperty(required = true, value = "The currency of the contract.") + + public String getCurrencyCode() { + return currencyCode; + } + + + public void setCurrencyCode(String currencyCode) { + this.currencyCode = currencyCode; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -369,12 +421,14 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.webhooks, accountLimits.webhooks) && Objects.equals(this.users, accountLimits.users) && Objects.equals(this.apiVolume, accountLimits.apiVolume) && - Objects.equals(this.promotionTypes, accountLimits.promotionTypes); + Objects.equals(this.promotionTypes, accountLimits.promotionTypes) && + Objects.equals(this.secondaryDeploymentPrice, accountLimits.secondaryDeploymentPrice) && + Objects.equals(this.currencyCode, accountLimits.currencyCode); } @Override public int hashCode() { - return Objects.hash(liveApplications, sandboxApplications, activeCampaigns, coupons, referralCodes, activeRules, liveLoyaltyPrograms, sandboxLoyaltyPrograms, webhooks, users, apiVolume, promotionTypes); + return Objects.hash(liveApplications, sandboxApplications, activeCampaigns, coupons, referralCodes, activeRules, liveLoyaltyPrograms, sandboxLoyaltyPrograms, webhooks, users, apiVolume, promotionTypes, secondaryDeploymentPrice, currencyCode); } @@ -394,6 +448,8 @@ public String toString() { sb.append(" users: ").append(toIndentedString(users)).append("\n"); sb.append(" apiVolume: ").append(toIndentedString(apiVolume)).append("\n"); sb.append(" promotionTypes: ").append(toIndentedString(promotionTypes)).append("\n"); + sb.append(" secondaryDeploymentPrice: ").append(toIndentedString(secondaryDeploymentPrice)).append("\n"); + sb.append(" currencyCode: ").append(toIndentedString(currencyCode)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/one/talon/model/Achievement.java b/src/main/java/one/talon/model/Achievement.java index 3c153f85..1d540d1d 100644 --- a/src/main/java/one/talon/model/Achievement.java +++ b/src/main/java/one/talon/model/Achievement.java @@ -65,13 +65,15 @@ public class Achievement { private TimePoint periodEndOverride; /** - * 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. + * 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. */ @JsonAdapter(RecurrencePolicyEnum.Adapter.class) public enum RecurrencePolicyEnum { NO_RECURRENCE("no_recurrence"), - ON_EXPIRATION("on_expiration"); + ON_EXPIRATION("on_expiration"), + + ON_COMPLETION("on_completion"); private String value; @@ -253,10 +255,10 @@ public Achievement id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; @@ -431,11 +433,11 @@ public Achievement recurrencePolicy(RecurrencePolicyEnum recurrencePolicy) { } /** - * 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. + * 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. * @return recurrencePolicy **/ @javax.annotation.Nullable - @ApiModelProperty(example = "no_recurrence", value = "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. ") + @ApiModelProperty(example = "no_recurrence", value = "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. ") public RecurrencePolicyEnum getRecurrencePolicy() { return recurrencePolicy; diff --git a/src/main/java/one/talon/model/AchievementBase.java b/src/main/java/one/talon/model/AchievementBase.java index dcb4ee19..52d09c96 100644 --- a/src/main/java/one/talon/model/AchievementBase.java +++ b/src/main/java/one/talon/model/AchievementBase.java @@ -57,13 +57,15 @@ public class AchievementBase { private TimePoint periodEndOverride; /** - * 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. + * 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. */ @JsonAdapter(RecurrencePolicyEnum.Adapter.class) public enum RecurrencePolicyEnum { NO_RECURRENCE("no_recurrence"), - ON_EXPIRATION("on_expiration"); + ON_EXPIRATION("on_expiration"), + + ON_COMPLETION("on_completion"); private String value; @@ -312,11 +314,11 @@ public AchievementBase recurrencePolicy(RecurrencePolicyEnum recurrencePolicy) { } /** - * 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. + * 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. * @return recurrencePolicy **/ @javax.annotation.Nullable - @ApiModelProperty(example = "no_recurrence", value = "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. ") + @ApiModelProperty(example = "no_recurrence", value = "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. ") public RecurrencePolicyEnum getRecurrencePolicy() { return recurrencePolicy; diff --git a/src/main/java/one/talon/model/AchievementProgressWithDefinition.java b/src/main/java/one/talon/model/AchievementProgressWithDefinition.java index b3713098..fbf66ee9 100644 --- a/src/main/java/one/talon/model/AchievementProgressWithDefinition.java +++ b/src/main/java/one/talon/model/AchievementProgressWithDefinition.java @@ -128,13 +128,15 @@ public StatusEnum read(final JsonReader jsonReader) throws IOException { private BigDecimal target; /** - * 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. + * 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. */ @JsonAdapter(AchievementRecurrencePolicyEnum.Adapter.class) public enum AchievementRecurrencePolicyEnum { NO_RECURRENCE("no_recurrence"), - ON_EXPIRATION("on_expiration"); + ON_EXPIRATION("on_expiration"), + + ON_COMPLETION("on_completion"); private String value; @@ -491,10 +493,10 @@ public AchievementProgressWithDefinition achievementRecurrencePolicy(Achievement } /** - * 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. + * 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. * @return achievementRecurrencePolicy **/ - @ApiModelProperty(example = "no_recurrence", required = true, value = "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. ") + @ApiModelProperty(example = "no_recurrence", required = true, value = "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. ") public AchievementRecurrencePolicyEnum getAchievementRecurrencePolicy() { return achievementRecurrencePolicy; diff --git a/src/main/java/one/talon/model/AchievementStatusEntry.java b/src/main/java/one/talon/model/AchievementStatusEntry.java index 98b5f25d..973613d8 100644 --- a/src/main/java/one/talon/model/AchievementStatusEntry.java +++ b/src/main/java/one/talon/model/AchievementStatusEntry.java @@ -66,13 +66,15 @@ public class AchievementStatusEntry { private TimePoint periodEndOverride; /** - * 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. + * 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. */ @JsonAdapter(RecurrencePolicyEnum.Adapter.class) public enum RecurrencePolicyEnum { NO_RECURRENCE("no_recurrence"), - ON_EXPIRATION("on_expiration"); + ON_EXPIRATION("on_expiration"), + + ON_COMPLETION("on_completion"); private String value; @@ -242,10 +244,10 @@ public AchievementStatusEntry id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; @@ -420,11 +422,11 @@ public AchievementStatusEntry recurrencePolicy(RecurrencePolicyEnum recurrencePo } /** - * 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. + * 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. * @return recurrencePolicy **/ @javax.annotation.Nullable - @ApiModelProperty(example = "no_recurrence", value = "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. ") + @ApiModelProperty(example = "no_recurrence", value = "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. ") public RecurrencePolicyEnum getRecurrencePolicy() { return recurrencePolicy; diff --git a/src/main/java/one/talon/model/AddLoyaltyPoints.java b/src/main/java/one/talon/model/AddLoyaltyPoints.java index 0b414ce6..d01a41c4 100644 --- a/src/main/java/one/talon/model/AddLoyaltyPoints.java +++ b/src/main/java/one/talon/model/AddLoyaltyPoints.java @@ -73,7 +73,6 @@ public AddLoyaltyPoints points(BigDecimal points) { /** * Amount of loyalty points. - * minimum: 0 * maximum: 999999999999.99 * @return points **/ diff --git a/src/main/java/one/talon/model/AddPriceAdjustmentCatalogAction.java b/src/main/java/one/talon/model/AddPriceAdjustmentCatalogAction.java new file mode 100644 index 00000000..9d16b00a --- /dev/null +++ b/src/main/java/one/talon/model/AddPriceAdjustmentCatalogAction.java @@ -0,0 +1,135 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.NewPriceAdjustment; + +/** + * The specific properties of the \"ADD_PRICE_ADJUSTMENT\" catalog sync action. + */ +@ApiModel(description = "The specific properties of the \"ADD_PRICE_ADJUSTMENT\" catalog sync action. ") + +public class AddPriceAdjustmentCatalogAction { + public static final String SERIALIZED_NAME_SKU = "sku"; + @SerializedName(SERIALIZED_NAME_SKU) + private String sku; + + public static final String SERIALIZED_NAME_ADJUSTMENTS = "adjustments"; + @SerializedName(SERIALIZED_NAME_ADJUSTMENTS) + private List adjustments = new ArrayList(); + + + public AddPriceAdjustmentCatalogAction sku(String sku) { + + this.sku = sku; + return this; + } + + /** + * The SKU of the item for which the price is being adjusted. + * @return sku + **/ + @ApiModelProperty(example = "SKU1241028", required = true, value = "The SKU of the item for which the price is being adjusted.") + + public String getSku() { + return sku; + } + + + public void setSku(String sku) { + this.sku = sku; + } + + + public AddPriceAdjustmentCatalogAction adjustments(List adjustments) { + + this.adjustments = adjustments; + return this; + } + + public AddPriceAdjustmentCatalogAction addAdjustmentsItem(NewPriceAdjustment adjustmentsItem) { + this.adjustments.add(adjustmentsItem); + return this; + } + + /** + * A list of adjustments to apply to a given item. + * @return adjustments + **/ + @ApiModelProperty(required = true, value = "A list of adjustments to apply to a given item.") + + public List getAdjustments() { + return adjustments; + } + + + public void setAdjustments(List adjustments) { + this.adjustments = adjustments; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AddPriceAdjustmentCatalogAction addPriceAdjustmentCatalogAction = (AddPriceAdjustmentCatalogAction) o; + return Objects.equals(this.sku, addPriceAdjustmentCatalogAction.sku) && + Objects.equals(this.adjustments, addPriceAdjustmentCatalogAction.adjustments); + } + + @Override + public int hashCode() { + return Objects.hash(sku, adjustments); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AddPriceAdjustmentCatalogAction {\n"); + sb.append(" sku: ").append(toIndentedString(sku)).append("\n"); + sb.append(" adjustments: ").append(toIndentedString(adjustments)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/AddedDeductedPointsBalancesNotificationPolicy.java b/src/main/java/one/talon/model/AddedDeductedPointsBalancesNotificationPolicy.java new file mode 100644 index 00000000..828be718 --- /dev/null +++ b/src/main/java/one/talon/model/AddedDeductedPointsBalancesNotificationPolicy.java @@ -0,0 +1,184 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * AddedDeductedPointsBalancesNotificationPolicy + */ + +public class AddedDeductedPointsBalancesNotificationPolicy { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + /** + * Gets or Sets scopes + */ + @JsonAdapter(ScopesEnum.Adapter.class) + public enum ScopesEnum { + ALL("all"), + + CAMPAIGN_MANAGER("campaign_manager"), + + MANAGEMENT_API("management_api"), + + RULE_ENGINE("rule_engine"); + + private String value; + + ScopesEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ScopesEnum fromValue(String value) { + for (ScopesEnum b : ScopesEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ScopesEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ScopesEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ScopesEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_SCOPES = "scopes"; + @SerializedName(SERIALIZED_NAME_SCOPES) + private List scopes = new ArrayList(); + + + public AddedDeductedPointsBalancesNotificationPolicy name(String name) { + + this.name = name; + return this; + } + + /** + * Notification name. + * @return name + **/ + @ApiModelProperty(example = "Christmas Sale", required = true, value = "Notification name.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public AddedDeductedPointsBalancesNotificationPolicy scopes(List scopes) { + + this.scopes = scopes; + return this; + } + + public AddedDeductedPointsBalancesNotificationPolicy addScopesItem(ScopesEnum scopesItem) { + this.scopes.add(scopesItem); + return this; + } + + /** + * Get scopes + * @return scopes + **/ + @ApiModelProperty(required = true, value = "") + + public List getScopes() { + return scopes; + } + + + public void setScopes(List scopes) { + this.scopes = scopes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AddedDeductedPointsBalancesNotificationPolicy addedDeductedPointsBalancesNotificationPolicy = (AddedDeductedPointsBalancesNotificationPolicy) o; + return Objects.equals(this.name, addedDeductedPointsBalancesNotificationPolicy.name) && + Objects.equals(this.scopes, addedDeductedPointsBalancesNotificationPolicy.scopes); + } + + @Override + public int hashCode() { + return Objects.hash(name, scopes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AddedDeductedPointsBalancesNotificationPolicy {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" scopes: ").append(toIndentedString(scopes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/AddedDeductedPointsNotification.java b/src/main/java/one/talon/model/AddedDeductedPointsNotification.java new file mode 100644 index 00000000..477fbb8f --- /dev/null +++ b/src/main/java/one/talon/model/AddedDeductedPointsNotification.java @@ -0,0 +1,583 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import org.threeten.bp.OffsetDateTime; + +/** + * AddedDeductedPointsNotification + */ + +public class AddedDeductedPointsNotification { + public static final String SERIALIZED_NAME_PROFILE_INTEGRATION_I_D = "ProfileIntegrationID"; + @SerializedName(SERIALIZED_NAME_PROFILE_INTEGRATION_I_D) + private String profileIntegrationID; + + public static final String SERIALIZED_NAME_LOYALTY_PROGRAM_I_D = "LoyaltyProgramID"; + @SerializedName(SERIALIZED_NAME_LOYALTY_PROGRAM_I_D) + private Long loyaltyProgramID; + + public static final String SERIALIZED_NAME_SUBLEDGER_I_D = "SubledgerID"; + @SerializedName(SERIALIZED_NAME_SUBLEDGER_I_D) + private String subledgerID; + + public static final String SERIALIZED_NAME_AMOUNT = "Amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private BigDecimal amount; + + public static final String SERIALIZED_NAME_REASON = "Reason"; + @SerializedName(SERIALIZED_NAME_REASON) + private String reason; + + /** + * The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters) + */ + @JsonAdapter(TypeOfChangeEnum.Adapter.class) + public enum TypeOfChangeEnum { + CAMPAIGN_MANAGER("campaign_manager"), + + RULE_ENGINE("rule_engine"), + + MANAGEMENT_API("management_api"); + + private String value; + + TypeOfChangeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeOfChangeEnum fromValue(String value) { + for (TypeOfChangeEnum b : TypeOfChangeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeOfChangeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeOfChangeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeOfChangeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_TYPE_OF_CHANGE = "TypeOfChange"; + @SerializedName(SERIALIZED_NAME_TYPE_OF_CHANGE) + private TypeOfChangeEnum typeOfChange; + + public static final String SERIALIZED_NAME_EMPLOYEE_NAME = "EmployeeName"; + @SerializedName(SERIALIZED_NAME_EMPLOYEE_NAME) + private String employeeName; + + public static final String SERIALIZED_NAME_USER_I_D = "UserID"; + @SerializedName(SERIALIZED_NAME_USER_I_D) + private Long userID; + + /** + * The action (addition or deduction) made with loyalty points. + */ + @JsonAdapter(OperationEnum.Adapter.class) + public enum OperationEnum { + ADDITION("addition"), + + DEDUCTION("deduction"); + + private String value; + + OperationEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OperationEnum fromValue(String value) { + for (OperationEnum b : OperationEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final OperationEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OperationEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OperationEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_OPERATION = "Operation"; + @SerializedName(SERIALIZED_NAME_OPERATION) + private OperationEnum operation; + + public static final String SERIALIZED_NAME_START_DATE = "StartDate"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private OffsetDateTime startDate; + + public static final String SERIALIZED_NAME_EXPIRY_DATE = "ExpiryDate"; + @SerializedName(SERIALIZED_NAME_EXPIRY_DATE) + private OffsetDateTime expiryDate; + + public static final String SERIALIZED_NAME_SESSION_INTEGRATION_I_D = "SessionIntegrationID"; + @SerializedName(SERIALIZED_NAME_SESSION_INTEGRATION_I_D) + private String sessionIntegrationID; + + /** + * The type of notification. + */ + @JsonAdapter(NotificationTypeEnum.Adapter.class) + public enum NotificationTypeEnum { + LOYALTYPOINTSDEDUCTED("LoyaltyPointsDeducted"), + + LOYALTYPOINTSADDED("LoyaltyPointsAdded"); + + private String value; + + NotificationTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static NotificationTypeEnum fromValue(String value) { + for (NotificationTypeEnum b : NotificationTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final NotificationTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public NotificationTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return NotificationTypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_NOTIFICATION_TYPE = "NotificationType"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE) + private NotificationTypeEnum notificationType; + + + public AddedDeductedPointsNotification profileIntegrationID(String profileIntegrationID) { + + this.profileIntegrationID = profileIntegrationID; + return this; + } + + /** + * The integration ID of the customer profile to whom points were added or deducted. + * @return profileIntegrationID + **/ + @ApiModelProperty(example = "URNGV8294NV", required = true, value = "The integration ID of the customer profile to whom points were added or deducted.") + + public String getProfileIntegrationID() { + return profileIntegrationID; + } + + + public void setProfileIntegrationID(String profileIntegrationID) { + this.profileIntegrationID = profileIntegrationID; + } + + + public AddedDeductedPointsNotification loyaltyProgramID(Long loyaltyProgramID) { + + this.loyaltyProgramID = loyaltyProgramID; + return this; + } + + /** + * The ID of the loyalty program. + * minimum: 1 + * @return loyaltyProgramID + **/ + @ApiModelProperty(example = "5", required = true, value = "The ID of the loyalty program.") + + public Long getLoyaltyProgramID() { + return loyaltyProgramID; + } + + + public void setLoyaltyProgramID(Long loyaltyProgramID) { + this.loyaltyProgramID = loyaltyProgramID; + } + + + public AddedDeductedPointsNotification subledgerID(String subledgerID) { + + this.subledgerID = subledgerID; + return this; + } + + /** + * The ID of the subledger within the loyalty program where these points were added. + * @return subledgerID + **/ + @ApiModelProperty(example = "sub-123", required = true, value = "The ID of the subledger within the loyalty program where these points were added.") + + public String getSubledgerID() { + return subledgerID; + } + + + public void setSubledgerID(String subledgerID) { + this.subledgerID = subledgerID; + } + + + public AddedDeductedPointsNotification amount(BigDecimal amount) { + + this.amount = amount; + return this; + } + + /** + * The amount of added or deducted loyalty points. + * @return amount + **/ + @ApiModelProperty(example = "10.99", required = true, value = "The amount of added or deducted loyalty points.") + + public BigDecimal getAmount() { + return amount; + } + + + public void setAmount(BigDecimal amount) { + this.amount = amount; + } + + + public AddedDeductedPointsNotification reason(String reason) { + + this.reason = reason; + return this; + } + + /** + * The reason for the points addition or deduction. + * @return reason + **/ + @ApiModelProperty(example = "Compensation", required = true, value = "The reason for the points addition or deduction.") + + public String getReason() { + return reason; + } + + + public void setReason(String reason) { + this.reason = reason; + } + + + public AddedDeductedPointsNotification typeOfChange(TypeOfChangeEnum typeOfChange) { + + this.typeOfChange = typeOfChange; + return this; + } + + /** + * The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters) + * @return typeOfChange + **/ + @ApiModelProperty(required = true, value = "The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters) ") + + public TypeOfChangeEnum getTypeOfChange() { + return typeOfChange; + } + + + public void setTypeOfChange(TypeOfChangeEnum typeOfChange) { + this.typeOfChange = typeOfChange; + } + + + public AddedDeductedPointsNotification employeeName(String employeeName) { + + this.employeeName = employeeName; + return this; + } + + /** + * The name of the employee who added or deducted points. + * @return employeeName + **/ + @ApiModelProperty(example = "Franziska Schneider", required = true, value = "The name of the employee who added or deducted points.") + + public String getEmployeeName() { + return employeeName; + } + + + public void setEmployeeName(String employeeName) { + this.employeeName = employeeName; + } + + + public AddedDeductedPointsNotification userID(Long userID) { + + this.userID = userID; + return this; + } + + /** + * The ID of the employee who added or deducted points. + * minimum: 1 + * @return userID + **/ + @ApiModelProperty(example = "25", required = true, value = "The ID of the employee who added or deducted points.") + + public Long getUserID() { + return userID; + } + + + public void setUserID(Long userID) { + this.userID = userID; + } + + + public AddedDeductedPointsNotification operation(OperationEnum operation) { + + this.operation = operation; + return this; + } + + /** + * The action (addition or deduction) made with loyalty points. + * @return operation + **/ + @ApiModelProperty(required = true, value = "The action (addition or deduction) made with loyalty points.") + + public OperationEnum getOperation() { + return operation; + } + + + public void setOperation(OperationEnum operation) { + this.operation = operation; + } + + + public AddedDeductedPointsNotification startDate(OffsetDateTime startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The start date for loyalty points. + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2023-01-24T14:15:22Z", value = "The start date for loyalty points.") + + public OffsetDateTime getStartDate() { + return startDate; + } + + + public void setStartDate(OffsetDateTime startDate) { + this.startDate = startDate; + } + + + public AddedDeductedPointsNotification expiryDate(OffsetDateTime expiryDate) { + + this.expiryDate = expiryDate; + return this; + } + + /** + * The expiration date for loyalty points. + * @return expiryDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2024-01-24T14:15:22Z", value = "The expiration date for loyalty points.") + + public OffsetDateTime getExpiryDate() { + return expiryDate; + } + + + public void setExpiryDate(OffsetDateTime expiryDate) { + this.expiryDate = expiryDate; + } + + + public AddedDeductedPointsNotification sessionIntegrationID(String sessionIntegrationID) { + + this.sessionIntegrationID = sessionIntegrationID; + return this; + } + + /** + * The integration ID of the session through which the points were earned or lost. + * @return sessionIntegrationID + **/ + @ApiModelProperty(example = "cc53e4fa-547f-4f5e-8333-76e05c381f67", required = true, value = "The integration ID of the session through which the points were earned or lost.") + + public String getSessionIntegrationID() { + return sessionIntegrationID; + } + + + public void setSessionIntegrationID(String sessionIntegrationID) { + this.sessionIntegrationID = sessionIntegrationID; + } + + + public AddedDeductedPointsNotification notificationType(NotificationTypeEnum notificationType) { + + this.notificationType = notificationType; + return this; + } + + /** + * The type of notification. + * @return notificationType + **/ + @ApiModelProperty(required = true, value = "The type of notification.") + + public NotificationTypeEnum getNotificationType() { + return notificationType; + } + + + public void setNotificationType(NotificationTypeEnum notificationType) { + this.notificationType = notificationType; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AddedDeductedPointsNotification addedDeductedPointsNotification = (AddedDeductedPointsNotification) o; + return Objects.equals(this.profileIntegrationID, addedDeductedPointsNotification.profileIntegrationID) && + Objects.equals(this.loyaltyProgramID, addedDeductedPointsNotification.loyaltyProgramID) && + Objects.equals(this.subledgerID, addedDeductedPointsNotification.subledgerID) && + Objects.equals(this.amount, addedDeductedPointsNotification.amount) && + Objects.equals(this.reason, addedDeductedPointsNotification.reason) && + Objects.equals(this.typeOfChange, addedDeductedPointsNotification.typeOfChange) && + Objects.equals(this.employeeName, addedDeductedPointsNotification.employeeName) && + Objects.equals(this.userID, addedDeductedPointsNotification.userID) && + Objects.equals(this.operation, addedDeductedPointsNotification.operation) && + Objects.equals(this.startDate, addedDeductedPointsNotification.startDate) && + Objects.equals(this.expiryDate, addedDeductedPointsNotification.expiryDate) && + Objects.equals(this.sessionIntegrationID, addedDeductedPointsNotification.sessionIntegrationID) && + Objects.equals(this.notificationType, addedDeductedPointsNotification.notificationType); + } + + @Override + public int hashCode() { + return Objects.hash(profileIntegrationID, loyaltyProgramID, subledgerID, amount, reason, typeOfChange, employeeName, userID, operation, startDate, expiryDate, sessionIntegrationID, notificationType); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AddedDeductedPointsNotification {\n"); + sb.append(" profileIntegrationID: ").append(toIndentedString(profileIntegrationID)).append("\n"); + sb.append(" loyaltyProgramID: ").append(toIndentedString(loyaltyProgramID)).append("\n"); + sb.append(" subledgerID: ").append(toIndentedString(subledgerID)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" reason: ").append(toIndentedString(reason)).append("\n"); + sb.append(" typeOfChange: ").append(toIndentedString(typeOfChange)).append("\n"); + sb.append(" employeeName: ").append(toIndentedString(employeeName)).append("\n"); + sb.append(" userID: ").append(toIndentedString(userID)).append("\n"); + sb.append(" operation: ").append(toIndentedString(operation)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" expiryDate: ").append(toIndentedString(expiryDate)).append("\n"); + sb.append(" sessionIntegrationID: ").append(toIndentedString(sessionIntegrationID)).append("\n"); + sb.append(" notificationType: ").append(toIndentedString(notificationType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/Application.java b/src/main/java/one/talon/model/Application.java index e0d4c7dc..eb2866b7 100644 --- a/src/main/java/one/talon/model/Application.java +++ b/src/main/java/one/talon/model/Application.java @@ -278,10 +278,10 @@ public Application id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/ApplicationCIF.java b/src/main/java/one/talon/model/ApplicationCIF.java index e8569415..e087dc17 100644 --- a/src/main/java/one/talon/model/ApplicationCIF.java +++ b/src/main/java/one/talon/model/ApplicationCIF.java @@ -74,10 +74,10 @@ public ApplicationCIF id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/ApplicationCIFExpression.java b/src/main/java/one/talon/model/ApplicationCIFExpression.java index 3a0cfff1..c8b9455a 100644 --- a/src/main/java/one/talon/model/ApplicationCIFExpression.java +++ b/src/main/java/one/talon/model/ApplicationCIFExpression.java @@ -64,10 +64,10 @@ public ApplicationCIFExpression id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/ApplicationCustomer.java b/src/main/java/one/talon/model/ApplicationCustomer.java index 24404786..a8291cad 100644 --- a/src/main/java/one/talon/model/ApplicationCustomer.java +++ b/src/main/java/one/talon/model/ApplicationCustomer.java @@ -91,10 +91,10 @@ public ApplicationCustomer id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of the customer profile. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of the customer profile.") public Long getId() { return id; @@ -201,10 +201,10 @@ public ApplicationCustomer closedSessions(Long closedSessions) { } /** - * The total amount of closed sessions by a customer. A closed session is a successful purchase. + * 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). * @return closedSessions **/ - @ApiModelProperty(example = "3", required = true, value = "The total amount of closed sessions by a customer. A closed session is a successful purchase.") + @ApiModelProperty(example = "3", required = true, value = "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).") public Long getClosedSessions() { return closedSessions; diff --git a/src/main/java/one/talon/model/ApplicationEvent.java b/src/main/java/one/talon/model/ApplicationEvent.java index bb52d111..27d4d9d9 100644 --- a/src/main/java/one/talon/model/ApplicationEvent.java +++ b/src/main/java/one/talon/model/ApplicationEvent.java @@ -86,10 +86,10 @@ public ApplicationEvent id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/ApplicationSession.java b/src/main/java/one/talon/model/ApplicationSession.java index 85116a60..91ca60ef 100644 --- a/src/main/java/one/talon/model/ApplicationSession.java +++ b/src/main/java/one/talon/model/ApplicationSession.java @@ -155,10 +155,10 @@ public ApplicationSession id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/AsyncCouponsData.java b/src/main/java/one/talon/model/AsyncCouponsData.java new file mode 100644 index 00000000..5bdcff75 --- /dev/null +++ b/src/main/java/one/talon/model/AsyncCouponsData.java @@ -0,0 +1,182 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * AsyncCouponsData + */ + +public class AsyncCouponsData { + public static final String SERIALIZED_NAME_BATCH_I_D = "BatchID"; + @SerializedName(SERIALIZED_NAME_BATCH_I_D) + private String batchID; + + public static final String SERIALIZED_NAME_TYPE_OF_CHANGE = "TypeOfChange"; + @SerializedName(SERIALIZED_NAME_TYPE_OF_CHANGE) + private String typeOfChange; + + public static final String SERIALIZED_NAME_OPERATION = "Operation"; + @SerializedName(SERIALIZED_NAME_OPERATION) + private String operation; + + public static final String SERIALIZED_NAME_EMPLOYEE_NAME = "EmployeeName"; + @SerializedName(SERIALIZED_NAME_EMPLOYEE_NAME) + private String employeeName; + + + public AsyncCouponsData batchID(String batchID) { + + this.batchID = batchID; + return this; + } + + /** + * The ID of the batch to which the coupon belongs. **Note:** The Batch ID is generated when coupons are created. + * @return batchID + **/ + @ApiModelProperty(example = "haanlypn", required = true, value = "The ID of the batch to which the coupon belongs. **Note:** The Batch ID is generated when coupons are created. ") + + public String getBatchID() { + return batchID; + } + + + public void setBatchID(String batchID) { + this.batchID = batchID; + } + + + public AsyncCouponsData typeOfChange(String typeOfChange) { + + this.typeOfChange = typeOfChange; + return this; + } + + /** + * + * @return typeOfChange + **/ + @ApiModelProperty(example = "campaign_manager", required = true, value = "") + + public String getTypeOfChange() { + return typeOfChange; + } + + + public void setTypeOfChange(String typeOfChange) { + this.typeOfChange = typeOfChange; + } + + + public AsyncCouponsData operation(String operation) { + + this.operation = operation; + return this; + } + + /** + * + * @return operation + **/ + @ApiModelProperty(example = "AsyncCouponsCreated", required = true, value = "") + + public String getOperation() { + return operation; + } + + + public void setOperation(String operation) { + this.operation = operation; + } + + + public AsyncCouponsData employeeName(String employeeName) { + + this.employeeName = employeeName; + return this; + } + + /** + * + * @return employeeName + **/ + @ApiModelProperty(example = "Franziska Schneider", required = true, value = "") + + public String getEmployeeName() { + return employeeName; + } + + + public void setEmployeeName(String employeeName) { + this.employeeName = employeeName; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AsyncCouponsData asyncCouponsData = (AsyncCouponsData) o; + return Objects.equals(this.batchID, asyncCouponsData.batchID) && + Objects.equals(this.typeOfChange, asyncCouponsData.typeOfChange) && + Objects.equals(this.operation, asyncCouponsData.operation) && + Objects.equals(this.employeeName, asyncCouponsData.employeeName); + } + + @Override + public int hashCode() { + return Objects.hash(batchID, typeOfChange, operation, employeeName); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AsyncCouponsData {\n"); + sb.append(" batchID: ").append(toIndentedString(batchID)).append("\n"); + sb.append(" typeOfChange: ").append(toIndentedString(typeOfChange)).append("\n"); + sb.append(" operation: ").append(toIndentedString(operation)).append("\n"); + sb.append(" employeeName: ").append(toIndentedString(employeeName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/Attribute.java b/src/main/java/one/talon/model/Attribute.java index 01e71ef1..8a560885 100644 --- a/src/main/java/one/talon/model/Attribute.java +++ b/src/main/java/one/talon/model/Attribute.java @@ -279,10 +279,10 @@ public Attribute id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/Audience.java b/src/main/java/one/talon/model/Audience.java index 32214ce1..ff0e87f4 100644 --- a/src/main/java/one/talon/model/Audience.java +++ b/src/main/java/one/talon/model/Audience.java @@ -100,10 +100,10 @@ public Audience id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/AudienceCustomer.java b/src/main/java/one/talon/model/AudienceCustomer.java index faba8c5c..d6d3d966 100644 --- a/src/main/java/one/talon/model/AudienceCustomer.java +++ b/src/main/java/one/talon/model/AudienceCustomer.java @@ -95,10 +95,10 @@ public AudienceCustomer id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of the customer profile. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of the customer profile.") public Long getId() { return id; @@ -205,10 +205,10 @@ public AudienceCustomer closedSessions(Long closedSessions) { } /** - * The total amount of closed sessions by a customer. A closed session is a successful purchase. + * 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). * @return closedSessions **/ - @ApiModelProperty(example = "3", required = true, value = "The total amount of closed sessions by a customer. A closed session is a successful purchase.") + @ApiModelProperty(example = "3", required = true, value = "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).") public Long getClosedSessions() { return closedSessions; diff --git a/src/main/java/one/talon/model/BaseNotification.java b/src/main/java/one/talon/model/BaseNotification.java index 71776451..1069fd92 100644 --- a/src/main/java/one/talon/model/BaseNotification.java +++ b/src/main/java/one/talon/model/BaseNotification.java @@ -57,6 +57,10 @@ public enum TypeEnum { 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"), diff --git a/src/main/java/one/talon/model/BaseNotificationWebhook.java b/src/main/java/one/talon/model/BaseNotificationWebhook.java index 25ab6375..c6612546 100644 --- a/src/main/java/one/talon/model/BaseNotificationWebhook.java +++ b/src/main/java/one/talon/model/BaseNotificationWebhook.java @@ -64,10 +64,10 @@ public BaseNotificationWebhook id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/Binding.java b/src/main/java/one/talon/model/Binding.java index 2eeb39ba..26d2e52e 100644 --- a/src/main/java/one/talon/model/Binding.java +++ b/src/main/java/one/talon/model/Binding.java @@ -23,6 +23,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -47,6 +48,22 @@ public class Binding { @SerializedName(SERIALIZED_NAME_VALUE_TYPE) private String valueType; + public static final String SERIALIZED_NAME_MIN_VALUE = "minValue"; + @SerializedName(SERIALIZED_NAME_MIN_VALUE) + private BigDecimal minValue; + + public static final String SERIALIZED_NAME_MAX_VALUE = "maxValue"; + @SerializedName(SERIALIZED_NAME_MAX_VALUE) + private BigDecimal maxValue; + + public static final String SERIALIZED_NAME_ATTRIBUTE_ID = "attributeId"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTE_ID) + private Long attributeId; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + public Binding name(String name) { @@ -143,6 +160,98 @@ public void setValueType(String valueType) { } + public Binding minValue(BigDecimal minValue) { + + this.minValue = minValue; + return this; + } + + /** + * The minimum value allowed for this placeholder. + * @return minValue + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "0.0", value = "The minimum value allowed for this placeholder.") + + public BigDecimal getMinValue() { + return minValue; + } + + + public void setMinValue(BigDecimal minValue) { + this.minValue = minValue; + } + + + public Binding maxValue(BigDecimal maxValue) { + + this.maxValue = maxValue; + return this; + } + + /** + * The maximum value allowed for this placeholder. + * @return maxValue + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "19.9", value = "The maximum value allowed for this placeholder.") + + public BigDecimal getMaxValue() { + return maxValue; + } + + + public void setMaxValue(BigDecimal maxValue) { + this.maxValue = maxValue; + } + + + public Binding attributeId(Long attributeId) { + + this.attributeId = attributeId; + return this; + } + + /** + * Id of the attribute attached to the placeholder. + * @return attributeId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "100", value = "Id of the attribute attached to the placeholder.") + + public Long getAttributeId() { + return attributeId; + } + + + public void setAttributeId(Long attributeId) { + this.attributeId = attributeId; + } + + + public Binding description(String description) { + + this.description = description; + return this; + } + + /** + * Describes the placeholder field and value in the template. This description can be used when creating campaigns from this template. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "This is a template parameter of type `number`.", value = "Describes the placeholder field and value in the template. This description can be used when creating campaigns from this template.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -155,12 +264,16 @@ public boolean equals(java.lang.Object o) { return Objects.equals(this.name, binding.name) && Objects.equals(this.type, binding.type) && Objects.equals(this.expression, binding.expression) && - Objects.equals(this.valueType, binding.valueType); + Objects.equals(this.valueType, binding.valueType) && + Objects.equals(this.minValue, binding.minValue) && + Objects.equals(this.maxValue, binding.maxValue) && + Objects.equals(this.attributeId, binding.attributeId) && + Objects.equals(this.description, binding.description); } @Override public int hashCode() { - return Objects.hash(name, type, expression, valueType); + return Objects.hash(name, type, expression, valueType, minValue, maxValue, attributeId, description); } @@ -172,6 +285,10 @@ public String toString() { sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" expression: ").append(toIndentedString(expression)).append("\n"); sb.append(" valueType: ").append(toIndentedString(valueType)).append("\n"); + sb.append(" minValue: ").append(toIndentedString(minValue)).append("\n"); + sb.append(" maxValue: ").append(toIndentedString(maxValue)).append("\n"); + sb.append(" attributeId: ").append(toIndentedString(attributeId)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/one/talon/model/CampaignCollection.java b/src/main/java/one/talon/model/CampaignCollection.java index f06493ea..3dde7b1d 100644 --- a/src/main/java/one/talon/model/CampaignCollection.java +++ b/src/main/java/one/talon/model/CampaignCollection.java @@ -84,10 +84,10 @@ public CampaignCollection id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/CampaignCollectionWithoutPayload.java b/src/main/java/one/talon/model/CampaignCollectionWithoutPayload.java index c484a4a8..94ad8dad 100644 --- a/src/main/java/one/talon/model/CampaignCollectionWithoutPayload.java +++ b/src/main/java/one/talon/model/CampaignCollectionWithoutPayload.java @@ -78,10 +78,10 @@ public CampaignCollectionWithoutPayload id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/CampaignDeactivationRequest.java b/src/main/java/one/talon/model/CampaignDeactivationRequest.java new file mode 100644 index 00000000..df1ef190 --- /dev/null +++ b/src/main/java/one/talon/model/CampaignDeactivationRequest.java @@ -0,0 +1,105 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CampaignDeactivationRequest + */ + +public class CampaignDeactivationRequest { + public static final String SERIALIZED_NAME_USER_IDS = "userIds"; + @SerializedName(SERIALIZED_NAME_USER_IDS) + private List userIds = new ArrayList(); + + + public CampaignDeactivationRequest userIds(List userIds) { + + this.userIds = userIds; + return this; + } + + public CampaignDeactivationRequest addUserIdsItem(Long userIdsItem) { + this.userIds.add(userIdsItem); + return this; + } + + /** + * The list of IDs of the users receiving the deactivation request emails. + * @return userIds + **/ + @ApiModelProperty(example = "[1, 2, 3]", required = true, value = "The list of IDs of the users receiving the deactivation request emails.") + + public List getUserIds() { + return userIds; + } + + + public void setUserIds(List userIds) { + this.userIds = userIds; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CampaignDeactivationRequest campaignDeactivationRequest = (CampaignDeactivationRequest) o; + return Objects.equals(this.userIds, campaignDeactivationRequest.userIds); + } + + @Override + public int hashCode() { + return Objects.hash(userIds); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CampaignDeactivationRequest {\n"); + sb.append(" userIds: ").append(toIndentedString(userIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/CampaignEvaluationTreeChangedMessage.java b/src/main/java/one/talon/model/CampaignEvaluationTreeChangedMessage.java new file mode 100644 index 00000000..8d95e587 --- /dev/null +++ b/src/main/java/one/talon/model/CampaignEvaluationTreeChangedMessage.java @@ -0,0 +1,139 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.ApplicationNotification; + +/** + * CampaignEvaluationTreeChangedMessage + */ + +public class CampaignEvaluationTreeChangedMessage { + public static final String SERIALIZED_NAME_DATA = "Data"; + @SerializedName(SERIALIZED_NAME_DATA) + private List data = null; + + public static final String SERIALIZED_NAME_TOTAL_RESULT_SIZE = "TotalResultSize"; + @SerializedName(SERIALIZED_NAME_TOTAL_RESULT_SIZE) + private Long totalResultSize; + + + public CampaignEvaluationTreeChangedMessage data(List data) { + + this.data = data; + return this; + } + + public CampaignEvaluationTreeChangedMessage addDataItem(ApplicationNotification dataItem) { + if (this.data == null) { + this.data = new ArrayList(); + } + this.data.add(dataItem); + return this; + } + + /** + * The array of changes. + * @return data + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The array of changes.") + + public List getData() { + return data; + } + + + public void setData(List data) { + this.data = data; + } + + + public CampaignEvaluationTreeChangedMessage totalResultSize(Long totalResultSize) { + + this.totalResultSize = totalResultSize; + return this; + } + + /** + * Get totalResultSize + * @return totalResultSize + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", value = "") + + public Long getTotalResultSize() { + return totalResultSize; + } + + + public void setTotalResultSize(Long totalResultSize) { + this.totalResultSize = totalResultSize; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CampaignEvaluationTreeChangedMessage campaignEvaluationTreeChangedMessage = (CampaignEvaluationTreeChangedMessage) o; + return Objects.equals(this.data, campaignEvaluationTreeChangedMessage.data) && + Objects.equals(this.totalResultSize, campaignEvaluationTreeChangedMessage.totalResultSize); + } + + @Override + public int hashCode() { + return Objects.hash(data, totalResultSize); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CampaignEvaluationTreeChangedMessage {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" totalResultSize: ").append(toIndentedString(totalResultSize)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/CampaignGroup.java b/src/main/java/one/talon/model/CampaignGroup.java index 9ce165f9..3589244c 100644 --- a/src/main/java/one/talon/model/CampaignGroup.java +++ b/src/main/java/one/talon/model/CampaignGroup.java @@ -72,10 +72,10 @@ public CampaignGroup id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/CampaignNotificationData.java b/src/main/java/one/talon/model/CampaignNotificationData.java new file mode 100644 index 00000000..a5d18fb0 --- /dev/null +++ b/src/main/java/one/talon/model/CampaignNotificationData.java @@ -0,0 +1,155 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import one.talon.model.CampaignNotification; + +/** + * CampaignNotificationData + */ + +public class CampaignNotificationData { + public static final String SERIALIZED_NAME_NOTIFICATION = "Notification"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION) + private CampaignNotification notification; + + public static final String SERIALIZED_NAME_ACCOUNT_I_D = "AccountID"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_I_D) + private Long accountID; + + public static final String SERIALIZED_NAME_APPLICATION_I_D = "ApplicationID"; + @SerializedName(SERIALIZED_NAME_APPLICATION_I_D) + private Long applicationID; + + + public CampaignNotificationData notification(CampaignNotification notification) { + + this.notification = notification; + return this; + } + + /** + * Get notification + * @return notification + **/ + @ApiModelProperty(required = true, value = "") + + public CampaignNotification getNotification() { + return notification; + } + + + public void setNotification(CampaignNotification notification) { + this.notification = notification; + } + + + public CampaignNotificationData accountID(Long accountID) { + + this.accountID = accountID; + return this; + } + + /** + * Get accountID + * @return accountID + **/ + @ApiModelProperty(required = true, value = "") + + public Long getAccountID() { + return accountID; + } + + + public void setAccountID(Long accountID) { + this.accountID = accountID; + } + + + public CampaignNotificationData applicationID(Long applicationID) { + + this.applicationID = applicationID; + return this; + } + + /** + * Get applicationID + * @return applicationID + **/ + @ApiModelProperty(required = true, value = "") + + public Long getApplicationID() { + return applicationID; + } + + + public void setApplicationID(Long applicationID) { + this.applicationID = applicationID; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CampaignNotificationData campaignNotificationData = (CampaignNotificationData) o; + return Objects.equals(this.notification, campaignNotificationData.notification) && + Objects.equals(this.accountID, campaignNotificationData.accountID) && + Objects.equals(this.applicationID, campaignNotificationData.applicationID); + } + + @Override + public int hashCode() { + return Objects.hash(notification, accountID, applicationID); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CampaignNotificationData {\n"); + sb.append(" notification: ").append(toIndentedString(notification)).append("\n"); + sb.append(" accountID: ").append(toIndentedString(accountID)).append("\n"); + sb.append(" applicationID: ").append(toIndentedString(applicationID)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/CampaignNotificationMessage.java b/src/main/java/one/talon/model/CampaignNotificationMessage.java new file mode 100644 index 00000000..85a1f1cd --- /dev/null +++ b/src/main/java/one/talon/model/CampaignNotificationMessage.java @@ -0,0 +1,134 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.CampaignNotificationData; + +/** + * CampaignNotificationMessage + */ + +public class CampaignNotificationMessage { + public static final String SERIALIZED_NAME_TOTAL_RESULT_SIZE = "TotalResultSize"; + @SerializedName(SERIALIZED_NAME_TOTAL_RESULT_SIZE) + private Long totalResultSize; + + public static final String SERIALIZED_NAME_DATA = "Data"; + @SerializedName(SERIALIZED_NAME_DATA) + private List data = new ArrayList(); + + + public CampaignNotificationMessage totalResultSize(Long totalResultSize) { + + this.totalResultSize = totalResultSize; + return this; + } + + /** + * The total size of the result set. + * @return totalResultSize + **/ + @ApiModelProperty(required = true, value = "The total size of the result set.") + + public Long getTotalResultSize() { + return totalResultSize; + } + + + public void setTotalResultSize(Long totalResultSize) { + this.totalResultSize = totalResultSize; + } + + + public CampaignNotificationMessage data(List data) { + + this.data = data; + return this; + } + + public CampaignNotificationMessage addDataItem(CampaignNotificationData dataItem) { + this.data.add(dataItem); + return this; + } + + /** + * A list of campaign notification data. + * @return data + **/ + @ApiModelProperty(required = true, value = "A list of campaign notification data.") + + public List getData() { + return data; + } + + + public void setData(List data) { + this.data = data; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CampaignNotificationMessage campaignNotificationMessage = (CampaignNotificationMessage) o; + return Objects.equals(this.totalResultSize, campaignNotificationMessage.totalResultSize) && + Objects.equals(this.data, campaignNotificationMessage.data); + } + + @Override + public int hashCode() { + return Objects.hash(totalResultSize, data); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CampaignNotificationMessage {\n"); + sb.append(" totalResultSize: ").append(toIndentedString(totalResultSize)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/CampaignSet.java b/src/main/java/one/talon/model/CampaignSet.java index 99d60d5c..408998c5 100644 --- a/src/main/java/one/talon/model/CampaignSet.java +++ b/src/main/java/one/talon/model/CampaignSet.java @@ -80,10 +80,10 @@ public CampaignSet id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/CampaignStoreBudget.java b/src/main/java/one/talon/model/CampaignStoreBudget.java index 665c3165..cc88d477 100644 --- a/src/main/java/one/talon/model/CampaignStoreBudget.java +++ b/src/main/java/one/talon/model/CampaignStoreBudget.java @@ -61,10 +61,10 @@ public CampaignStoreBudget id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/CampaignTemplate.java b/src/main/java/one/talon/model/CampaignTemplate.java index 93459473..63b296ba 100644 --- a/src/main/java/one/talon/model/CampaignTemplate.java +++ b/src/main/java/one/talon/model/CampaignTemplate.java @@ -300,10 +300,10 @@ public CampaignTemplate id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/CardAddedDeductedPointsBalancesNotificationPolicy.java b/src/main/java/one/talon/model/CardAddedDeductedPointsBalancesNotificationPolicy.java new file mode 100644 index 00000000..8035cecd --- /dev/null +++ b/src/main/java/one/talon/model/CardAddedDeductedPointsBalancesNotificationPolicy.java @@ -0,0 +1,184 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CardAddedDeductedPointsBalancesNotificationPolicy + */ + +public class CardAddedDeductedPointsBalancesNotificationPolicy { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + /** + * Gets or Sets scopes + */ + @JsonAdapter(ScopesEnum.Adapter.class) + public enum ScopesEnum { + ALL("all"), + + CAMPAIGN_MANAGER("campaign_manager"), + + MANAGEMENT_API("management_api"), + + RULE_ENGINE("rule_engine"); + + private String value; + + ScopesEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ScopesEnum fromValue(String value) { + for (ScopesEnum b : ScopesEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ScopesEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ScopesEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ScopesEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_SCOPES = "scopes"; + @SerializedName(SERIALIZED_NAME_SCOPES) + private List scopes = new ArrayList(); + + + public CardAddedDeductedPointsBalancesNotificationPolicy name(String name) { + + this.name = name; + return this; + } + + /** + * Notification name. + * @return name + **/ + @ApiModelProperty(example = "Christmas Sale", required = true, value = "Notification name.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public CardAddedDeductedPointsBalancesNotificationPolicy scopes(List scopes) { + + this.scopes = scopes; + return this; + } + + public CardAddedDeductedPointsBalancesNotificationPolicy addScopesItem(ScopesEnum scopesItem) { + this.scopes.add(scopesItem); + return this; + } + + /** + * Get scopes + * @return scopes + **/ + @ApiModelProperty(required = true, value = "") + + public List getScopes() { + return scopes; + } + + + public void setScopes(List scopes) { + this.scopes = scopes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CardAddedDeductedPointsBalancesNotificationPolicy cardAddedDeductedPointsBalancesNotificationPolicy = (CardAddedDeductedPointsBalancesNotificationPolicy) o; + return Objects.equals(this.name, cardAddedDeductedPointsBalancesNotificationPolicy.name) && + Objects.equals(this.scopes, cardAddedDeductedPointsBalancesNotificationPolicy.scopes); + } + + @Override + public int hashCode() { + return Objects.hash(name, scopes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CardAddedDeductedPointsBalancesNotificationPolicy {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" scopes: ").append(toIndentedString(scopes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/CardAddedDeductedPointsNotification.java b/src/main/java/one/talon/model/CardAddedDeductedPointsNotification.java new file mode 100644 index 00000000..d02968d2 --- /dev/null +++ b/src/main/java/one/talon/model/CardAddedDeductedPointsNotification.java @@ -0,0 +1,646 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; +import org.threeten.bp.OffsetDateTime; + +/** + * CardAddedDeductedPointsNotification + */ + +public class CardAddedDeductedPointsNotification { + public static final String SERIALIZED_NAME_PROFILE_INTEGRATION_I_DS = "ProfileIntegrationIDs"; + @SerializedName(SERIALIZED_NAME_PROFILE_INTEGRATION_I_DS) + private List profileIntegrationIDs = new ArrayList(); + + public static final String SERIALIZED_NAME_LOYALTY_PROGRAM_I_D = "LoyaltyProgramID"; + @SerializedName(SERIALIZED_NAME_LOYALTY_PROGRAM_I_D) + private Long loyaltyProgramID; + + public static final String SERIALIZED_NAME_SUBLEDGER_I_D = "SubledgerID"; + @SerializedName(SERIALIZED_NAME_SUBLEDGER_I_D) + private String subledgerID; + + public static final String SERIALIZED_NAME_AMOUNT = "Amount"; + @SerializedName(SERIALIZED_NAME_AMOUNT) + private BigDecimal amount; + + public static final String SERIALIZED_NAME_REASON = "Reason"; + @SerializedName(SERIALIZED_NAME_REASON) + private String reason; + + /** + * The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters) + */ + @JsonAdapter(TypeOfChangeEnum.Adapter.class) + public enum TypeOfChangeEnum { + CAMPAIGN_MANAGER("campaign_manager"), + + RULE_ENGINE("rule_engine"), + + MANAGEMENT_API("management_api"); + + private String value; + + TypeOfChangeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeOfChangeEnum fromValue(String value) { + for (TypeOfChangeEnum b : TypeOfChangeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeOfChangeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeOfChangeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeOfChangeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_TYPE_OF_CHANGE = "TypeOfChange"; + @SerializedName(SERIALIZED_NAME_TYPE_OF_CHANGE) + private TypeOfChangeEnum typeOfChange; + + public static final String SERIALIZED_NAME_EMPLOYEE_NAME = "EmployeeName"; + @SerializedName(SERIALIZED_NAME_EMPLOYEE_NAME) + private String employeeName; + + public static final String SERIALIZED_NAME_USER_I_D = "UserID"; + @SerializedName(SERIALIZED_NAME_USER_I_D) + private Long userID; + + /** + * The action (addition or deduction) made with loyalty points. + */ + @JsonAdapter(OperationEnum.Adapter.class) + public enum OperationEnum { + ADDITION("addition"), + + DEDUCTION("deduction"); + + private String value; + + OperationEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OperationEnum fromValue(String value) { + for (OperationEnum b : OperationEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final OperationEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OperationEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OperationEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_OPERATION = "Operation"; + @SerializedName(SERIALIZED_NAME_OPERATION) + private OperationEnum operation; + + public static final String SERIALIZED_NAME_START_DATE = "StartDate"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private OffsetDateTime startDate; + + public static final String SERIALIZED_NAME_EXPIRY_DATE = "ExpiryDate"; + @SerializedName(SERIALIZED_NAME_EXPIRY_DATE) + private OffsetDateTime expiryDate; + + public static final String SERIALIZED_NAME_SESSION_INTEGRATION_I_D = "SessionIntegrationID"; + @SerializedName(SERIALIZED_NAME_SESSION_INTEGRATION_I_D) + private String sessionIntegrationID; + + /** + * The type of notification. + */ + @JsonAdapter(NotificationTypeEnum.Adapter.class) + public enum NotificationTypeEnum { + LOYALTYCARDPOINTSDEDUCTED("LoyaltyCardPointsDeducted"), + + LOYALTYCARDPOINTSADDED("LoyaltyCardPointsAdded"); + + private String value; + + NotificationTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static NotificationTypeEnum fromValue(String value) { + for (NotificationTypeEnum b : NotificationTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final NotificationTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public NotificationTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return NotificationTypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_NOTIFICATION_TYPE = "NotificationType"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE) + private NotificationTypeEnum notificationType; + + public static final String SERIALIZED_NAME_CARD_IDENTIFIER = "CardIdentifier"; + @SerializedName(SERIALIZED_NAME_CARD_IDENTIFIER) + private String cardIdentifier; + + public static final String SERIALIZED_NAME_USERS_PER_CARD_LIMIT = "UsersPerCardLimit"; + @SerializedName(SERIALIZED_NAME_USERS_PER_CARD_LIMIT) + private Long usersPerCardLimit; + + + public CardAddedDeductedPointsNotification profileIntegrationIDs(List profileIntegrationIDs) { + + this.profileIntegrationIDs = profileIntegrationIDs; + return this; + } + + public CardAddedDeductedPointsNotification addProfileIntegrationIDsItem(String profileIntegrationIDsItem) { + this.profileIntegrationIDs.add(profileIntegrationIDsItem); + return this; + } + + /** + * The integration ID of the customer profile to whom points were added or deducted. + * @return profileIntegrationIDs + **/ + @ApiModelProperty(example = "[yJSObdNNtOetCHWHPFuz, test-user-4zoj1c]", required = true, value = "The integration ID of the customer profile to whom points were added or deducted.") + + public List getProfileIntegrationIDs() { + return profileIntegrationIDs; + } + + + public void setProfileIntegrationIDs(List profileIntegrationIDs) { + this.profileIntegrationIDs = profileIntegrationIDs; + } + + + public CardAddedDeductedPointsNotification loyaltyProgramID(Long loyaltyProgramID) { + + this.loyaltyProgramID = loyaltyProgramID; + return this; + } + + /** + * The ID of the loyalty program. + * minimum: 1 + * @return loyaltyProgramID + **/ + @ApiModelProperty(example = "5", required = true, value = "The ID of the loyalty program.") + + public Long getLoyaltyProgramID() { + return loyaltyProgramID; + } + + + public void setLoyaltyProgramID(Long loyaltyProgramID) { + this.loyaltyProgramID = loyaltyProgramID; + } + + + public CardAddedDeductedPointsNotification subledgerID(String subledgerID) { + + this.subledgerID = subledgerID; + return this; + } + + /** + * The ID of the subledger within the loyalty program where these points were added or deducted. + * @return subledgerID + **/ + @ApiModelProperty(example = "sub-123", required = true, value = "The ID of the subledger within the loyalty program where these points were added or deducted.") + + public String getSubledgerID() { + return subledgerID; + } + + + public void setSubledgerID(String subledgerID) { + this.subledgerID = subledgerID; + } + + + public CardAddedDeductedPointsNotification amount(BigDecimal amount) { + + this.amount = amount; + return this; + } + + /** + * The amount of added or deducted loyalty points. + * @return amount + **/ + @ApiModelProperty(example = "10.99", required = true, value = "The amount of added or deducted loyalty points.") + + public BigDecimal getAmount() { + return amount; + } + + + public void setAmount(BigDecimal amount) { + this.amount = amount; + } + + + public CardAddedDeductedPointsNotification reason(String reason) { + + this.reason = reason; + return this; + } + + /** + * The reason for the points addition or deduction. + * @return reason + **/ + @ApiModelProperty(example = "Compensation", required = true, value = "The reason for the points addition or deduction.") + + public String getReason() { + return reason; + } + + + public void setReason(String reason) { + this.reason = reason; + } + + + public CardAddedDeductedPointsNotification typeOfChange(TypeOfChangeEnum typeOfChange) { + + this.typeOfChange = typeOfChange; + return this; + } + + /** + * The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters) + * @return typeOfChange + **/ + @ApiModelProperty(required = true, value = "The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters) ") + + public TypeOfChangeEnum getTypeOfChange() { + return typeOfChange; + } + + + public void setTypeOfChange(TypeOfChangeEnum typeOfChange) { + this.typeOfChange = typeOfChange; + } + + + public CardAddedDeductedPointsNotification employeeName(String employeeName) { + + this.employeeName = employeeName; + return this; + } + + /** + * The name of the employee who added or deducted points. + * @return employeeName + **/ + @ApiModelProperty(example = "Franziska Schneider", required = true, value = "The name of the employee who added or deducted points.") + + public String getEmployeeName() { + return employeeName; + } + + + public void setEmployeeName(String employeeName) { + this.employeeName = employeeName; + } + + + public CardAddedDeductedPointsNotification userID(Long userID) { + + this.userID = userID; + return this; + } + + /** + * The ID of the employee who added or deducted points. + * minimum: 1 + * @return userID + **/ + @ApiModelProperty(example = "25", required = true, value = "The ID of the employee who added or deducted points.") + + public Long getUserID() { + return userID; + } + + + public void setUserID(Long userID) { + this.userID = userID; + } + + + public CardAddedDeductedPointsNotification operation(OperationEnum operation) { + + this.operation = operation; + return this; + } + + /** + * The action (addition or deduction) made with loyalty points. + * @return operation + **/ + @ApiModelProperty(required = true, value = "The action (addition or deduction) made with loyalty points.") + + public OperationEnum getOperation() { + return operation; + } + + + public void setOperation(OperationEnum operation) { + this.operation = operation; + } + + + public CardAddedDeductedPointsNotification startDate(OffsetDateTime startDate) { + + this.startDate = startDate; + return this; + } + + /** + * The start date for loyalty points. + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2023-01-24T14:15:22Z", value = "The start date for loyalty points.") + + public OffsetDateTime getStartDate() { + return startDate; + } + + + public void setStartDate(OffsetDateTime startDate) { + this.startDate = startDate; + } + + + public CardAddedDeductedPointsNotification expiryDate(OffsetDateTime expiryDate) { + + this.expiryDate = expiryDate; + return this; + } + + /** + * The expiration date for loyalty points. + * @return expiryDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2024-01-24T14:15:22Z", value = "The expiration date for loyalty points.") + + public OffsetDateTime getExpiryDate() { + return expiryDate; + } + + + public void setExpiryDate(OffsetDateTime expiryDate) { + this.expiryDate = expiryDate; + } + + + public CardAddedDeductedPointsNotification sessionIntegrationID(String sessionIntegrationID) { + + this.sessionIntegrationID = sessionIntegrationID; + return this; + } + + /** + * The integration ID of the session through which the points were earned or lost. + * @return sessionIntegrationID + **/ + @ApiModelProperty(example = "cc53e4fa-547f-4f5e-8333-76e05c381f67", required = true, value = "The integration ID of the session through which the points were earned or lost.") + + public String getSessionIntegrationID() { + return sessionIntegrationID; + } + + + public void setSessionIntegrationID(String sessionIntegrationID) { + this.sessionIntegrationID = sessionIntegrationID; + } + + + public CardAddedDeductedPointsNotification notificationType(NotificationTypeEnum notificationType) { + + this.notificationType = notificationType; + return this; + } + + /** + * The type of notification. + * @return notificationType + **/ + @ApiModelProperty(required = true, value = "The type of notification.") + + public NotificationTypeEnum getNotificationType() { + return notificationType; + } + + + public void setNotificationType(NotificationTypeEnum notificationType) { + this.notificationType = notificationType; + } + + + public CardAddedDeductedPointsNotification cardIdentifier(String cardIdentifier) { + + this.cardIdentifier = cardIdentifier; + return this; + } + + /** + * Loyalty card identification number. + * @return cardIdentifier + **/ + @ApiModelProperty(example = "123-456-789ATBC", required = true, value = "Loyalty card identification number.") + + public String getCardIdentifier() { + return cardIdentifier; + } + + + public void setCardIdentifier(String cardIdentifier) { + this.cardIdentifier = cardIdentifier; + } + + + public CardAddedDeductedPointsNotification usersPerCardLimit(Long usersPerCardLimit) { + + this.usersPerCardLimit = usersPerCardLimit; + return this; + } + + /** + * The max amount of user profiles with whom a card can be shared. This can be set to `0` for no limit. + * @return usersPerCardLimit + **/ + @ApiModelProperty(example = "10", required = true, value = "The max amount of user profiles with whom a card can be shared. This can be set to `0` for no limit.") + + public Long getUsersPerCardLimit() { + return usersPerCardLimit; + } + + + public void setUsersPerCardLimit(Long usersPerCardLimit) { + this.usersPerCardLimit = usersPerCardLimit; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CardAddedDeductedPointsNotification cardAddedDeductedPointsNotification = (CardAddedDeductedPointsNotification) o; + return Objects.equals(this.profileIntegrationIDs, cardAddedDeductedPointsNotification.profileIntegrationIDs) && + Objects.equals(this.loyaltyProgramID, cardAddedDeductedPointsNotification.loyaltyProgramID) && + Objects.equals(this.subledgerID, cardAddedDeductedPointsNotification.subledgerID) && + Objects.equals(this.amount, cardAddedDeductedPointsNotification.amount) && + Objects.equals(this.reason, cardAddedDeductedPointsNotification.reason) && + Objects.equals(this.typeOfChange, cardAddedDeductedPointsNotification.typeOfChange) && + Objects.equals(this.employeeName, cardAddedDeductedPointsNotification.employeeName) && + Objects.equals(this.userID, cardAddedDeductedPointsNotification.userID) && + Objects.equals(this.operation, cardAddedDeductedPointsNotification.operation) && + Objects.equals(this.startDate, cardAddedDeductedPointsNotification.startDate) && + Objects.equals(this.expiryDate, cardAddedDeductedPointsNotification.expiryDate) && + Objects.equals(this.sessionIntegrationID, cardAddedDeductedPointsNotification.sessionIntegrationID) && + Objects.equals(this.notificationType, cardAddedDeductedPointsNotification.notificationType) && + Objects.equals(this.cardIdentifier, cardAddedDeductedPointsNotification.cardIdentifier) && + Objects.equals(this.usersPerCardLimit, cardAddedDeductedPointsNotification.usersPerCardLimit); + } + + @Override + public int hashCode() { + return Objects.hash(profileIntegrationIDs, loyaltyProgramID, subledgerID, amount, reason, typeOfChange, employeeName, userID, operation, startDate, expiryDate, sessionIntegrationID, notificationType, cardIdentifier, usersPerCardLimit); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CardAddedDeductedPointsNotification {\n"); + sb.append(" profileIntegrationIDs: ").append(toIndentedString(profileIntegrationIDs)).append("\n"); + sb.append(" loyaltyProgramID: ").append(toIndentedString(loyaltyProgramID)).append("\n"); + sb.append(" subledgerID: ").append(toIndentedString(subledgerID)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" reason: ").append(toIndentedString(reason)).append("\n"); + sb.append(" typeOfChange: ").append(toIndentedString(typeOfChange)).append("\n"); + sb.append(" employeeName: ").append(toIndentedString(employeeName)).append("\n"); + sb.append(" userID: ").append(toIndentedString(userID)).append("\n"); + sb.append(" operation: ").append(toIndentedString(operation)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" expiryDate: ").append(toIndentedString(expiryDate)).append("\n"); + sb.append(" sessionIntegrationID: ").append(toIndentedString(sessionIntegrationID)).append("\n"); + sb.append(" notificationType: ").append(toIndentedString(notificationType)).append("\n"); + sb.append(" cardIdentifier: ").append(toIndentedString(cardIdentifier)).append("\n"); + sb.append(" usersPerCardLimit: ").append(toIndentedString(usersPerCardLimit)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/Catalog.java b/src/main/java/one/talon/model/Catalog.java index 5dcc539e..d1b159cb 100644 --- a/src/main/java/one/talon/model/Catalog.java +++ b/src/main/java/one/talon/model/Catalog.java @@ -76,10 +76,10 @@ public Catalog id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/CatalogAction.java b/src/main/java/one/talon/model/CatalogAction.java index aef375ac..50c66a73 100644 --- a/src/main/java/one/talon/model/CatalogAction.java +++ b/src/main/java/one/talon/model/CatalogAction.java @@ -43,7 +43,9 @@ public enum TypeEnum { REMOVE("REMOVE"), - REMOVE_MANY("REMOVE_MANY"); + REMOVE_MANY("REMOVE_MANY"), + + ADD_PRICE_ADJUSTMENT("ADD_PRICE_ADJUSTMENT"); private String value; diff --git a/src/main/java/one/talon/model/CatalogItem.java b/src/main/java/one/talon/model/CatalogItem.java index c9485f5b..d41461ad 100644 --- a/src/main/java/one/talon/model/CatalogItem.java +++ b/src/main/java/one/talon/model/CatalogItem.java @@ -75,10 +75,10 @@ public CatalogItem id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/Change.java b/src/main/java/one/talon/model/Change.java index cf4cf2fb..91a18e66 100644 --- a/src/main/java/one/talon/model/Change.java +++ b/src/main/java/one/talon/model/Change.java @@ -70,10 +70,10 @@ public Change id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/Collection.java b/src/main/java/one/talon/model/Collection.java index 577c6c33..16563e68 100644 --- a/src/main/java/one/talon/model/Collection.java +++ b/src/main/java/one/talon/model/Collection.java @@ -88,10 +88,10 @@ public Collection id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/CollectionWithoutPayload.java b/src/main/java/one/talon/model/CollectionWithoutPayload.java index 1c6bb135..fee84be7 100644 --- a/src/main/java/one/talon/model/CollectionWithoutPayload.java +++ b/src/main/java/one/talon/model/CollectionWithoutPayload.java @@ -84,10 +84,10 @@ public CollectionWithoutPayload id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/Coupon.java b/src/main/java/one/talon/model/Coupon.java index 2e2cad82..eb001e5c 100644 --- a/src/main/java/one/talon/model/Coupon.java +++ b/src/main/java/one/talon/model/Coupon.java @@ -130,10 +130,10 @@ public Coupon id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of the coupon. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of the coupon.") public Long getId() { return id; @@ -152,10 +152,10 @@ public Coupon created(OffsetDateTime created) { } /** - * The time this entity was created. + * The time the coupon was created. * @return created **/ - @ApiModelProperty(example = "2020-06-10T09:05:27.993483Z", required = true, value = "The time this entity was created.") + @ApiModelProperty(example = "2020-06-10T09:05:27.993483Z", required = true, value = "The time the coupon was created.") public OffsetDateTime getCreated() { return created; @@ -244,7 +244,7 @@ public Coupon discountLimit(BigDecimal discountLimit) { /** * The total discount value that the code can give. Typically used to represent a gift card value. * minimum: 0 - * maximum: 999999 + * maximum: 1E+15 * @return discountLimit **/ @javax.annotation.Nullable diff --git a/src/main/java/one/talon/model/CouponConstraints.java b/src/main/java/one/talon/model/CouponConstraints.java index bfb9425b..79e3a854 100644 --- a/src/main/java/one/talon/model/CouponConstraints.java +++ b/src/main/java/one/talon/model/CouponConstraints.java @@ -86,7 +86,7 @@ public CouponConstraints discountLimit(BigDecimal discountLimit) { /** * The total discount value that the code can give. Typically used to represent a gift card value. * minimum: 0 - * maximum: 999999 + * maximum: 1E+15 * @return discountLimit **/ @javax.annotation.Nullable diff --git a/src/main/java/one/talon/model/CouponCreationJob.java b/src/main/java/one/talon/model/CouponCreationJob.java index c4c069b7..c0f95b8b 100644 --- a/src/main/java/one/talon/model/CouponCreationJob.java +++ b/src/main/java/one/talon/model/CouponCreationJob.java @@ -130,10 +130,10 @@ public CouponCreationJob id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; @@ -266,7 +266,7 @@ public CouponCreationJob discountLimit(BigDecimal discountLimit) { /** * The total discount value that the code can give. Typically used to represent a gift card value. * minimum: 0 - * maximum: 999999 + * maximum: 1E+15 * @return discountLimit **/ @javax.annotation.Nullable diff --git a/src/main/java/one/talon/model/CouponDeletionJob.java b/src/main/java/one/talon/model/CouponDeletionJob.java index d0805dfc..b023d144 100644 --- a/src/main/java/one/talon/model/CouponDeletionJob.java +++ b/src/main/java/one/talon/model/CouponDeletionJob.java @@ -89,10 +89,10 @@ public CouponDeletionJob id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/CouponEntity.java b/src/main/java/one/talon/model/CouponEntity.java new file mode 100644 index 00000000..f75f717d --- /dev/null +++ b/src/main/java/one/talon/model/CouponEntity.java @@ -0,0 +1,127 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import org.threeten.bp.OffsetDateTime; + +/** + * CouponEntity + */ + +public class CouponEntity { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private Long id; + + public static final String SERIALIZED_NAME_CREATED = "created"; + @SerializedName(SERIALIZED_NAME_CREATED) + private OffsetDateTime created; + + + public CouponEntity id(Long id) { + + this.id = id; + return this; + } + + /** + * The internal ID of the coupon. + * @return id + **/ + @ApiModelProperty(example = "6", required = true, value = "The internal ID of the coupon.") + + public Long getId() { + return id; + } + + + public void setId(Long id) { + this.id = id; + } + + + public CouponEntity created(OffsetDateTime created) { + + this.created = created; + return this; + } + + /** + * The time the coupon was created. + * @return created + **/ + @ApiModelProperty(example = "2020-06-10T09:05:27.993483Z", required = true, value = "The time the coupon was created.") + + public OffsetDateTime getCreated() { + return created; + } + + + public void setCreated(OffsetDateTime created) { + this.created = created; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CouponEntity couponEntity = (CouponEntity) o; + return Objects.equals(this.id, couponEntity.id) && + Objects.equals(this.created, couponEntity.created); + } + + @Override + public int hashCode() { + return Objects.hash(id, created); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CouponEntity {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" created: ").append(toIndentedString(created)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/CouponsNotificationData.java b/src/main/java/one/talon/model/CouponsNotificationData.java new file mode 100644 index 00000000..cf2407dc --- /dev/null +++ b/src/main/java/one/talon/model/CouponsNotificationData.java @@ -0,0 +1,223 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.ExtendedCoupon; + +/** + * CouponsNotificationData + */ + +public class CouponsNotificationData { + public static final String SERIALIZED_NAME_TYPE_OF_CHANGE = "TypeOfChange"; + @SerializedName(SERIALIZED_NAME_TYPE_OF_CHANGE) + private String typeOfChange; + + public static final String SERIALIZED_NAME_OPERATION = "Operation"; + @SerializedName(SERIALIZED_NAME_OPERATION) + private String operation; + + public static final String SERIALIZED_NAME_EMPLOYEE_NAME = "EmployeeName"; + @SerializedName(SERIALIZED_NAME_EMPLOYEE_NAME) + private String employeeName; + + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private List data = null; + + public static final String SERIALIZED_NAME_TOTAL_RESULT_SIZE = "totalResultSize"; + @SerializedName(SERIALIZED_NAME_TOTAL_RESULT_SIZE) + private Long totalResultSize; + + + public CouponsNotificationData typeOfChange(String typeOfChange) { + + this.typeOfChange = typeOfChange; + return this; + } + + /** + * The type of change that occurred. + * @return typeOfChange + **/ + @ApiModelProperty(required = true, value = "The type of change that occurred.") + + public String getTypeOfChange() { + return typeOfChange; + } + + + public void setTypeOfChange(String typeOfChange) { + this.typeOfChange = typeOfChange; + } + + + public CouponsNotificationData operation(String operation) { + + this.operation = operation; + return this; + } + + /** + * The operation performed. + * @return operation + **/ + @ApiModelProperty(required = true, value = "The operation performed.") + + public String getOperation() { + return operation; + } + + + public void setOperation(String operation) { + this.operation = operation; + } + + + public CouponsNotificationData employeeName(String employeeName) { + + this.employeeName = employeeName; + return this; + } + + /** + * The name of the employee associated with the operation. + * @return employeeName + **/ + @ApiModelProperty(required = true, value = "The name of the employee associated with the operation.") + + public String getEmployeeName() { + return employeeName; + } + + + public void setEmployeeName(String employeeName) { + this.employeeName = employeeName; + } + + + public CouponsNotificationData data(List data) { + + this.data = data; + return this; + } + + public CouponsNotificationData addDataItem(ExtendedCoupon dataItem) { + if (this.data == null) { + this.data = new ArrayList(); + } + this.data.add(dataItem); + return this; + } + + /** + * A list of extended coupon data. + * @return data + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A list of extended coupon data.") + + public List getData() { + return data; + } + + + public void setData(List data) { + this.data = data; + } + + + public CouponsNotificationData totalResultSize(Long totalResultSize) { + + this.totalResultSize = totalResultSize; + return this; + } + + /** + * Get totalResultSize + * @return totalResultSize + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", value = "") + + public Long getTotalResultSize() { + return totalResultSize; + } + + + public void setTotalResultSize(Long totalResultSize) { + this.totalResultSize = totalResultSize; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CouponsNotificationData couponsNotificationData = (CouponsNotificationData) o; + return Objects.equals(this.typeOfChange, couponsNotificationData.typeOfChange) && + Objects.equals(this.operation, couponsNotificationData.operation) && + Objects.equals(this.employeeName, couponsNotificationData.employeeName) && + Objects.equals(this.data, couponsNotificationData.data) && + Objects.equals(this.totalResultSize, couponsNotificationData.totalResultSize); + } + + @Override + public int hashCode() { + return Objects.hash(typeOfChange, operation, employeeName, data, totalResultSize); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CouponsNotificationData {\n"); + sb.append(" typeOfChange: ").append(toIndentedString(typeOfChange)).append("\n"); + sb.append(" operation: ").append(toIndentedString(operation)).append("\n"); + sb.append(" employeeName: ").append(toIndentedString(employeeName)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" totalResultSize: ").append(toIndentedString(totalResultSize)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/CreateAchievement.java b/src/main/java/one/talon/model/CreateAchievement.java index b1387d27..e32e34bf 100644 --- a/src/main/java/one/talon/model/CreateAchievement.java +++ b/src/main/java/one/talon/model/CreateAchievement.java @@ -57,13 +57,15 @@ public class CreateAchievement { private TimePoint periodEndOverride; /** - * 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. + * 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. */ @JsonAdapter(RecurrencePolicyEnum.Adapter.class) public enum RecurrencePolicyEnum { NO_RECURRENCE("no_recurrence"), - ON_EXPIRATION("on_expiration"); + ON_EXPIRATION("on_expiration"), + + ON_COMPLETION("on_completion"); private String value; @@ -308,11 +310,11 @@ public CreateAchievement recurrencePolicy(RecurrencePolicyEnum recurrencePolicy) } /** - * 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. + * 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. * @return recurrencePolicy **/ @javax.annotation.Nullable - @ApiModelProperty(example = "no_recurrence", value = "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. ") + @ApiModelProperty(example = "no_recurrence", value = "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. ") public RecurrencePolicyEnum getRecurrencePolicy() { return recurrencePolicy; diff --git a/src/main/java/one/talon/model/CreateCouponData.java b/src/main/java/one/talon/model/CreateCouponData.java new file mode 100644 index 00000000..b71a3082 --- /dev/null +++ b/src/main/java/one/talon/model/CreateCouponData.java @@ -0,0 +1,252 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.ExtendedCoupon; + +/** + * CreateCouponData + */ + +public class CreateCouponData { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private List data = null; + + public static final String SERIALIZED_NAME_TOTAL_RESULT_SIZE = "totalResultSize"; + @SerializedName(SERIALIZED_NAME_TOTAL_RESULT_SIZE) + private Long totalResultSize; + + public static final String SERIALIZED_NAME_BATCH_I_D = "BatchID"; + @SerializedName(SERIALIZED_NAME_BATCH_I_D) + private String batchID; + + public static final String SERIALIZED_NAME_TYPE_OF_CHANGE = "TypeOfChange"; + @SerializedName(SERIALIZED_NAME_TYPE_OF_CHANGE) + private String typeOfChange; + + public static final String SERIALIZED_NAME_OPERATION = "Operation"; + @SerializedName(SERIALIZED_NAME_OPERATION) + private String operation; + + public static final String SERIALIZED_NAME_EMPLOYEE_NAME = "EmployeeName"; + @SerializedName(SERIALIZED_NAME_EMPLOYEE_NAME) + private String employeeName; + + + public CreateCouponData data(List data) { + + this.data = data; + return this; + } + + public CreateCouponData addDataItem(ExtendedCoupon dataItem) { + if (this.data == null) { + this.data = new ArrayList(); + } + this.data.add(dataItem); + return this; + } + + /** + * 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. + * @return data + **/ + @javax.annotation.Nullable + @ApiModelProperty(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}]", value = "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.") + + public List getData() { + return data; + } + + + public void setData(List data) { + this.data = data; + } + + + public CreateCouponData totalResultSize(Long totalResultSize) { + + this.totalResultSize = totalResultSize; + return this; + } + + /** + * Get totalResultSize + * @return totalResultSize + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", value = "") + + public Long getTotalResultSize() { + return totalResultSize; + } + + + public void setTotalResultSize(Long totalResultSize) { + this.totalResultSize = totalResultSize; + } + + + public CreateCouponData batchID(String batchID) { + + this.batchID = batchID; + return this; + } + + /** + * The ID of the batch to which the coupon belongs. **Note:** The Batch ID is generated when coupons are created. + * @return batchID + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "haanlypn", value = "The ID of the batch to which the coupon belongs. **Note:** The Batch ID is generated when coupons are created. ") + + public String getBatchID() { + return batchID; + } + + + public void setBatchID(String batchID) { + this.batchID = batchID; + } + + + public CreateCouponData typeOfChange(String typeOfChange) { + + this.typeOfChange = typeOfChange; + return this; + } + + /** + * + * @return typeOfChange + **/ + @ApiModelProperty(example = "campaign_manager", required = true, value = "") + + public String getTypeOfChange() { + return typeOfChange; + } + + + public void setTypeOfChange(String typeOfChange) { + this.typeOfChange = typeOfChange; + } + + + public CreateCouponData operation(String operation) { + + this.operation = operation; + return this; + } + + /** + * + * @return operation + **/ + @ApiModelProperty(example = "AsyncCouponsCreated", required = true, value = "") + + public String getOperation() { + return operation; + } + + + public void setOperation(String operation) { + this.operation = operation; + } + + + public CreateCouponData employeeName(String employeeName) { + + this.employeeName = employeeName; + return this; + } + + /** + * + * @return employeeName + **/ + @ApiModelProperty(example = "Franziska Schneider", required = true, value = "") + + public String getEmployeeName() { + return employeeName; + } + + + public void setEmployeeName(String employeeName) { + this.employeeName = employeeName; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateCouponData createCouponData = (CreateCouponData) o; + return Objects.equals(this.data, createCouponData.data) && + Objects.equals(this.totalResultSize, createCouponData.totalResultSize) && + Objects.equals(this.batchID, createCouponData.batchID) && + Objects.equals(this.typeOfChange, createCouponData.typeOfChange) && + Objects.equals(this.operation, createCouponData.operation) && + Objects.equals(this.employeeName, createCouponData.employeeName); + } + + @Override + public int hashCode() { + return Objects.hash(data, totalResultSize, batchID, typeOfChange, operation, employeeName); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateCouponData {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" totalResultSize: ").append(toIndentedString(totalResultSize)).append("\n"); + sb.append(" batchID: ").append(toIndentedString(batchID)).append("\n"); + sb.append(" typeOfChange: ").append(toIndentedString(typeOfChange)).append("\n"); + sb.append(" operation: ").append(toIndentedString(operation)).append("\n"); + sb.append(" employeeName: ").append(toIndentedString(employeeName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/CustomEffect.java b/src/main/java/one/talon/model/CustomEffect.java index 6ad94d4e..1d332271 100644 --- a/src/main/java/one/talon/model/CustomEffect.java +++ b/src/main/java/one/talon/model/CustomEffect.java @@ -97,10 +97,10 @@ public CustomEffect id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/CustomerProfile.java b/src/main/java/one/talon/model/CustomerProfile.java index c6b3cbe4..7732e463 100644 --- a/src/main/java/one/talon/model/CustomerProfile.java +++ b/src/main/java/one/talon/model/CustomerProfile.java @@ -87,10 +87,10 @@ public CustomerProfile id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of the customer profile. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of the customer profile.") public Long getId() { return id; @@ -197,10 +197,10 @@ public CustomerProfile closedSessions(Long closedSessions) { } /** - * The total amount of closed sessions by a customer. A closed session is a successful purchase. + * 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). * @return closedSessions **/ - @ApiModelProperty(example = "3", required = true, value = "The total amount of closed sessions by a customer. A closed session is a successful purchase.") + @ApiModelProperty(example = "3", required = true, value = "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).") public Long getClosedSessions() { return closedSessions; diff --git a/src/main/java/one/talon/model/CustomerProfileEntity.java b/src/main/java/one/talon/model/CustomerProfileEntity.java new file mode 100644 index 00000000..1b964350 --- /dev/null +++ b/src/main/java/one/talon/model/CustomerProfileEntity.java @@ -0,0 +1,127 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import org.threeten.bp.OffsetDateTime; + +/** + * CustomerProfileEntity + */ + +public class CustomerProfileEntity { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private Long id; + + public static final String SERIALIZED_NAME_CREATED = "created"; + @SerializedName(SERIALIZED_NAME_CREATED) + private OffsetDateTime created; + + + public CustomerProfileEntity id(Long id) { + + this.id = id; + return this; + } + + /** + * The internal ID of the customer profile. + * @return id + **/ + @ApiModelProperty(example = "6", required = true, value = "The internal ID of the customer profile.") + + public Long getId() { + return id; + } + + + public void setId(Long id) { + this.id = id; + } + + + public CustomerProfileEntity created(OffsetDateTime created) { + + this.created = created; + return this; + } + + /** + * The time the customer profile was created. + * @return created + **/ + @ApiModelProperty(example = "2020-06-10T09:05:27.993483Z", required = true, value = "The time the customer profile was created.") + + public OffsetDateTime getCreated() { + return created; + } + + + public void setCreated(OffsetDateTime created) { + this.created = created; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomerProfileEntity customerProfileEntity = (CustomerProfileEntity) o; + return Objects.equals(this.id, customerProfileEntity.id) && + Objects.equals(this.created, customerProfileEntity.created); + } + + @Override + public int hashCode() { + return Objects.hash(id, created); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomerProfileEntity {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" created: ").append(toIndentedString(created)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/CustomerSessionV2.java b/src/main/java/one/talon/model/CustomerSessionV2.java index 8e1977aa..e37f783f 100644 --- a/src/main/java/one/talon/model/CustomerSessionV2.java +++ b/src/main/java/one/talon/model/CustomerSessionV2.java @@ -177,10 +177,10 @@ public CustomerSessionV2 id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/DeductLoyaltyPoints.java b/src/main/java/one/talon/model/DeductLoyaltyPoints.java index c8cafc39..f309c843 100644 --- a/src/main/java/one/talon/model/DeductLoyaltyPoints.java +++ b/src/main/java/one/talon/model/DeductLoyaltyPoints.java @@ -56,7 +56,6 @@ public DeductLoyaltyPoints points(BigDecimal points) { /** * Amount of loyalty points. - * minimum: 0 * maximum: 999999999999.99 * @return points **/ diff --git a/src/main/java/one/talon/model/DeleteCouponsData.java b/src/main/java/one/talon/model/DeleteCouponsData.java new file mode 100644 index 00000000..d9b2c616 --- /dev/null +++ b/src/main/java/one/talon/model/DeleteCouponsData.java @@ -0,0 +1,266 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * DeleteCouponsData + */ + +public class DeleteCouponsData { + public static final String SERIALIZED_NAME_TYPE_OF_CHANGE = "TypeOfChange"; + @SerializedName(SERIALIZED_NAME_TYPE_OF_CHANGE) + private String typeOfChange; + + public static final String SERIALIZED_NAME_OPERATION = "Operation"; + @SerializedName(SERIALIZED_NAME_OPERATION) + private String operation; + + public static final String SERIALIZED_NAME_EMPLOYEE_NAME = "EmployeeName"; + @SerializedName(SERIALIZED_NAME_EMPLOYEE_NAME) + private String employeeName; + + public static final String SERIALIZED_NAME_BATCH_I_D = "BatchID"; + @SerializedName(SERIALIZED_NAME_BATCH_I_D) + private String batchID; + + public static final String SERIALIZED_NAME_APPLICATION_I_D = "ApplicationID"; + @SerializedName(SERIALIZED_NAME_APPLICATION_I_D) + private Long applicationID; + + public static final String SERIALIZED_NAME_CAMPAIGN_I_D = "CampaignID"; + @SerializedName(SERIALIZED_NAME_CAMPAIGN_I_D) + private Long campaignID; + + public static final String SERIALIZED_NAME_TOTAL_RESULT_SIZE = "TotalResultSize"; + @SerializedName(SERIALIZED_NAME_TOTAL_RESULT_SIZE) + private Long totalResultSize; + + + public DeleteCouponsData typeOfChange(String typeOfChange) { + + this.typeOfChange = typeOfChange; + return this; + } + + /** + * Get typeOfChange + * @return typeOfChange + **/ + @ApiModelProperty(required = true, value = "") + + public String getTypeOfChange() { + return typeOfChange; + } + + + public void setTypeOfChange(String typeOfChange) { + this.typeOfChange = typeOfChange; + } + + + public DeleteCouponsData operation(String operation) { + + this.operation = operation; + return this; + } + + /** + * Get operation + * @return operation + **/ + @ApiModelProperty(required = true, value = "") + + public String getOperation() { + return operation; + } + + + public void setOperation(String operation) { + this.operation = operation; + } + + + public DeleteCouponsData employeeName(String employeeName) { + + this.employeeName = employeeName; + return this; + } + + /** + * Get employeeName + * @return employeeName + **/ + @ApiModelProperty(required = true, value = "") + + public String getEmployeeName() { + return employeeName; + } + + + public void setEmployeeName(String employeeName) { + this.employeeName = employeeName; + } + + + public DeleteCouponsData batchID(String batchID) { + + this.batchID = batchID; + return this; + } + + /** + * Get batchID + * @return batchID + **/ + @ApiModelProperty(required = true, value = "") + + public String getBatchID() { + return batchID; + } + + + public void setBatchID(String batchID) { + this.batchID = batchID; + } + + + public DeleteCouponsData applicationID(Long applicationID) { + + this.applicationID = applicationID; + return this; + } + + /** + * Get applicationID + * @return applicationID + **/ + @ApiModelProperty(required = true, value = "") + + public Long getApplicationID() { + return applicationID; + } + + + public void setApplicationID(Long applicationID) { + this.applicationID = applicationID; + } + + + public DeleteCouponsData campaignID(Long campaignID) { + + this.campaignID = campaignID; + return this; + } + + /** + * Get campaignID + * @return campaignID + **/ + @ApiModelProperty(required = true, value = "") + + public Long getCampaignID() { + return campaignID; + } + + + public void setCampaignID(Long campaignID) { + this.campaignID = campaignID; + } + + + public DeleteCouponsData totalResultSize(Long totalResultSize) { + + this.totalResultSize = totalResultSize; + return this; + } + + /** + * Get totalResultSize + * @return totalResultSize + **/ + @ApiModelProperty(required = true, value = "") + + public Long getTotalResultSize() { + return totalResultSize; + } + + + public void setTotalResultSize(Long totalResultSize) { + this.totalResultSize = totalResultSize; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DeleteCouponsData deleteCouponsData = (DeleteCouponsData) o; + return Objects.equals(this.typeOfChange, deleteCouponsData.typeOfChange) && + Objects.equals(this.operation, deleteCouponsData.operation) && + Objects.equals(this.employeeName, deleteCouponsData.employeeName) && + Objects.equals(this.batchID, deleteCouponsData.batchID) && + Objects.equals(this.applicationID, deleteCouponsData.applicationID) && + Objects.equals(this.campaignID, deleteCouponsData.campaignID) && + Objects.equals(this.totalResultSize, deleteCouponsData.totalResultSize); + } + + @Override + public int hashCode() { + return Objects.hash(typeOfChange, operation, employeeName, batchID, applicationID, campaignID, totalResultSize); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DeleteCouponsData {\n"); + sb.append(" typeOfChange: ").append(toIndentedString(typeOfChange)).append("\n"); + sb.append(" operation: ").append(toIndentedString(operation)).append("\n"); + sb.append(" employeeName: ").append(toIndentedString(employeeName)).append("\n"); + sb.append(" batchID: ").append(toIndentedString(batchID)).append("\n"); + sb.append(" applicationID: ").append(toIndentedString(applicationID)).append("\n"); + sb.append(" campaignID: ").append(toIndentedString(campaignID)).append("\n"); + sb.append(" totalResultSize: ").append(toIndentedString(totalResultSize)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/Effect.java b/src/main/java/one/talon/model/Effect.java index ed575dcc..0561e951 100644 --- a/src/main/java/one/talon/model/Effect.java +++ b/src/main/java/one/talon/model/Effect.java @@ -23,6 +23,8 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; +import java.math.BigDecimal; +import java.util.UUID; /** * A generic effect that is fired by a triggered campaign. The props property will contain information specific to the specific effect type. @@ -78,6 +80,18 @@ public class Effect { @SerializedName(SERIALIZED_NAME_CAMPAIGN_REVISION_VERSION_ID) private Long campaignRevisionVersionId; + public static final String SERIALIZED_NAME_SELECTED_PRICE_TYPE = "selectedPriceType"; + @SerializedName(SERIALIZED_NAME_SELECTED_PRICE_TYPE) + private String selectedPriceType; + + public static final String SERIALIZED_NAME_SELECTED_PRICE = "selectedPrice"; + @SerializedName(SERIALIZED_NAME_SELECTED_PRICE) + private BigDecimal selectedPrice; + + public static final String SERIALIZED_NAME_ADJUSTMENT_REFERENCE_ID = "adjustmentReferenceId"; + @SerializedName(SERIALIZED_NAME_ADJUSTMENT_REFERENCE_ID) + private UUID adjustmentReferenceId; + public static final String SERIALIZED_NAME_PROPS = "props"; @SerializedName(SERIALIZED_NAME_PROPS) private Object props; @@ -354,6 +368,75 @@ public void setCampaignRevisionVersionId(Long campaignRevisionVersionId) { } + public Effect selectedPriceType(String selectedPriceType) { + + this.selectedPriceType = selectedPriceType; + return this; + } + + /** + * The selected price type for the SKU targeted by this effect. + * @return selectedPriceType + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "member", value = "The selected price type for the SKU targeted by this effect.") + + public String getSelectedPriceType() { + return selectedPriceType; + } + + + public void setSelectedPriceType(String selectedPriceType) { + this.selectedPriceType = selectedPriceType; + } + + + public Effect selectedPrice(BigDecimal selectedPrice) { + + this.selectedPrice = selectedPrice; + return this; + } + + /** + * The value of the selected price type to apply to the SKU targeted by this effect, before any discounts are applied. + * @return selectedPrice + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "100.0", value = "The value of the selected price type to apply to the SKU targeted by this effect, before any discounts are applied.") + + public BigDecimal getSelectedPrice() { + return selectedPrice; + } + + + public void setSelectedPrice(BigDecimal selectedPrice) { + this.selectedPrice = selectedPrice; + } + + + public Effect adjustmentReferenceId(UUID adjustmentReferenceId) { + + this.adjustmentReferenceId = adjustmentReferenceId; + return this; + } + + /** + * The reference identifier of the selected price adjustment for this SKU. This is only returned if the `selectedPrice` resulted from a price adjustment. + * @return adjustmentReferenceId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "68851723-e6fa-488f-ace9-112581e6c19b", value = "The reference identifier of the selected price adjustment for this SKU. This is only returned if the `selectedPrice` resulted from a price adjustment.") + + public UUID getAdjustmentReferenceId() { + return adjustmentReferenceId; + } + + + public void setAdjustmentReferenceId(UUID adjustmentReferenceId) { + this.adjustmentReferenceId = adjustmentReferenceId; + } + + public Effect props(Object props) { this.props = props; @@ -361,10 +444,10 @@ public Effect props(Object props) { } /** - * The properties of the effect. See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects). + * Get props * @return props **/ - @ApiModelProperty(required = true, value = "The properties of the effect. See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects).") + @ApiModelProperty(required = true, value = "") public Object getProps() { return props; @@ -397,12 +480,15 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.evaluationGroupMode, effect.evaluationGroupMode) && Objects.equals(this.campaignRevisionId, effect.campaignRevisionId) && Objects.equals(this.campaignRevisionVersionId, effect.campaignRevisionVersionId) && + Objects.equals(this.selectedPriceType, effect.selectedPriceType) && + Objects.equals(this.selectedPrice, effect.selectedPrice) && + Objects.equals(this.adjustmentReferenceId, effect.adjustmentReferenceId) && Objects.equals(this.props, effect.props); } @Override public int hashCode() { - return Objects.hash(campaignId, rulesetId, ruleIndex, ruleName, effectType, triggeredByCoupon, triggeredForCatalogItem, conditionIndex, evaluationGroupID, evaluationGroupMode, campaignRevisionId, campaignRevisionVersionId, props); + return Objects.hash(campaignId, rulesetId, ruleIndex, ruleName, effectType, triggeredByCoupon, triggeredForCatalogItem, conditionIndex, evaluationGroupID, evaluationGroupMode, campaignRevisionId, campaignRevisionVersionId, selectedPriceType, selectedPrice, adjustmentReferenceId, props); } @@ -422,6 +508,9 @@ public String toString() { sb.append(" evaluationGroupMode: ").append(toIndentedString(evaluationGroupMode)).append("\n"); sb.append(" campaignRevisionId: ").append(toIndentedString(campaignRevisionId)).append("\n"); sb.append(" campaignRevisionVersionId: ").append(toIndentedString(campaignRevisionVersionId)).append("\n"); + sb.append(" selectedPriceType: ").append(toIndentedString(selectedPriceType)).append("\n"); + sb.append(" selectedPrice: ").append(toIndentedString(selectedPrice)).append("\n"); + sb.append(" adjustmentReferenceId: ").append(toIndentedString(adjustmentReferenceId)).append("\n"); sb.append(" props: ").append(toIndentedString(props)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/one/talon/model/EffectEntity.java b/src/main/java/one/talon/model/EffectEntity.java index abd00dba..d984ab65 100644 --- a/src/main/java/one/talon/model/EffectEntity.java +++ b/src/main/java/one/talon/model/EffectEntity.java @@ -23,6 +23,8 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; +import java.math.BigDecimal; +import java.util.UUID; /** * Definition of all properties that are present on all effects, independent of their type. @@ -78,6 +80,18 @@ public class EffectEntity { @SerializedName(SERIALIZED_NAME_CAMPAIGN_REVISION_VERSION_ID) private Long campaignRevisionVersionId; + public static final String SERIALIZED_NAME_SELECTED_PRICE_TYPE = "selectedPriceType"; + @SerializedName(SERIALIZED_NAME_SELECTED_PRICE_TYPE) + private String selectedPriceType; + + public static final String SERIALIZED_NAME_SELECTED_PRICE = "selectedPrice"; + @SerializedName(SERIALIZED_NAME_SELECTED_PRICE) + private BigDecimal selectedPrice; + + public static final String SERIALIZED_NAME_ADJUSTMENT_REFERENCE_ID = "adjustmentReferenceId"; + @SerializedName(SERIALIZED_NAME_ADJUSTMENT_REFERENCE_ID) + private UUID adjustmentReferenceId; + public EffectEntity campaignId(Long campaignId) { @@ -350,6 +364,75 @@ public void setCampaignRevisionVersionId(Long campaignRevisionVersionId) { } + public EffectEntity selectedPriceType(String selectedPriceType) { + + this.selectedPriceType = selectedPriceType; + return this; + } + + /** + * The selected price type for the SKU targeted by this effect. + * @return selectedPriceType + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "member", value = "The selected price type for the SKU targeted by this effect.") + + public String getSelectedPriceType() { + return selectedPriceType; + } + + + public void setSelectedPriceType(String selectedPriceType) { + this.selectedPriceType = selectedPriceType; + } + + + public EffectEntity selectedPrice(BigDecimal selectedPrice) { + + this.selectedPrice = selectedPrice; + return this; + } + + /** + * The value of the selected price type to apply to the SKU targeted by this effect, before any discounts are applied. + * @return selectedPrice + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "100.0", value = "The value of the selected price type to apply to the SKU targeted by this effect, before any discounts are applied.") + + public BigDecimal getSelectedPrice() { + return selectedPrice; + } + + + public void setSelectedPrice(BigDecimal selectedPrice) { + this.selectedPrice = selectedPrice; + } + + + public EffectEntity adjustmentReferenceId(UUID adjustmentReferenceId) { + + this.adjustmentReferenceId = adjustmentReferenceId; + return this; + } + + /** + * The reference identifier of the selected price adjustment for this SKU. This is only returned if the `selectedPrice` resulted from a price adjustment. + * @return adjustmentReferenceId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "68851723-e6fa-488f-ace9-112581e6c19b", value = "The reference identifier of the selected price adjustment for this SKU. This is only returned if the `selectedPrice` resulted from a price adjustment.") + + public UUID getAdjustmentReferenceId() { + return adjustmentReferenceId; + } + + + public void setAdjustmentReferenceId(UUID adjustmentReferenceId) { + this.adjustmentReferenceId = adjustmentReferenceId; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -370,12 +453,15 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.evaluationGroupID, effectEntity.evaluationGroupID) && Objects.equals(this.evaluationGroupMode, effectEntity.evaluationGroupMode) && Objects.equals(this.campaignRevisionId, effectEntity.campaignRevisionId) && - Objects.equals(this.campaignRevisionVersionId, effectEntity.campaignRevisionVersionId); + Objects.equals(this.campaignRevisionVersionId, effectEntity.campaignRevisionVersionId) && + Objects.equals(this.selectedPriceType, effectEntity.selectedPriceType) && + Objects.equals(this.selectedPrice, effectEntity.selectedPrice) && + Objects.equals(this.adjustmentReferenceId, effectEntity.adjustmentReferenceId); } @Override public int hashCode() { - return Objects.hash(campaignId, rulesetId, ruleIndex, ruleName, effectType, triggeredByCoupon, triggeredForCatalogItem, conditionIndex, evaluationGroupID, evaluationGroupMode, campaignRevisionId, campaignRevisionVersionId); + return Objects.hash(campaignId, rulesetId, ruleIndex, ruleName, effectType, triggeredByCoupon, triggeredForCatalogItem, conditionIndex, evaluationGroupID, evaluationGroupMode, campaignRevisionId, campaignRevisionVersionId, selectedPriceType, selectedPrice, adjustmentReferenceId); } @@ -395,6 +481,9 @@ public String toString() { sb.append(" evaluationGroupMode: ").append(toIndentedString(evaluationGroupMode)).append("\n"); sb.append(" campaignRevisionId: ").append(toIndentedString(campaignRevisionId)).append("\n"); sb.append(" campaignRevisionVersionId: ").append(toIndentedString(campaignRevisionVersionId)).append("\n"); + sb.append(" selectedPriceType: ").append(toIndentedString(selectedPriceType)).append("\n"); + sb.append(" selectedPrice: ").append(toIndentedString(selectedPrice)).append("\n"); + sb.append(" adjustmentReferenceId: ").append(toIndentedString(adjustmentReferenceId)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/one/talon/model/Entity.java b/src/main/java/one/talon/model/Entity.java index 09a0159d..39670042 100644 --- a/src/main/java/one/talon/model/Entity.java +++ b/src/main/java/one/talon/model/Entity.java @@ -46,10 +46,10 @@ public Entity id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/Environment.java b/src/main/java/one/talon/model/Environment.java index a47ee94f..77ccd028 100644 --- a/src/main/java/one/talon/model/Environment.java +++ b/src/main/java/one/talon/model/Environment.java @@ -34,6 +34,7 @@ import one.talon.model.FunctionDef; import one.talon.model.GiveawaysPool; import one.talon.model.LoyaltyProgram; +import one.talon.model.PriceType; import one.talon.model.SlotDef; import one.talon.model.TemplateDef; import org.threeten.bp.OffsetDateTime; @@ -103,6 +104,10 @@ public class Environment { @SerializedName(SERIALIZED_NAME_APPLICATION_CART_ITEM_FILTERS) private List applicationCartItemFilters = null; + public static final String SERIALIZED_NAME_PRICE_TYPES = "priceTypes"; + @SerializedName(SERIALIZED_NAME_PRICE_TYPES) + private List priceTypes = null; + public Environment id(Long id) { @@ -111,10 +116,10 @@ public Environment id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; @@ -521,6 +526,37 @@ public void setApplicationCartItemFilters(List applicationCartIt } + public Environment priceTypes(List priceTypes) { + + this.priceTypes = priceTypes; + return this; + } + + public Environment addPriceTypesItem(PriceType priceTypesItem) { + if (this.priceTypes == null) { + this.priceTypes = new ArrayList(); + } + this.priceTypes.add(priceTypesItem); + return this; + } + + /** + * The price types that this Application can use. + * @return priceTypes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The price types that this Application can use.") + + public List getPriceTypes() { + return priceTypes; + } + + + public void setPriceTypes(List priceTypes) { + this.priceTypes = priceTypes; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -544,12 +580,13 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.additionalCosts, environment.additionalCosts) && Objects.equals(this.audiences, environment.audiences) && Objects.equals(this.collections, environment.collections) && - Objects.equals(this.applicationCartItemFilters, environment.applicationCartItemFilters); + Objects.equals(this.applicationCartItemFilters, environment.applicationCartItemFilters) && + Objects.equals(this.priceTypes, environment.priceTypes); } @Override public int hashCode() { - return Objects.hash(id, created, applicationId, slots, functions, templates, variables, giveawaysPools, loyaltyPrograms, achievements, attributes, additionalCosts, audiences, collections, applicationCartItemFilters); + return Objects.hash(id, created, applicationId, slots, functions, templates, variables, giveawaysPools, loyaltyPrograms, achievements, attributes, additionalCosts, audiences, collections, applicationCartItemFilters, priceTypes); } @@ -572,6 +609,7 @@ public String toString() { sb.append(" audiences: ").append(toIndentedString(audiences)).append("\n"); sb.append(" collections: ").append(toIndentedString(collections)).append("\n"); sb.append(" applicationCartItemFilters: ").append(toIndentedString(applicationCartItemFilters)).append("\n"); + sb.append(" priceTypes: ").append(toIndentedString(priceTypes)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/one/talon/model/Event.java b/src/main/java/one/talon/model/Event.java index 2415112a..487e527a 100644 --- a/src/main/java/one/talon/model/Event.java +++ b/src/main/java/one/talon/model/Event.java @@ -86,10 +86,10 @@ public Event id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/EventType.java b/src/main/java/one/talon/model/EventType.java index 6b4fd55b..3c36960e 100644 --- a/src/main/java/one/talon/model/EventType.java +++ b/src/main/java/one/talon/model/EventType.java @@ -58,10 +58,10 @@ public EventType id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/ExpiringCardPointsData.java b/src/main/java/one/talon/model/ExpiringCardPointsData.java new file mode 100644 index 00000000..5c77d8f8 --- /dev/null +++ b/src/main/java/one/talon/model/ExpiringCardPointsData.java @@ -0,0 +1,277 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; +import org.threeten.bp.LocalDate; + +/** + * ExpiringCardPointsData + */ + +public class ExpiringCardPointsData { + public static final String SERIALIZED_NAME_EXPIRY_DATE = "ExpiryDate"; + @SerializedName(SERIALIZED_NAME_EXPIRY_DATE) + private LocalDate expiryDate; + + public static final String SERIALIZED_NAME_LOYALTY_PROGRAM_I_D = "LoyaltyProgramID"; + @SerializedName(SERIALIZED_NAME_LOYALTY_PROGRAM_I_D) + private Long loyaltyProgramID; + + public static final String SERIALIZED_NAME_AMOUNT_OF_EXPIRING_POINTS = "AmountOfExpiringPoints"; + @SerializedName(SERIALIZED_NAME_AMOUNT_OF_EXPIRING_POINTS) + private BigDecimal amountOfExpiringPoints; + + public static final String SERIALIZED_NAME_SUBLEDGER_I_D = "SubledgerID"; + @SerializedName(SERIALIZED_NAME_SUBLEDGER_I_D) + private String subledgerID; + + public static final String SERIALIZED_NAME_CARD_IDENTIFIER = "CardIdentifier"; + @SerializedName(SERIALIZED_NAME_CARD_IDENTIFIER) + private String cardIdentifier; + + public static final String SERIALIZED_NAME_USERS_PER_CARD_LIMIT = "UsersPerCardLimit"; + @SerializedName(SERIALIZED_NAME_USERS_PER_CARD_LIMIT) + private Long usersPerCardLimit; + + public static final String SERIALIZED_NAME_PROFILES = "Profiles"; + @SerializedName(SERIALIZED_NAME_PROFILES) + private List profiles = new ArrayList(); + + + public ExpiringCardPointsData expiryDate(LocalDate expiryDate) { + + this.expiryDate = expiryDate; + return this; + } + + /** + * The expiration date of loyalty points. + * @return expiryDate + **/ + @ApiModelProperty(required = true, value = "The expiration date of loyalty points.") + + public LocalDate getExpiryDate() { + return expiryDate; + } + + + public void setExpiryDate(LocalDate expiryDate) { + this.expiryDate = expiryDate; + } + + + public ExpiringCardPointsData loyaltyProgramID(Long loyaltyProgramID) { + + this.loyaltyProgramID = loyaltyProgramID; + return this; + } + + /** + * The ID of the loyalty program. + * minimum: 1 + * @return loyaltyProgramID + **/ + @ApiModelProperty(example = "5", required = true, value = "The ID of the loyalty program.") + + public Long getLoyaltyProgramID() { + return loyaltyProgramID; + } + + + public void setLoyaltyProgramID(Long loyaltyProgramID) { + this.loyaltyProgramID = loyaltyProgramID; + } + + + public ExpiringCardPointsData amountOfExpiringPoints(BigDecimal amountOfExpiringPoints) { + + this.amountOfExpiringPoints = amountOfExpiringPoints; + return this; + } + + /** + * The amount of loyalty points that will be expired soon. + * @return amountOfExpiringPoints + **/ + @ApiModelProperty(example = "10.99", required = true, value = "The amount of loyalty points that will be expired soon.") + + public BigDecimal getAmountOfExpiringPoints() { + return amountOfExpiringPoints; + } + + + public void setAmountOfExpiringPoints(BigDecimal amountOfExpiringPoints) { + this.amountOfExpiringPoints = amountOfExpiringPoints; + } + + + public ExpiringCardPointsData subledgerID(String subledgerID) { + + this.subledgerID = subledgerID; + return this; + } + + /** + * The ID of the subledger within the loyalty program where these points were added. + * @return subledgerID + **/ + @ApiModelProperty(example = "sub-123", required = true, value = "The ID of the subledger within the loyalty program where these points were added.") + + public String getSubledgerID() { + return subledgerID; + } + + + public void setSubledgerID(String subledgerID) { + this.subledgerID = subledgerID; + } + + + public ExpiringCardPointsData cardIdentifier(String cardIdentifier) { + + this.cardIdentifier = cardIdentifier; + return this; + } + + /** + * The alphanumeric identifier of the loyalty card. + * @return cardIdentifier + **/ + @ApiModelProperty(example = "summer-loyalty-card-0543", required = true, value = "The alphanumeric identifier of the loyalty card.") + + public String getCardIdentifier() { + return cardIdentifier; + } + + + public void setCardIdentifier(String cardIdentifier) { + this.cardIdentifier = cardIdentifier; + } + + + public ExpiringCardPointsData usersPerCardLimit(Long usersPerCardLimit) { + + this.usersPerCardLimit = usersPerCardLimit; + return this; + } + + /** + * The maximum number of customer profiles with which a card can be shared. This can be set to `0` for no limit. + * minimum: 0 + * @return usersPerCardLimit + **/ + @ApiModelProperty(example = "5", required = true, value = "The maximum number of customer profiles with which a card can be shared. This can be set to `0` for no limit. ") + + public Long getUsersPerCardLimit() { + return usersPerCardLimit; + } + + + public void setUsersPerCardLimit(Long usersPerCardLimit) { + this.usersPerCardLimit = usersPerCardLimit; + } + + + public ExpiringCardPointsData profiles(List profiles) { + + this.profiles = profiles; + return this; + } + + public ExpiringCardPointsData addProfilesItem(String profilesItem) { + this.profiles.add(profilesItem); + return this; + } + + /** + * The integration IDs of the customer profiles linked to the card. + * @return profiles + **/ + @ApiModelProperty(required = true, value = "The integration IDs of the customer profiles linked to the card.") + + public List getProfiles() { + return profiles; + } + + + public void setProfiles(List profiles) { + this.profiles = profiles; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ExpiringCardPointsData expiringCardPointsData = (ExpiringCardPointsData) o; + return Objects.equals(this.expiryDate, expiringCardPointsData.expiryDate) && + Objects.equals(this.loyaltyProgramID, expiringCardPointsData.loyaltyProgramID) && + Objects.equals(this.amountOfExpiringPoints, expiringCardPointsData.amountOfExpiringPoints) && + Objects.equals(this.subledgerID, expiringCardPointsData.subledgerID) && + Objects.equals(this.cardIdentifier, expiringCardPointsData.cardIdentifier) && + Objects.equals(this.usersPerCardLimit, expiringCardPointsData.usersPerCardLimit) && + Objects.equals(this.profiles, expiringCardPointsData.profiles); + } + + @Override + public int hashCode() { + return Objects.hash(expiryDate, loyaltyProgramID, amountOfExpiringPoints, subledgerID, cardIdentifier, usersPerCardLimit, profiles); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ExpiringCardPointsData {\n"); + sb.append(" expiryDate: ").append(toIndentedString(expiryDate)).append("\n"); + sb.append(" loyaltyProgramID: ").append(toIndentedString(loyaltyProgramID)).append("\n"); + sb.append(" amountOfExpiringPoints: ").append(toIndentedString(amountOfExpiringPoints)).append("\n"); + sb.append(" subledgerID: ").append(toIndentedString(subledgerID)).append("\n"); + sb.append(" cardIdentifier: ").append(toIndentedString(cardIdentifier)).append("\n"); + sb.append(" usersPerCardLimit: ").append(toIndentedString(usersPerCardLimit)).append("\n"); + sb.append(" profiles: ").append(toIndentedString(profiles)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/ExpiringCardPointsNotification.java b/src/main/java/one/talon/model/ExpiringCardPointsNotification.java new file mode 100644 index 00000000..dd68f5d2 --- /dev/null +++ b/src/main/java/one/talon/model/ExpiringCardPointsNotification.java @@ -0,0 +1,207 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.ExpiringCardPointsData; + +/** + * ExpiringCardPointsNotification + */ + +public class ExpiringCardPointsNotification { + public static final String SERIALIZED_NAME_TOTAL_RESULT_SIZE = "TotalResultSize"; + @SerializedName(SERIALIZED_NAME_TOTAL_RESULT_SIZE) + private Long totalResultSize; + + public static final String SERIALIZED_NAME_DATA = "Data"; + @SerializedName(SERIALIZED_NAME_DATA) + private List data = new ArrayList(); + + /** + * The type of notification. + */ + @JsonAdapter(NotificationTypeEnum.Adapter.class) + public enum NotificationTypeEnum { + LOYALTYCARDPOINTSEXPIRING("LoyaltyCardPointsExpiring"); + + private String value; + + NotificationTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static NotificationTypeEnum fromValue(String value) { + for (NotificationTypeEnum b : NotificationTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final NotificationTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public NotificationTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return NotificationTypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_NOTIFICATION_TYPE = "NotificationType"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE) + private NotificationTypeEnum notificationType; + + + public ExpiringCardPointsNotification totalResultSize(Long totalResultSize) { + + this.totalResultSize = totalResultSize; + return this; + } + + /** + * Get totalResultSize + * @return totalResultSize + **/ + @ApiModelProperty(example = "1", required = true, value = "") + + public Long getTotalResultSize() { + return totalResultSize; + } + + + public void setTotalResultSize(Long totalResultSize) { + this.totalResultSize = totalResultSize; + } + + + public ExpiringCardPointsNotification data(List data) { + + this.data = data; + return this; + } + + public ExpiringCardPointsNotification addDataItem(ExpiringCardPointsData dataItem) { + this.data.add(dataItem); + return this; + } + + /** + * The array of expiring points. + * @return data + **/ + @ApiModelProperty(required = true, value = "The array of expiring points.") + + public List getData() { + return data; + } + + + public void setData(List data) { + this.data = data; + } + + + public ExpiringCardPointsNotification notificationType(NotificationTypeEnum notificationType) { + + this.notificationType = notificationType; + return this; + } + + /** + * The type of notification. + * @return notificationType + **/ + @ApiModelProperty(required = true, value = "The type of notification.") + + public NotificationTypeEnum getNotificationType() { + return notificationType; + } + + + public void setNotificationType(NotificationTypeEnum notificationType) { + this.notificationType = notificationType; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ExpiringCardPointsNotification expiringCardPointsNotification = (ExpiringCardPointsNotification) o; + return Objects.equals(this.totalResultSize, expiringCardPointsNotification.totalResultSize) && + Objects.equals(this.data, expiringCardPointsNotification.data) && + Objects.equals(this.notificationType, expiringCardPointsNotification.notificationType); + } + + @Override + public int hashCode() { + return Objects.hash(totalResultSize, data, notificationType); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ExpiringCardPointsNotification {\n"); + sb.append(" totalResultSize: ").append(toIndentedString(totalResultSize)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" notificationType: ").append(toIndentedString(notificationType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/ExpiringCouponsData.java b/src/main/java/one/talon/model/ExpiringCouponsData.java new file mode 100644 index 00000000..d31f6d93 --- /dev/null +++ b/src/main/java/one/talon/model/ExpiringCouponsData.java @@ -0,0 +1,359 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import org.threeten.bp.OffsetDateTime; + +/** + * ExpiringCouponsData + */ + +public class ExpiringCouponsData { + public static final String SERIALIZED_NAME_COUPON_VALUE = "CouponValue"; + @SerializedName(SERIALIZED_NAME_COUPON_VALUE) + private String couponValue; + + public static final String SERIALIZED_NAME_CREATED_DATE = "CreatedDate"; + @SerializedName(SERIALIZED_NAME_CREATED_DATE) + private OffsetDateTime createdDate; + + public static final String SERIALIZED_NAME_VALID_FROM = "ValidFrom"; + @SerializedName(SERIALIZED_NAME_VALID_FROM) + private OffsetDateTime validFrom; + + public static final String SERIALIZED_NAME_VALID_UNTIL = "ValidUntil"; + @SerializedName(SERIALIZED_NAME_VALID_UNTIL) + private OffsetDateTime validUntil; + + public static final String SERIALIZED_NAME_CAMPAIGN_ID = "CampaignId"; + @SerializedName(SERIALIZED_NAME_CAMPAIGN_ID) + private Long campaignId; + + public static final String SERIALIZED_NAME_CUSTOMER_PROFILE_ID = "CustomerProfileId"; + @SerializedName(SERIALIZED_NAME_CUSTOMER_PROFILE_ID) + private String customerProfileId; + + public static final String SERIALIZED_NAME_USAGE_LIMIT = "UsageLimit"; + @SerializedName(SERIALIZED_NAME_USAGE_LIMIT) + private Long usageLimit; + + public static final String SERIALIZED_NAME_USAGE_COUNTER = "UsageCounter"; + @SerializedName(SERIALIZED_NAME_USAGE_COUNTER) + private Long usageCounter; + + public static final String SERIALIZED_NAME_BATCH_ID = "BatchId"; + @SerializedName(SERIALIZED_NAME_BATCH_ID) + private String batchId; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "Attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + + public ExpiringCouponsData couponValue(String couponValue) { + + this.couponValue = couponValue; + return this; + } + + /** + * The coupon code. + * @return couponValue + **/ + @ApiModelProperty(example = "XMAS-20-2021", required = true, value = "The coupon code.") + + public String getCouponValue() { + return couponValue; + } + + + public void setCouponValue(String couponValue) { + this.couponValue = couponValue; + } + + + public ExpiringCouponsData createdDate(OffsetDateTime createdDate) { + + this.createdDate = createdDate; + return this; + } + + /** + * Timestamp at which point the coupon was created. + * @return createdDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2024-07-24T14:15:22Z", value = "Timestamp at which point the coupon was created.") + + public OffsetDateTime getCreatedDate() { + return createdDate; + } + + + public void setCreatedDate(OffsetDateTime createdDate) { + this.createdDate = createdDate; + } + + + public ExpiringCouponsData validFrom(OffsetDateTime validFrom) { + + this.validFrom = validFrom; + return this; + } + + /** + * Timestamp at which point the coupon becomes valid. + * @return validFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2024-10-24T14:15:22Z", value = "Timestamp at which point the coupon becomes valid.") + + public OffsetDateTime getValidFrom() { + return validFrom; + } + + + public void setValidFrom(OffsetDateTime validFrom) { + this.validFrom = validFrom; + } + + + public ExpiringCouponsData validUntil(OffsetDateTime validUntil) { + + this.validUntil = validUntil; + return this; + } + + /** + * Timestamp at which point the coupon expires. Coupon never expires if this is omitted, zero, or negative. + * @return validUntil + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2024-12-24T14:15:22Z", value = "Timestamp at which point the coupon expires. Coupon never expires if this is omitted, zero, or negative.") + + public OffsetDateTime getValidUntil() { + return validUntil; + } + + + public void setValidUntil(OffsetDateTime validUntil) { + this.validUntil = validUntil; + } + + + public ExpiringCouponsData campaignId(Long campaignId) { + + this.campaignId = campaignId; + return this; + } + + /** + * The ID of the campaign to which the coupon belongs. + * minimum: 1 + * @return campaignId + **/ + @ApiModelProperty(example = "3", required = true, value = "The ID of the campaign to which the coupon belongs.") + + public Long getCampaignId() { + return campaignId; + } + + + public void setCampaignId(Long campaignId) { + this.campaignId = campaignId; + } + + + public ExpiringCouponsData customerProfileId(String customerProfileId) { + + this.customerProfileId = customerProfileId; + return this; + } + + /** + * The Integration ID of the customer that is allowed to redeem this coupon. + * @return customerProfileId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "URNGV8294NV", value = "The Integration ID of the customer that is allowed to redeem this coupon.") + + public String getCustomerProfileId() { + return customerProfileId; + } + + + public void setCustomerProfileId(String customerProfileId) { + this.customerProfileId = customerProfileId; + } + + + public ExpiringCouponsData usageLimit(Long usageLimit) { + + this.usageLimit = usageLimit; + return this; + } + + /** + * The number of times the coupon code can be redeemed. `0` means unlimited redemptions but any campaign usage limits will still apply. + * minimum: 0 + * maximum: 999999 + * @return usageLimit + **/ + @ApiModelProperty(example = "100", required = true, value = "The number of times the coupon code can be redeemed. `0` means unlimited redemptions but any campaign usage limits will still apply. ") + + public Long getUsageLimit() { + return usageLimit; + } + + + public void setUsageLimit(Long usageLimit) { + this.usageLimit = usageLimit; + } + + + public ExpiringCouponsData usageCounter(Long usageCounter) { + + this.usageCounter = usageCounter; + return this; + } + + /** + * The number of times the coupon has been successfully redeemed. + * @return usageCounter + **/ + @ApiModelProperty(example = "10", required = true, value = "The number of times the coupon has been successfully redeemed.") + + public Long getUsageCounter() { + return usageCounter; + } + + + public void setUsageCounter(Long usageCounter) { + this.usageCounter = usageCounter; + } + + + public ExpiringCouponsData batchId(String batchId) { + + this.batchId = batchId; + return this; + } + + /** + * The ID of the batch the coupon belongs to. + * @return batchId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "32535-43255", value = "The ID of the batch the coupon belongs to.") + + public String getBatchId() { + return batchId; + } + + + public void setBatchId(String batchId) { + this.batchId = batchId; + } + + + public ExpiringCouponsData attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Custom attributes associated with this coupon. + * @return attributes + **/ + @ApiModelProperty(required = true, value = "Custom attributes associated with this coupon.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ExpiringCouponsData expiringCouponsData = (ExpiringCouponsData) o; + return Objects.equals(this.couponValue, expiringCouponsData.couponValue) && + Objects.equals(this.createdDate, expiringCouponsData.createdDate) && + Objects.equals(this.validFrom, expiringCouponsData.validFrom) && + Objects.equals(this.validUntil, expiringCouponsData.validUntil) && + Objects.equals(this.campaignId, expiringCouponsData.campaignId) && + Objects.equals(this.customerProfileId, expiringCouponsData.customerProfileId) && + Objects.equals(this.usageLimit, expiringCouponsData.usageLimit) && + Objects.equals(this.usageCounter, expiringCouponsData.usageCounter) && + Objects.equals(this.batchId, expiringCouponsData.batchId) && + Objects.equals(this.attributes, expiringCouponsData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(couponValue, createdDate, validFrom, validUntil, campaignId, customerProfileId, usageLimit, usageCounter, batchId, attributes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ExpiringCouponsData {\n"); + sb.append(" couponValue: ").append(toIndentedString(couponValue)).append("\n"); + sb.append(" createdDate: ").append(toIndentedString(createdDate)).append("\n"); + sb.append(" validFrom: ").append(toIndentedString(validFrom)).append("\n"); + sb.append(" validUntil: ").append(toIndentedString(validUntil)).append("\n"); + sb.append(" campaignId: ").append(toIndentedString(campaignId)).append("\n"); + sb.append(" customerProfileId: ").append(toIndentedString(customerProfileId)).append("\n"); + sb.append(" usageLimit: ").append(toIndentedString(usageLimit)).append("\n"); + sb.append(" usageCounter: ").append(toIndentedString(usageCounter)).append("\n"); + sb.append(" batchId: ").append(toIndentedString(batchId)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/ExpiringCouponsNotification.java b/src/main/java/one/talon/model/ExpiringCouponsNotification.java new file mode 100644 index 00000000..bd530ff0 --- /dev/null +++ b/src/main/java/one/talon/model/ExpiringCouponsNotification.java @@ -0,0 +1,207 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.ExpiringCouponsData; + +/** + * ExpiringCouponsNotification + */ + +public class ExpiringCouponsNotification { + public static final String SERIALIZED_NAME_TOTAL_RESULT_SIZE = "TotalResultSize"; + @SerializedName(SERIALIZED_NAME_TOTAL_RESULT_SIZE) + private Long totalResultSize; + + public static final String SERIALIZED_NAME_DATA = "Data"; + @SerializedName(SERIALIZED_NAME_DATA) + private List data = new ArrayList(); + + /** + * The type of notification. + */ + @JsonAdapter(NotificationTypeEnum.Adapter.class) + public enum NotificationTypeEnum { + COUPONCODEEXPIRING("CouponCodeExpiring"); + + private String value; + + NotificationTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static NotificationTypeEnum fromValue(String value) { + for (NotificationTypeEnum b : NotificationTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final NotificationTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public NotificationTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return NotificationTypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_NOTIFICATION_TYPE = "NotificationType"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE) + private NotificationTypeEnum notificationType; + + + public ExpiringCouponsNotification totalResultSize(Long totalResultSize) { + + this.totalResultSize = totalResultSize; + return this; + } + + /** + * Get totalResultSize + * @return totalResultSize + **/ + @ApiModelProperty(example = "1", required = true, value = "") + + public Long getTotalResultSize() { + return totalResultSize; + } + + + public void setTotalResultSize(Long totalResultSize) { + this.totalResultSize = totalResultSize; + } + + + public ExpiringCouponsNotification data(List data) { + + this.data = data; + return this; + } + + public ExpiringCouponsNotification addDataItem(ExpiringCouponsData dataItem) { + this.data.add(dataItem); + return this; + } + + /** + * The array of expiring coupon notifications. + * @return data + **/ + @ApiModelProperty(required = true, value = "The array of expiring coupon notifications.") + + public List getData() { + return data; + } + + + public void setData(List data) { + this.data = data; + } + + + public ExpiringCouponsNotification notificationType(NotificationTypeEnum notificationType) { + + this.notificationType = notificationType; + return this; + } + + /** + * The type of notification. + * @return notificationType + **/ + @ApiModelProperty(required = true, value = "The type of notification.") + + public NotificationTypeEnum getNotificationType() { + return notificationType; + } + + + public void setNotificationType(NotificationTypeEnum notificationType) { + this.notificationType = notificationType; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ExpiringCouponsNotification expiringCouponsNotification = (ExpiringCouponsNotification) o; + return Objects.equals(this.totalResultSize, expiringCouponsNotification.totalResultSize) && + Objects.equals(this.data, expiringCouponsNotification.data) && + Objects.equals(this.notificationType, expiringCouponsNotification.notificationType); + } + + @Override + public int hashCode() { + return Objects.hash(totalResultSize, data, notificationType); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ExpiringCouponsNotification {\n"); + sb.append(" totalResultSize: ").append(toIndentedString(totalResultSize)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" notificationType: ").append(toIndentedString(notificationType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/ExpiringPointsData.java b/src/main/java/one/talon/model/ExpiringPointsData.java new file mode 100644 index 00000000..eed55935 --- /dev/null +++ b/src/main/java/one/talon/model/ExpiringPointsData.java @@ -0,0 +1,213 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import org.threeten.bp.LocalDate; + +/** + * ExpiringPointsData + */ + +public class ExpiringPointsData { + public static final String SERIALIZED_NAME_EXPIRY_DATE = "ExpiryDate"; + @SerializedName(SERIALIZED_NAME_EXPIRY_DATE) + private LocalDate expiryDate; + + public static final String SERIALIZED_NAME_LOYALTY_PROGRAM_I_D = "LoyaltyProgramID"; + @SerializedName(SERIALIZED_NAME_LOYALTY_PROGRAM_I_D) + private Long loyaltyProgramID; + + public static final String SERIALIZED_NAME_CUSTOMER_PROFILE_I_D = "CustomerProfileID"; + @SerializedName(SERIALIZED_NAME_CUSTOMER_PROFILE_I_D) + private String customerProfileID; + + public static final String SERIALIZED_NAME_AMOUNT_OF_EXPIRING_POINTS = "AmountOfExpiringPoints"; + @SerializedName(SERIALIZED_NAME_AMOUNT_OF_EXPIRING_POINTS) + private BigDecimal amountOfExpiringPoints; + + public static final String SERIALIZED_NAME_SUBLEDGER_I_D = "SubledgerID"; + @SerializedName(SERIALIZED_NAME_SUBLEDGER_I_D) + private String subledgerID; + + + public ExpiringPointsData expiryDate(LocalDate expiryDate) { + + this.expiryDate = expiryDate; + return this; + } + + /** + * The expiration date of loyalty points. + * @return expiryDate + **/ + @ApiModelProperty(required = true, value = "The expiration date of loyalty points.") + + public LocalDate getExpiryDate() { + return expiryDate; + } + + + public void setExpiryDate(LocalDate expiryDate) { + this.expiryDate = expiryDate; + } + + + public ExpiringPointsData loyaltyProgramID(Long loyaltyProgramID) { + + this.loyaltyProgramID = loyaltyProgramID; + return this; + } + + /** + * The ID of the loyalty program. + * minimum: 1 + * @return loyaltyProgramID + **/ + @ApiModelProperty(example = "5", required = true, value = "The ID of the loyalty program.") + + public Long getLoyaltyProgramID() { + return loyaltyProgramID; + } + + + public void setLoyaltyProgramID(Long loyaltyProgramID) { + this.loyaltyProgramID = loyaltyProgramID; + } + + + public ExpiringPointsData customerProfileID(String customerProfileID) { + + this.customerProfileID = customerProfileID; + return this; + } + + /** + * The integration ID of the customer profile that has expiring points. + * @return customerProfileID + **/ + @ApiModelProperty(example = "URNGV8294NV", required = true, value = "The integration ID of the customer profile that has expiring points.") + + public String getCustomerProfileID() { + return customerProfileID; + } + + + public void setCustomerProfileID(String customerProfileID) { + this.customerProfileID = customerProfileID; + } + + + public ExpiringPointsData amountOfExpiringPoints(BigDecimal amountOfExpiringPoints) { + + this.amountOfExpiringPoints = amountOfExpiringPoints; + return this; + } + + /** + * The amount of loyalty points that will be expired soon. + * @return amountOfExpiringPoints + **/ + @ApiModelProperty(example = "10.99", required = true, value = "The amount of loyalty points that will be expired soon.") + + public BigDecimal getAmountOfExpiringPoints() { + return amountOfExpiringPoints; + } + + + public void setAmountOfExpiringPoints(BigDecimal amountOfExpiringPoints) { + this.amountOfExpiringPoints = amountOfExpiringPoints; + } + + + public ExpiringPointsData subledgerID(String subledgerID) { + + this.subledgerID = subledgerID; + return this; + } + + /** + * The ID of the subledger within the loyalty program where these points were added. + * @return subledgerID + **/ + @ApiModelProperty(example = "sub-123", required = true, value = "The ID of the subledger within the loyalty program where these points were added.") + + public String getSubledgerID() { + return subledgerID; + } + + + public void setSubledgerID(String subledgerID) { + this.subledgerID = subledgerID; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ExpiringPointsData expiringPointsData = (ExpiringPointsData) o; + return Objects.equals(this.expiryDate, expiringPointsData.expiryDate) && + Objects.equals(this.loyaltyProgramID, expiringPointsData.loyaltyProgramID) && + Objects.equals(this.customerProfileID, expiringPointsData.customerProfileID) && + Objects.equals(this.amountOfExpiringPoints, expiringPointsData.amountOfExpiringPoints) && + Objects.equals(this.subledgerID, expiringPointsData.subledgerID); + } + + @Override + public int hashCode() { + return Objects.hash(expiryDate, loyaltyProgramID, customerProfileID, amountOfExpiringPoints, subledgerID); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ExpiringPointsData {\n"); + sb.append(" expiryDate: ").append(toIndentedString(expiryDate)).append("\n"); + sb.append(" loyaltyProgramID: ").append(toIndentedString(loyaltyProgramID)).append("\n"); + sb.append(" customerProfileID: ").append(toIndentedString(customerProfileID)).append("\n"); + sb.append(" amountOfExpiringPoints: ").append(toIndentedString(amountOfExpiringPoints)).append("\n"); + sb.append(" subledgerID: ").append(toIndentedString(subledgerID)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/ExpiringPointsNotification.java b/src/main/java/one/talon/model/ExpiringPointsNotification.java new file mode 100644 index 00000000..3de4b454 --- /dev/null +++ b/src/main/java/one/talon/model/ExpiringPointsNotification.java @@ -0,0 +1,207 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.ExpiringPointsData; + +/** + * ExpiringPointsNotification + */ + +public class ExpiringPointsNotification { + public static final String SERIALIZED_NAME_TOTAL_RESULT_SIZE = "TotalResultSize"; + @SerializedName(SERIALIZED_NAME_TOTAL_RESULT_SIZE) + private Long totalResultSize; + + public static final String SERIALIZED_NAME_DATA = "Data"; + @SerializedName(SERIALIZED_NAME_DATA) + private List data = new ArrayList(); + + /** + * The type of notification. + */ + @JsonAdapter(NotificationTypeEnum.Adapter.class) + public enum NotificationTypeEnum { + LOYALTYPOINTSEXPIRING("LoyaltyPointsExpiring"); + + private String value; + + NotificationTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static NotificationTypeEnum fromValue(String value) { + for (NotificationTypeEnum b : NotificationTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final NotificationTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public NotificationTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return NotificationTypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_NOTIFICATION_TYPE = "NotificationType"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE) + private NotificationTypeEnum notificationType; + + + public ExpiringPointsNotification totalResultSize(Long totalResultSize) { + + this.totalResultSize = totalResultSize; + return this; + } + + /** + * Get totalResultSize + * @return totalResultSize + **/ + @ApiModelProperty(example = "1", required = true, value = "") + + public Long getTotalResultSize() { + return totalResultSize; + } + + + public void setTotalResultSize(Long totalResultSize) { + this.totalResultSize = totalResultSize; + } + + + public ExpiringPointsNotification data(List data) { + + this.data = data; + return this; + } + + public ExpiringPointsNotification addDataItem(ExpiringPointsData dataItem) { + this.data.add(dataItem); + return this; + } + + /** + * The array of expiring points. + * @return data + **/ + @ApiModelProperty(required = true, value = "The array of expiring points.") + + public List getData() { + return data; + } + + + public void setData(List data) { + this.data = data; + } + + + public ExpiringPointsNotification notificationType(NotificationTypeEnum notificationType) { + + this.notificationType = notificationType; + return this; + } + + /** + * The type of notification. + * @return notificationType + **/ + @ApiModelProperty(required = true, value = "The type of notification.") + + public NotificationTypeEnum getNotificationType() { + return notificationType; + } + + + public void setNotificationType(NotificationTypeEnum notificationType) { + this.notificationType = notificationType; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ExpiringPointsNotification expiringPointsNotification = (ExpiringPointsNotification) o; + return Objects.equals(this.totalResultSize, expiringPointsNotification.totalResultSize) && + Objects.equals(this.data, expiringPointsNotification.data) && + Objects.equals(this.notificationType, expiringPointsNotification.notificationType); + } + + @Override + public int hashCode() { + return Objects.hash(totalResultSize, data, notificationType); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ExpiringPointsNotification {\n"); + sb.append(" totalResultSize: ").append(toIndentedString(totalResultSize)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" notificationType: ").append(toIndentedString(notificationType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/Export.java b/src/main/java/one/talon/model/Export.java index 182abe03..5f73e868 100644 --- a/src/main/java/one/talon/model/Export.java +++ b/src/main/java/one/talon/model/Export.java @@ -119,10 +119,10 @@ public Export id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/ExtendLoyaltyPointsExpiryDateEffectProps.java b/src/main/java/one/talon/model/ExtendLoyaltyPointsExpiryDateEffectProps.java new file mode 100644 index 00000000..c0f15c2c --- /dev/null +++ b/src/main/java/one/talon/model/ExtendLoyaltyPointsExpiryDateEffectProps.java @@ -0,0 +1,223 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import org.threeten.bp.OffsetDateTime; + +/** + * 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. + */ +@ApiModel(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. ") + +public class ExtendLoyaltyPointsExpiryDateEffectProps { + public static final String SERIALIZED_NAME_PROGRAM_ID = "programId"; + @SerializedName(SERIALIZED_NAME_PROGRAM_ID) + private Long programId; + + public static final String SERIALIZED_NAME_SUB_LEDGER_ID = "subLedgerId"; + @SerializedName(SERIALIZED_NAME_SUB_LEDGER_ID) + private String subLedgerId; + + public static final String SERIALIZED_NAME_EXTENSION_DURATION = "extensionDuration"; + @SerializedName(SERIALIZED_NAME_EXTENSION_DURATION) + private String extensionDuration; + + public static final String SERIALIZED_NAME_TRANSACTION_U_U_I_DS = "transactionUUIDs"; + @SerializedName(SERIALIZED_NAME_TRANSACTION_U_U_I_DS) + private List transactionUUIDs = null; + + public static final String SERIALIZED_NAME_PREVIOUS_EXPIRATION_DATE = "previousExpirationDate"; + @SerializedName(SERIALIZED_NAME_PREVIOUS_EXPIRATION_DATE) + private OffsetDateTime previousExpirationDate; + + + public ExtendLoyaltyPointsExpiryDateEffectProps programId(Long programId) { + + this.programId = programId; + return this; + } + + /** + * ID of the loyalty program that contains these points. + * @return programId + **/ + @ApiModelProperty(required = true, value = "ID of the loyalty program that contains these points.") + + public Long getProgramId() { + return programId; + } + + + public void setProgramId(Long programId) { + this.programId = programId; + } + + + public ExtendLoyaltyPointsExpiryDateEffectProps subLedgerId(String subLedgerId) { + + this.subLedgerId = subLedgerId; + return this; + } + + /** + * API name of the loyalty program subledger that contains these points. added. + * @return subLedgerId + **/ + @ApiModelProperty(required = true, value = "API name of the loyalty program subledger that contains these points. added.") + + public String getSubLedgerId() { + return subLedgerId; + } + + + public void setSubLedgerId(String subLedgerId) { + this.subLedgerId = subLedgerId; + } + + + public ExtendLoyaltyPointsExpiryDateEffectProps extensionDuration(String extensionDuration) { + + this.extensionDuration = extensionDuration; + return this; + } + + /** + * 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. + * @return extensionDuration + **/ + @ApiModelProperty(example = "12h", required = true, value = "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. ") + + public String getExtensionDuration() { + return extensionDuration; + } + + + public void setExtensionDuration(String extensionDuration) { + this.extensionDuration = extensionDuration; + } + + + public ExtendLoyaltyPointsExpiryDateEffectProps transactionUUIDs(List transactionUUIDs) { + + this.transactionUUIDs = transactionUUIDs; + return this; + } + + public ExtendLoyaltyPointsExpiryDateEffectProps addTransactionUUIDsItem(String transactionUUIDsItem) { + if (this.transactionUUIDs == null) { + this.transactionUUIDs = new ArrayList(); + } + this.transactionUUIDs.add(transactionUUIDsItem); + return this; + } + + /** + * The list of identifiers of transactions affected affected by the extension. + * @return transactionUUIDs + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The list of identifiers of transactions affected affected by the extension.") + + public List getTransactionUUIDs() { + return transactionUUIDs; + } + + + public void setTransactionUUIDs(List transactionUUIDs) { + this.transactionUUIDs = transactionUUIDs; + } + + + public ExtendLoyaltyPointsExpiryDateEffectProps previousExpirationDate(OffsetDateTime previousExpirationDate) { + + this.previousExpirationDate = previousExpirationDate; + return this; + } + + /** + * Expiry date before applying the extension. + * @return previousExpirationDate + **/ + @ApiModelProperty(required = true, value = "Expiry date before applying the extension.") + + public OffsetDateTime getPreviousExpirationDate() { + return previousExpirationDate; + } + + + public void setPreviousExpirationDate(OffsetDateTime previousExpirationDate) { + this.previousExpirationDate = previousExpirationDate; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ExtendLoyaltyPointsExpiryDateEffectProps extendLoyaltyPointsExpiryDateEffectProps = (ExtendLoyaltyPointsExpiryDateEffectProps) o; + return Objects.equals(this.programId, extendLoyaltyPointsExpiryDateEffectProps.programId) && + Objects.equals(this.subLedgerId, extendLoyaltyPointsExpiryDateEffectProps.subLedgerId) && + Objects.equals(this.extensionDuration, extendLoyaltyPointsExpiryDateEffectProps.extensionDuration) && + Objects.equals(this.transactionUUIDs, extendLoyaltyPointsExpiryDateEffectProps.transactionUUIDs) && + Objects.equals(this.previousExpirationDate, extendLoyaltyPointsExpiryDateEffectProps.previousExpirationDate); + } + + @Override + public int hashCode() { + return Objects.hash(programId, subLedgerId, extensionDuration, transactionUUIDs, previousExpirationDate); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ExtendLoyaltyPointsExpiryDateEffectProps {\n"); + sb.append(" programId: ").append(toIndentedString(programId)).append("\n"); + sb.append(" subLedgerId: ").append(toIndentedString(subLedgerId)).append("\n"); + sb.append(" extensionDuration: ").append(toIndentedString(extensionDuration)).append("\n"); + sb.append(" transactionUUIDs: ").append(toIndentedString(transactionUUIDs)).append("\n"); + sb.append(" previousExpirationDate: ").append(toIndentedString(previousExpirationDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/ExtendedCoupon.java b/src/main/java/one/talon/model/ExtendedCoupon.java new file mode 100644 index 00000000..9a93feaf --- /dev/null +++ b/src/main/java/one/talon/model/ExtendedCoupon.java @@ -0,0 +1,749 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.LimitConfig; +import org.threeten.bp.OffsetDateTime; + +/** + * ExtendedCoupon + */ + +public class ExtendedCoupon { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private Long id; + + public static final String SERIALIZED_NAME_CREATED = "created"; + @SerializedName(SERIALIZED_NAME_CREATED) + private OffsetDateTime created; + + public static final String SERIALIZED_NAME_CAMPAIGN_ID = "campaignId"; + @SerializedName(SERIALIZED_NAME_CAMPAIGN_ID) + private Long campaignId; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + public static final String SERIALIZED_NAME_USAGE_LIMIT = "usageLimit"; + @SerializedName(SERIALIZED_NAME_USAGE_LIMIT) + private Long usageLimit; + + public static final String SERIALIZED_NAME_DISCOUNT_LIMIT = "discountLimit"; + @SerializedName(SERIALIZED_NAME_DISCOUNT_LIMIT) + private BigDecimal discountLimit; + + public static final String SERIALIZED_NAME_RESERVATION_LIMIT = "reservationLimit"; + @SerializedName(SERIALIZED_NAME_RESERVATION_LIMIT) + private Long reservationLimit; + + public static final String SERIALIZED_NAME_START_DATE = "startDate"; + @SerializedName(SERIALIZED_NAME_START_DATE) + private OffsetDateTime startDate; + + public static final String SERIALIZED_NAME_EXPIRY_DATE = "expiryDate"; + @SerializedName(SERIALIZED_NAME_EXPIRY_DATE) + private OffsetDateTime expiryDate; + + public static final String SERIALIZED_NAME_LIMITS = "limits"; + @SerializedName(SERIALIZED_NAME_LIMITS) + private List limits = null; + + public static final String SERIALIZED_NAME_USAGE_COUNTER = "usageCounter"; + @SerializedName(SERIALIZED_NAME_USAGE_COUNTER) + private Long usageCounter; + + public static final String SERIALIZED_NAME_DISCOUNT_COUNTER = "discountCounter"; + @SerializedName(SERIALIZED_NAME_DISCOUNT_COUNTER) + private BigDecimal discountCounter; + + public static final String SERIALIZED_NAME_DISCOUNT_REMAINDER = "discountRemainder"; + @SerializedName(SERIALIZED_NAME_DISCOUNT_REMAINDER) + private BigDecimal discountRemainder; + + public static final String SERIALIZED_NAME_RESERVATION_COUNTER = "reservationCounter"; + @SerializedName(SERIALIZED_NAME_RESERVATION_COUNTER) + private BigDecimal reservationCounter; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_REFERRAL_ID = "referralId"; + @SerializedName(SERIALIZED_NAME_REFERRAL_ID) + private Long referralId; + + public static final String SERIALIZED_NAME_RECIPIENT_INTEGRATION_ID = "recipientIntegrationId"; + @SerializedName(SERIALIZED_NAME_RECIPIENT_INTEGRATION_ID) + private String recipientIntegrationId; + + public static final String SERIALIZED_NAME_IMPORT_ID = "importId"; + @SerializedName(SERIALIZED_NAME_IMPORT_ID) + private Long importId; + + public static final String SERIALIZED_NAME_RESERVATION = "reservation"; + @SerializedName(SERIALIZED_NAME_RESERVATION) + private Boolean reservation = true; + + public static final String SERIALIZED_NAME_BATCH_ID = "batchId"; + @SerializedName(SERIALIZED_NAME_BATCH_ID) + private String batchId; + + public static final String SERIALIZED_NAME_IS_RESERVATION_MANDATORY = "isReservationMandatory"; + @SerializedName(SERIALIZED_NAME_IS_RESERVATION_MANDATORY) + private Boolean isReservationMandatory = false; + + public static final String SERIALIZED_NAME_IMPLICITLY_RESERVED = "implicitlyReserved"; + @SerializedName(SERIALIZED_NAME_IMPLICITLY_RESERVED) + private Boolean implicitlyReserved; + + public static final String SERIALIZED_NAME_APPLICATION_ID = "ApplicationId"; + @SerializedName(SERIALIZED_NAME_APPLICATION_ID) + private Long applicationId; + + + public ExtendedCoupon id(Long id) { + + this.id = id; + return this; + } + + /** + * The internal ID of the coupon. + * @return id + **/ + @ApiModelProperty(example = "6", required = true, value = "The internal ID of the coupon.") + + public Long getId() { + return id; + } + + + public void setId(Long id) { + this.id = id; + } + + + public ExtendedCoupon created(OffsetDateTime created) { + + this.created = created; + return this; + } + + /** + * The time the coupon was created. + * @return created + **/ + @ApiModelProperty(example = "2020-06-10T09:05:27.993483Z", required = true, value = "The time the coupon was created.") + + public OffsetDateTime getCreated() { + return created; + } + + + public void setCreated(OffsetDateTime created) { + this.created = created; + } + + + public ExtendedCoupon campaignId(Long campaignId) { + + this.campaignId = campaignId; + return this; + } + + /** + * The ID of the campaign that owns this entity. + * @return campaignId + **/ + @ApiModelProperty(example = "211", required = true, value = "The ID of the campaign that owns this entity.") + + public Long getCampaignId() { + return campaignId; + } + + + public void setCampaignId(Long campaignId) { + this.campaignId = campaignId; + } + + + public ExtendedCoupon value(String value) { + + this.value = value; + return this; + } + + /** + * The coupon code. + * @return value + **/ + @ApiModelProperty(example = "XMAS-20-2021", required = true, value = "The coupon code.") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + public ExtendedCoupon usageLimit(Long usageLimit) { + + this.usageLimit = usageLimit; + return this; + } + + /** + * The number of times the coupon code can be redeemed. `0` means unlimited redemptions but any campaign usage limits will still apply. + * minimum: 0 + * maximum: 999999 + * @return usageLimit + **/ + @ApiModelProperty(example = "100", required = true, value = "The number of times the coupon code can be redeemed. `0` means unlimited redemptions but any campaign usage limits will still apply. ") + + public Long getUsageLimit() { + return usageLimit; + } + + + public void setUsageLimit(Long usageLimit) { + this.usageLimit = usageLimit; + } + + + public ExtendedCoupon discountLimit(BigDecimal discountLimit) { + + this.discountLimit = discountLimit; + return this; + } + + /** + * The total discount value that the code can give. Typically used to represent a gift card value. + * minimum: 0 + * maximum: 1E+15 + * @return discountLimit + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "30.0", value = "The total discount value that the code can give. Typically used to represent a gift card value. ") + + public BigDecimal getDiscountLimit() { + return discountLimit; + } + + + public void setDiscountLimit(BigDecimal discountLimit) { + this.discountLimit = discountLimit; + } + + + public ExtendedCoupon reservationLimit(Long reservationLimit) { + + this.reservationLimit = reservationLimit; + return this; + } + + /** + * The number of reservations that can be made with this coupon code. + * minimum: 0 + * maximum: 999999 + * @return reservationLimit + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "45", value = "The number of reservations that can be made with this coupon code. ") + + public Long getReservationLimit() { + return reservationLimit; + } + + + public void setReservationLimit(Long reservationLimit) { + this.reservationLimit = reservationLimit; + } + + + public ExtendedCoupon startDate(OffsetDateTime startDate) { + + this.startDate = startDate; + return this; + } + + /** + * Timestamp at which point the coupon becomes valid. + * @return startDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2020-01-24T14:15:22Z", value = "Timestamp at which point the coupon becomes valid.") + + public OffsetDateTime getStartDate() { + return startDate; + } + + + public void setStartDate(OffsetDateTime startDate) { + this.startDate = startDate; + } + + + public ExtendedCoupon expiryDate(OffsetDateTime expiryDate) { + + this.expiryDate = expiryDate; + return this; + } + + /** + * Expiration date of the coupon. Coupon never expires if this is omitted. + * @return expiryDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2023-08-24T14:15:22Z", value = "Expiration date of the coupon. Coupon never expires if this is omitted.") + + public OffsetDateTime getExpiryDate() { + return expiryDate; + } + + + public void setExpiryDate(OffsetDateTime expiryDate) { + this.expiryDate = expiryDate; + } + + + public ExtendedCoupon limits(List limits) { + + this.limits = limits; + return this; + } + + public ExtendedCoupon addLimitsItem(LimitConfig limitsItem) { + if (this.limits == null) { + this.limits = new ArrayList(); + } + this.limits.add(limitsItem); + return this; + } + + /** + * 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. + * @return limits + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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. ") + + public List getLimits() { + return limits; + } + + + public void setLimits(List limits) { + this.limits = limits; + } + + + public ExtendedCoupon usageCounter(Long usageCounter) { + + this.usageCounter = usageCounter; + return this; + } + + /** + * The number of times the coupon has been successfully redeemed. + * @return usageCounter + **/ + @ApiModelProperty(example = "10", required = true, value = "The number of times the coupon has been successfully redeemed.") + + public Long getUsageCounter() { + return usageCounter; + } + + + public void setUsageCounter(Long usageCounter) { + this.usageCounter = usageCounter; + } + + + public ExtendedCoupon discountCounter(BigDecimal discountCounter) { + + this.discountCounter = discountCounter; + return this; + } + + /** + * The amount of discounts given on rules redeeming this coupon. Only usable if a coupon discount budget was set for this coupon. + * @return discountCounter + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "10.0", value = "The amount of discounts given on rules redeeming this coupon. Only usable if a coupon discount budget was set for this coupon.") + + public BigDecimal getDiscountCounter() { + return discountCounter; + } + + + public void setDiscountCounter(BigDecimal discountCounter) { + this.discountCounter = discountCounter; + } + + + public ExtendedCoupon discountRemainder(BigDecimal discountRemainder) { + + this.discountRemainder = discountRemainder; + return this; + } + + /** + * The remaining discount this coupon can give. + * @return discountRemainder + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "5.0", value = "The remaining discount this coupon can give.") + + public BigDecimal getDiscountRemainder() { + return discountRemainder; + } + + + public void setDiscountRemainder(BigDecimal discountRemainder) { + this.discountRemainder = discountRemainder; + } + + + public ExtendedCoupon reservationCounter(BigDecimal reservationCounter) { + + this.reservationCounter = reservationCounter; + return this; + } + + /** + * The number of times this coupon has been reserved. + * @return reservationCounter + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1.0", value = "The number of times this coupon has been reserved.") + + public BigDecimal getReservationCounter() { + return reservationCounter; + } + + + public void setReservationCounter(BigDecimal reservationCounter) { + this.reservationCounter = reservationCounter; + } + + + public ExtendedCoupon attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Custom attributes associated with this coupon. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Custom attributes associated with this coupon.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public ExtendedCoupon referralId(Long referralId) { + + this.referralId = referralId; + return this; + } + + /** + * The integration ID of the referring customer (if any) for whom this coupon was created as an effect. + * @return referralId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "326632952", value = "The integration ID of the referring customer (if any) for whom this coupon was created as an effect.") + + public Long getReferralId() { + return referralId; + } + + + public void setReferralId(Long referralId) { + this.referralId = referralId; + } + + + public ExtendedCoupon recipientIntegrationId(String recipientIntegrationId) { + + this.recipientIntegrationId = recipientIntegrationId; + return this; + } + + /** + * The Integration ID of the customer that is allowed to redeem this coupon. + * @return recipientIntegrationId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "URNGV8294NV", value = "The Integration ID of the customer that is allowed to redeem this coupon.") + + public String getRecipientIntegrationId() { + return recipientIntegrationId; + } + + + public void setRecipientIntegrationId(String recipientIntegrationId) { + this.recipientIntegrationId = recipientIntegrationId; + } + + + public ExtendedCoupon importId(Long importId) { + + this.importId = importId; + return this; + } + + /** + * The ID of the Import which created this coupon. + * @return importId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "4", value = "The ID of the Import which created this coupon.") + + public Long getImportId() { + return importId; + } + + + public void setImportId(Long importId) { + this.importId = importId; + } + + + public ExtendedCoupon reservation(Boolean reservation) { + + this.reservation = reservation; + return this; + } + + /** + * 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. + * @return reservation + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "false", value = "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. ") + + public Boolean getReservation() { + return reservation; + } + + + public void setReservation(Boolean reservation) { + this.reservation = reservation; + } + + + public ExtendedCoupon batchId(String batchId) { + + this.batchId = batchId; + return this; + } + + /** + * The id of the batch the coupon belongs to. + * @return batchId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "32535-43255", value = "The id of the batch the coupon belongs to.") + + public String getBatchId() { + return batchId; + } + + + public void setBatchId(String batchId) { + this.batchId = batchId; + } + + + public ExtendedCoupon isReservationMandatory(Boolean isReservationMandatory) { + + this.isReservationMandatory = isReservationMandatory; + return this; + } + + /** + * An indication of whether the code can be redeemed only if it has been reserved first. + * @return isReservationMandatory + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "false", value = "An indication of whether the code can be redeemed only if it has been reserved first.") + + public Boolean getIsReservationMandatory() { + return isReservationMandatory; + } + + + public void setIsReservationMandatory(Boolean isReservationMandatory) { + this.isReservationMandatory = isReservationMandatory; + } + + + public ExtendedCoupon implicitlyReserved(Boolean implicitlyReserved) { + + this.implicitlyReserved = implicitlyReserved; + return this; + } + + /** + * An indication of whether the coupon is implicitly reserved for all customers. + * @return implicitlyReserved + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "false", value = "An indication of whether the coupon is implicitly reserved for all customers.") + + public Boolean getImplicitlyReserved() { + return implicitlyReserved; + } + + + public void setImplicitlyReserved(Boolean implicitlyReserved) { + this.implicitlyReserved = implicitlyReserved; + } + + + public ExtendedCoupon applicationId(Long applicationId) { + + this.applicationId = applicationId; + return this; + } + + /** + * The ID of the application. + * @return applicationId + **/ + @ApiModelProperty(required = true, value = "The ID of the application.") + + public Long getApplicationId() { + return applicationId; + } + + + public void setApplicationId(Long applicationId) { + this.applicationId = applicationId; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ExtendedCoupon extendedCoupon = (ExtendedCoupon) o; + return Objects.equals(this.id, extendedCoupon.id) && + Objects.equals(this.created, extendedCoupon.created) && + Objects.equals(this.campaignId, extendedCoupon.campaignId) && + Objects.equals(this.value, extendedCoupon.value) && + Objects.equals(this.usageLimit, extendedCoupon.usageLimit) && + Objects.equals(this.discountLimit, extendedCoupon.discountLimit) && + Objects.equals(this.reservationLimit, extendedCoupon.reservationLimit) && + Objects.equals(this.startDate, extendedCoupon.startDate) && + Objects.equals(this.expiryDate, extendedCoupon.expiryDate) && + Objects.equals(this.limits, extendedCoupon.limits) && + Objects.equals(this.usageCounter, extendedCoupon.usageCounter) && + Objects.equals(this.discountCounter, extendedCoupon.discountCounter) && + Objects.equals(this.discountRemainder, extendedCoupon.discountRemainder) && + Objects.equals(this.reservationCounter, extendedCoupon.reservationCounter) && + Objects.equals(this.attributes, extendedCoupon.attributes) && + Objects.equals(this.referralId, extendedCoupon.referralId) && + Objects.equals(this.recipientIntegrationId, extendedCoupon.recipientIntegrationId) && + Objects.equals(this.importId, extendedCoupon.importId) && + Objects.equals(this.reservation, extendedCoupon.reservation) && + Objects.equals(this.batchId, extendedCoupon.batchId) && + Objects.equals(this.isReservationMandatory, extendedCoupon.isReservationMandatory) && + Objects.equals(this.implicitlyReserved, extendedCoupon.implicitlyReserved) && + Objects.equals(this.applicationId, extendedCoupon.applicationId); + } + + @Override + public int hashCode() { + return Objects.hash(id, created, campaignId, value, usageLimit, discountLimit, reservationLimit, startDate, expiryDate, limits, usageCounter, discountCounter, discountRemainder, reservationCounter, attributes, referralId, recipientIntegrationId, importId, reservation, batchId, isReservationMandatory, implicitlyReserved, applicationId); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ExtendedCoupon {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" created: ").append(toIndentedString(created)).append("\n"); + sb.append(" campaignId: ").append(toIndentedString(campaignId)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" usageLimit: ").append(toIndentedString(usageLimit)).append("\n"); + sb.append(" discountLimit: ").append(toIndentedString(discountLimit)).append("\n"); + sb.append(" reservationLimit: ").append(toIndentedString(reservationLimit)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" expiryDate: ").append(toIndentedString(expiryDate)).append("\n"); + sb.append(" limits: ").append(toIndentedString(limits)).append("\n"); + sb.append(" usageCounter: ").append(toIndentedString(usageCounter)).append("\n"); + sb.append(" discountCounter: ").append(toIndentedString(discountCounter)).append("\n"); + sb.append(" discountRemainder: ").append(toIndentedString(discountRemainder)).append("\n"); + sb.append(" reservationCounter: ").append(toIndentedString(reservationCounter)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" referralId: ").append(toIndentedString(referralId)).append("\n"); + sb.append(" recipientIntegrationId: ").append(toIndentedString(recipientIntegrationId)).append("\n"); + sb.append(" importId: ").append(toIndentedString(importId)).append("\n"); + sb.append(" reservation: ").append(toIndentedString(reservation)).append("\n"); + sb.append(" batchId: ").append(toIndentedString(batchId)).append("\n"); + sb.append(" isReservationMandatory: ").append(toIndentedString(isReservationMandatory)).append("\n"); + sb.append(" implicitlyReserved: ").append(toIndentedString(implicitlyReserved)).append("\n"); + sb.append(" applicationId: ").append(toIndentedString(applicationId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/Giveaway.java b/src/main/java/one/talon/model/Giveaway.java index 3eb71d73..ab1c95f9 100644 --- a/src/main/java/one/talon/model/Giveaway.java +++ b/src/main/java/one/talon/model/Giveaway.java @@ -82,10 +82,10 @@ public Giveaway id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/GiveawaysPool.java b/src/main/java/one/talon/model/GiveawaysPool.java index 538a6c3d..224f1188 100644 --- a/src/main/java/one/talon/model/GiveawaysPool.java +++ b/src/main/java/one/talon/model/GiveawaysPool.java @@ -81,10 +81,10 @@ public GiveawaysPool id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/InlineResponse20040.java b/src/main/java/one/talon/model/InlineResponse20040.java index 4b584c4b..3bc5660f 100644 --- a/src/main/java/one/talon/model/InlineResponse20040.java +++ b/src/main/java/one/talon/model/InlineResponse20040.java @@ -25,7 +25,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import one.talon.model.WebhookActivationLogEntry; +import one.talon.model.EventType; /** * InlineResponse20040 @@ -38,7 +38,7 @@ public class InlineResponse20040 { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) - private List data = new ArrayList(); + private List data = new ArrayList(); public InlineResponse20040 totalResultSize(Long totalResultSize) { @@ -63,13 +63,13 @@ public void setTotalResultSize(Long totalResultSize) { } - public InlineResponse20040 data(List data) { + public InlineResponse20040 data(List data) { this.data = data; return this; } - public InlineResponse20040 addDataItem(WebhookActivationLogEntry dataItem) { + public InlineResponse20040 addDataItem(EventType dataItem) { this.data.add(dataItem); return this; } @@ -80,12 +80,12 @@ public InlineResponse20040 addDataItem(WebhookActivationLogEntry dataItem) { **/ @ApiModelProperty(required = true, value = "") - public List getData() { + public List getData() { return data; } - public void setData(List data) { + public void setData(List data) { this.data = data; } diff --git a/src/main/java/one/talon/model/InlineResponse20041.java b/src/main/java/one/talon/model/InlineResponse20041.java index 8485c92e..69a356e2 100644 --- a/src/main/java/one/talon/model/InlineResponse20041.java +++ b/src/main/java/one/talon/model/InlineResponse20041.java @@ -25,7 +25,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import one.talon.model.WebhookLogEntry; +import one.talon.model.User; /** * InlineResponse20041 @@ -38,7 +38,7 @@ public class InlineResponse20041 { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) - private List data = new ArrayList(); + private List data = new ArrayList(); public InlineResponse20041 totalResultSize(Long totalResultSize) { @@ -63,13 +63,13 @@ public void setTotalResultSize(Long totalResultSize) { } - public InlineResponse20041 data(List data) { + public InlineResponse20041 data(List data) { this.data = data; return this; } - public InlineResponse20041 addDataItem(WebhookLogEntry dataItem) { + public InlineResponse20041 addDataItem(User dataItem) { this.data.add(dataItem); return this; } @@ -80,12 +80,12 @@ public InlineResponse20041 addDataItem(WebhookLogEntry dataItem) { **/ @ApiModelProperty(required = true, value = "") - public List getData() { + public List getData() { return data; } - public void setData(List data) { + public void setData(List data) { this.data = data; } diff --git a/src/main/java/one/talon/model/InlineResponse20042.java b/src/main/java/one/talon/model/InlineResponse20042.java index ba3d8bdd..a01f5c25 100644 --- a/src/main/java/one/talon/model/InlineResponse20042.java +++ b/src/main/java/one/talon/model/InlineResponse20042.java @@ -25,7 +25,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import one.talon.model.EventType; +import one.talon.model.Change; /** * InlineResponse20042 @@ -36,9 +36,13 @@ public class InlineResponse20042 { @SerializedName(SERIALIZED_NAME_TOTAL_RESULT_SIZE) private Long totalResultSize; + public static final String SERIALIZED_NAME_HAS_MORE = "hasMore"; + @SerializedName(SERIALIZED_NAME_HAS_MORE) + private Boolean hasMore; + public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) - private List data = new ArrayList(); + private List data = new ArrayList(); public InlineResponse20042 totalResultSize(Long totalResultSize) { @@ -51,7 +55,8 @@ public InlineResponse20042 totalResultSize(Long totalResultSize) { * Get totalResultSize * @return totalResultSize **/ - @ApiModelProperty(example = "1", required = true, value = "") + @javax.annotation.Nullable + @ApiModelProperty(example = "1", value = "") public Long getTotalResultSize() { return totalResultSize; @@ -63,13 +68,36 @@ public void setTotalResultSize(Long totalResultSize) { } - public InlineResponse20042 data(List data) { + public InlineResponse20042 hasMore(Boolean hasMore) { + + this.hasMore = hasMore; + return this; + } + + /** + * Get hasMore + * @return hasMore + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Boolean getHasMore() { + return hasMore; + } + + + public void setHasMore(Boolean hasMore) { + this.hasMore = hasMore; + } + + + public InlineResponse20042 data(List data) { this.data = data; return this; } - public InlineResponse20042 addDataItem(EventType dataItem) { + public InlineResponse20042 addDataItem(Change dataItem) { this.data.add(dataItem); return this; } @@ -80,12 +108,12 @@ public InlineResponse20042 addDataItem(EventType dataItem) { **/ @ApiModelProperty(required = true, value = "") - public List getData() { + public List getData() { return data; } - public void setData(List data) { + public void setData(List data) { this.data = data; } @@ -100,12 +128,13 @@ public boolean equals(java.lang.Object o) { } InlineResponse20042 inlineResponse20042 = (InlineResponse20042) o; return Objects.equals(this.totalResultSize, inlineResponse20042.totalResultSize) && + Objects.equals(this.hasMore, inlineResponse20042.hasMore) && Objects.equals(this.data, inlineResponse20042.data); } @Override public int hashCode() { - return Objects.hash(totalResultSize, data); + return Objects.hash(totalResultSize, hasMore, data); } @@ -114,6 +143,7 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class InlineResponse20042 {\n"); sb.append(" totalResultSize: ").append(toIndentedString(totalResultSize)).append("\n"); + sb.append(" hasMore: ").append(toIndentedString(hasMore)).append("\n"); sb.append(" data: ").append(toIndentedString(data)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/one/talon/model/InlineResponse20043.java b/src/main/java/one/talon/model/InlineResponse20043.java index 4304c5c5..889ac412 100644 --- a/src/main/java/one/talon/model/InlineResponse20043.java +++ b/src/main/java/one/talon/model/InlineResponse20043.java @@ -25,7 +25,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import one.talon.model.User; +import one.talon.model.Export; /** * InlineResponse20043 @@ -38,7 +38,7 @@ public class InlineResponse20043 { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) - private List data = new ArrayList(); + private List data = new ArrayList(); public InlineResponse20043 totalResultSize(Long totalResultSize) { @@ -63,13 +63,13 @@ public void setTotalResultSize(Long totalResultSize) { } - public InlineResponse20043 data(List data) { + public InlineResponse20043 data(List data) { this.data = data; return this; } - public InlineResponse20043 addDataItem(User dataItem) { + public InlineResponse20043 addDataItem(Export dataItem) { this.data.add(dataItem); return this; } @@ -80,12 +80,12 @@ public InlineResponse20043 addDataItem(User dataItem) { **/ @ApiModelProperty(required = true, value = "") - public List getData() { + public List getData() { return data; } - public void setData(List data) { + public void setData(List data) { this.data = data; } diff --git a/src/main/java/one/talon/model/InlineResponse20044.java b/src/main/java/one/talon/model/InlineResponse20044.java index 9507301b..5ec00945 100644 --- a/src/main/java/one/talon/model/InlineResponse20044.java +++ b/src/main/java/one/talon/model/InlineResponse20044.java @@ -25,7 +25,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import one.talon.model.Change; +import one.talon.model.RoleV2; /** * InlineResponse20044 @@ -36,13 +36,9 @@ public class InlineResponse20044 { @SerializedName(SERIALIZED_NAME_TOTAL_RESULT_SIZE) private Long totalResultSize; - public static final String SERIALIZED_NAME_HAS_MORE = "hasMore"; - @SerializedName(SERIALIZED_NAME_HAS_MORE) - private Boolean hasMore; - public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) - private List data = new ArrayList(); + private List data = new ArrayList(); public InlineResponse20044 totalResultSize(Long totalResultSize) { @@ -55,8 +51,7 @@ public InlineResponse20044 totalResultSize(Long totalResultSize) { * Get totalResultSize * @return totalResultSize **/ - @javax.annotation.Nullable - @ApiModelProperty(example = "1", value = "") + @ApiModelProperty(example = "1", required = true, value = "") public Long getTotalResultSize() { return totalResultSize; @@ -68,36 +63,13 @@ public void setTotalResultSize(Long totalResultSize) { } - public InlineResponse20044 hasMore(Boolean hasMore) { - - this.hasMore = hasMore; - return this; - } - - /** - * Get hasMore - * @return hasMore - **/ - @javax.annotation.Nullable - @ApiModelProperty(value = "") - - public Boolean getHasMore() { - return hasMore; - } - - - public void setHasMore(Boolean hasMore) { - this.hasMore = hasMore; - } - - - public InlineResponse20044 data(List data) { + public InlineResponse20044 data(List data) { this.data = data; return this; } - public InlineResponse20044 addDataItem(Change dataItem) { + public InlineResponse20044 addDataItem(RoleV2 dataItem) { this.data.add(dataItem); return this; } @@ -108,12 +80,12 @@ public InlineResponse20044 addDataItem(Change dataItem) { **/ @ApiModelProperty(required = true, value = "") - public List getData() { + public List getData() { return data; } - public void setData(List data) { + public void setData(List data) { this.data = data; } @@ -128,13 +100,12 @@ public boolean equals(java.lang.Object o) { } InlineResponse20044 inlineResponse20044 = (InlineResponse20044) o; return Objects.equals(this.totalResultSize, inlineResponse20044.totalResultSize) && - Objects.equals(this.hasMore, inlineResponse20044.hasMore) && Objects.equals(this.data, inlineResponse20044.data); } @Override public int hashCode() { - return Objects.hash(totalResultSize, hasMore, data); + return Objects.hash(totalResultSize, data); } @@ -143,7 +114,6 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class InlineResponse20044 {\n"); sb.append(" totalResultSize: ").append(toIndentedString(totalResultSize)).append("\n"); - sb.append(" hasMore: ").append(toIndentedString(hasMore)).append("\n"); sb.append(" data: ").append(toIndentedString(data)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/one/talon/model/InlineResponse20045.java b/src/main/java/one/talon/model/InlineResponse20045.java index 15e22cd1..2d5b00a0 100644 --- a/src/main/java/one/talon/model/InlineResponse20045.java +++ b/src/main/java/one/talon/model/InlineResponse20045.java @@ -25,20 +25,47 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import one.talon.model.Export; +import one.talon.model.Store; /** * InlineResponse20045 */ public class InlineResponse20045 { + public static final String SERIALIZED_NAME_HAS_MORE = "hasMore"; + @SerializedName(SERIALIZED_NAME_HAS_MORE) + private Boolean hasMore; + public static final String SERIALIZED_NAME_TOTAL_RESULT_SIZE = "totalResultSize"; @SerializedName(SERIALIZED_NAME_TOTAL_RESULT_SIZE) private Long totalResultSize; public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) - private List data = new ArrayList(); + private List data = new ArrayList(); + + + public InlineResponse20045 hasMore(Boolean hasMore) { + + this.hasMore = hasMore; + return this; + } + + /** + * Get hasMore + * @return hasMore + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Boolean getHasMore() { + return hasMore; + } + + + public void setHasMore(Boolean hasMore) { + this.hasMore = hasMore; + } public InlineResponse20045 totalResultSize(Long totalResultSize) { @@ -51,7 +78,8 @@ public InlineResponse20045 totalResultSize(Long totalResultSize) { * Get totalResultSize * @return totalResultSize **/ - @ApiModelProperty(example = "1", required = true, value = "") + @javax.annotation.Nullable + @ApiModelProperty(example = "1", value = "") public Long getTotalResultSize() { return totalResultSize; @@ -63,13 +91,13 @@ public void setTotalResultSize(Long totalResultSize) { } - public InlineResponse20045 data(List data) { + public InlineResponse20045 data(List data) { this.data = data; return this; } - public InlineResponse20045 addDataItem(Export dataItem) { + public InlineResponse20045 addDataItem(Store dataItem) { this.data.add(dataItem); return this; } @@ -80,12 +108,12 @@ public InlineResponse20045 addDataItem(Export dataItem) { **/ @ApiModelProperty(required = true, value = "") - public List getData() { + public List getData() { return data; } - public void setData(List data) { + public void setData(List data) { this.data = data; } @@ -99,13 +127,14 @@ public boolean equals(java.lang.Object o) { return false; } InlineResponse20045 inlineResponse20045 = (InlineResponse20045) o; - return Objects.equals(this.totalResultSize, inlineResponse20045.totalResultSize) && + return Objects.equals(this.hasMore, inlineResponse20045.hasMore) && + Objects.equals(this.totalResultSize, inlineResponse20045.totalResultSize) && Objects.equals(this.data, inlineResponse20045.data); } @Override public int hashCode() { - return Objects.hash(totalResultSize, data); + return Objects.hash(hasMore, totalResultSize, data); } @@ -113,6 +142,7 @@ public int hashCode() { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class InlineResponse20045 {\n"); + sb.append(" hasMore: ").append(toIndentedString(hasMore)).append("\n"); sb.append(" totalResultSize: ").append(toIndentedString(totalResultSize)).append("\n"); sb.append(" data: ").append(toIndentedString(data)).append("\n"); sb.append("}"); diff --git a/src/main/java/one/talon/model/InlineResponse20046.java b/src/main/java/one/talon/model/InlineResponse20046.java index ab9b2ebe..d4a8d911 100644 --- a/src/main/java/one/talon/model/InlineResponse20046.java +++ b/src/main/java/one/talon/model/InlineResponse20046.java @@ -25,51 +25,28 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import one.talon.model.RoleV2; +import one.talon.model.ListCampaignStoreBudgets; /** * InlineResponse20046 */ public class InlineResponse20046 { - public static final String SERIALIZED_NAME_TOTAL_RESULT_SIZE = "totalResultSize"; - @SerializedName(SERIALIZED_NAME_TOTAL_RESULT_SIZE) - private Long totalResultSize; - public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) - private List data = new ArrayList(); + private List data = null; - public InlineResponse20046 totalResultSize(Long totalResultSize) { - - this.totalResultSize = totalResultSize; - return this; - } - - /** - * Get totalResultSize - * @return totalResultSize - **/ - @ApiModelProperty(example = "1", required = true, value = "") - - public Long getTotalResultSize() { - return totalResultSize; - } - - - public void setTotalResultSize(Long totalResultSize) { - this.totalResultSize = totalResultSize; - } - - - public InlineResponse20046 data(List data) { + public InlineResponse20046 data(List data) { this.data = data; return this; } - public InlineResponse20046 addDataItem(RoleV2 dataItem) { + public InlineResponse20046 addDataItem(ListCampaignStoreBudgets dataItem) { + if (this.data == null) { + this.data = new ArrayList(); + } this.data.add(dataItem); return this; } @@ -78,14 +55,15 @@ public InlineResponse20046 addDataItem(RoleV2 dataItem) { * Get data * @return data **/ - @ApiModelProperty(required = true, value = "") + @javax.annotation.Nullable + @ApiModelProperty(value = "") - public List getData() { + public List getData() { return data; } - public void setData(List data) { + public void setData(List data) { this.data = data; } @@ -99,13 +77,12 @@ public boolean equals(java.lang.Object o) { return false; } InlineResponse20046 inlineResponse20046 = (InlineResponse20046) o; - return Objects.equals(this.totalResultSize, inlineResponse20046.totalResultSize) && - Objects.equals(this.data, inlineResponse20046.data); + return Objects.equals(this.data, inlineResponse20046.data); } @Override public int hashCode() { - return Objects.hash(totalResultSize, data); + return Objects.hash(data); } @@ -113,7 +90,6 @@ public int hashCode() { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class InlineResponse20046 {\n"); - sb.append(" totalResultSize: ").append(toIndentedString(totalResultSize)).append("\n"); sb.append(" data: ").append(toIndentedString(data)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/one/talon/model/InlineResponse20047.java b/src/main/java/one/talon/model/InlineResponse20047.java index 2eba2280..9cec80d3 100644 --- a/src/main/java/one/talon/model/InlineResponse20047.java +++ b/src/main/java/one/talon/model/InlineResponse20047.java @@ -25,79 +25,28 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import one.talon.model.Store; +import one.talon.model.SummaryCampaignStoreBudget; /** * InlineResponse20047 */ public class InlineResponse20047 { - public static final String SERIALIZED_NAME_HAS_MORE = "hasMore"; - @SerializedName(SERIALIZED_NAME_HAS_MORE) - private Boolean hasMore; - - public static final String SERIALIZED_NAME_TOTAL_RESULT_SIZE = "totalResultSize"; - @SerializedName(SERIALIZED_NAME_TOTAL_RESULT_SIZE) - private Long totalResultSize; - public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) - private List data = new ArrayList(); - - - public InlineResponse20047 hasMore(Boolean hasMore) { - - this.hasMore = hasMore; - return this; - } - - /** - * Get hasMore - * @return hasMore - **/ - @javax.annotation.Nullable - @ApiModelProperty(value = "") - - public Boolean getHasMore() { - return hasMore; - } - - - public void setHasMore(Boolean hasMore) { - this.hasMore = hasMore; - } + private List data = null; - public InlineResponse20047 totalResultSize(Long totalResultSize) { - - this.totalResultSize = totalResultSize; - return this; - } - - /** - * Get totalResultSize - * @return totalResultSize - **/ - @javax.annotation.Nullable - @ApiModelProperty(example = "1", value = "") - - public Long getTotalResultSize() { - return totalResultSize; - } - - - public void setTotalResultSize(Long totalResultSize) { - this.totalResultSize = totalResultSize; - } - - - public InlineResponse20047 data(List data) { + public InlineResponse20047 data(List data) { this.data = data; return this; } - public InlineResponse20047 addDataItem(Store dataItem) { + public InlineResponse20047 addDataItem(SummaryCampaignStoreBudget dataItem) { + if (this.data == null) { + this.data = new ArrayList(); + } this.data.add(dataItem); return this; } @@ -106,14 +55,15 @@ public InlineResponse20047 addDataItem(Store dataItem) { * Get data * @return data **/ - @ApiModelProperty(required = true, value = "") + @javax.annotation.Nullable + @ApiModelProperty(value = "") - public List getData() { + public List getData() { return data; } - public void setData(List data) { + public void setData(List data) { this.data = data; } @@ -127,14 +77,12 @@ public boolean equals(java.lang.Object o) { return false; } InlineResponse20047 inlineResponse20047 = (InlineResponse20047) o; - return Objects.equals(this.hasMore, inlineResponse20047.hasMore) && - Objects.equals(this.totalResultSize, inlineResponse20047.totalResultSize) && - Objects.equals(this.data, inlineResponse20047.data); + return Objects.equals(this.data, inlineResponse20047.data); } @Override public int hashCode() { - return Objects.hash(hasMore, totalResultSize, data); + return Objects.hash(data); } @@ -142,8 +90,6 @@ public int hashCode() { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class InlineResponse20047 {\n"); - sb.append(" hasMore: ").append(toIndentedString(hasMore)).append("\n"); - sb.append(" totalResultSize: ").append(toIndentedString(totalResultSize)).append("\n"); sb.append(" data: ").append(toIndentedString(data)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/one/talon/model/InlineResponse20050.java b/src/main/java/one/talon/model/InlineResponse20050.java new file mode 100644 index 00000000..67c26332 --- /dev/null +++ b/src/main/java/one/talon/model/InlineResponse20050.java @@ -0,0 +1,135 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.Achievement; + +/** + * InlineResponse20050 + */ + +public class InlineResponse20050 { + public static final String SERIALIZED_NAME_HAS_MORE = "hasMore"; + @SerializedName(SERIALIZED_NAME_HAS_MORE) + private Boolean hasMore; + + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private List data = new ArrayList(); + + + public InlineResponse20050 hasMore(Boolean hasMore) { + + this.hasMore = hasMore; + return this; + } + + /** + * Get hasMore + * @return hasMore + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Boolean getHasMore() { + return hasMore; + } + + + public void setHasMore(Boolean hasMore) { + this.hasMore = hasMore; + } + + + public InlineResponse20050 data(List data) { + + this.data = data; + return this; + } + + public InlineResponse20050 addDataItem(Achievement dataItem) { + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + **/ + @ApiModelProperty(required = true, value = "") + + public List getData() { + return data; + } + + + public void setData(List data) { + this.data = data; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InlineResponse20050 inlineResponse20050 = (InlineResponse20050) o; + return Objects.equals(this.hasMore, inlineResponse20050.hasMore) && + Objects.equals(this.data, inlineResponse20050.data); + } + + @Override + public int hashCode() { + return Objects.hash(hasMore, data); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InlineResponse20050 {\n"); + sb.append(" hasMore: ").append(toIndentedString(hasMore)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/InlineResponse20051.java b/src/main/java/one/talon/model/InlineResponse20051.java new file mode 100644 index 00000000..07f15787 --- /dev/null +++ b/src/main/java/one/talon/model/InlineResponse20051.java @@ -0,0 +1,134 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.AchievementProgressWithDefinition; + +/** + * InlineResponse20051 + */ + +public class InlineResponse20051 { + public static final String SERIALIZED_NAME_HAS_MORE = "hasMore"; + @SerializedName(SERIALIZED_NAME_HAS_MORE) + private Boolean hasMore; + + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private List data = new ArrayList(); + + + public InlineResponse20051 hasMore(Boolean hasMore) { + + this.hasMore = hasMore; + return this; + } + + /** + * Get hasMore + * @return hasMore + **/ + @ApiModelProperty(example = "true", required = true, value = "") + + public Boolean getHasMore() { + return hasMore; + } + + + public void setHasMore(Boolean hasMore) { + this.hasMore = hasMore; + } + + + public InlineResponse20051 data(List data) { + + this.data = data; + return this; + } + + public InlineResponse20051 addDataItem(AchievementProgressWithDefinition dataItem) { + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + **/ + @ApiModelProperty(required = true, value = "") + + public List getData() { + return data; + } + + + public void setData(List data) { + this.data = data; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InlineResponse20051 inlineResponse20051 = (InlineResponse20051) o; + return Objects.equals(this.hasMore, inlineResponse20051.hasMore) && + Objects.equals(this.data, inlineResponse20051.data); + } + + @Override + public int hashCode() { + return Objects.hash(hasMore, data); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InlineResponse20051 {\n"); + sb.append(" hasMore: ").append(toIndentedString(hasMore)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/IntegrationCoupon.java b/src/main/java/one/talon/model/IntegrationCoupon.java index f794c632..2a97272f 100644 --- a/src/main/java/one/talon/model/IntegrationCoupon.java +++ b/src/main/java/one/talon/model/IntegrationCoupon.java @@ -134,10 +134,10 @@ public IntegrationCoupon id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of the coupon. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of the coupon.") public Long getId() { return id; @@ -156,10 +156,10 @@ public IntegrationCoupon created(OffsetDateTime created) { } /** - * The time this entity was created. + * The time the coupon was created. * @return created **/ - @ApiModelProperty(example = "2020-06-10T09:05:27.993483Z", required = true, value = "The time this entity was created.") + @ApiModelProperty(example = "2020-06-10T09:05:27.993483Z", required = true, value = "The time the coupon was created.") public OffsetDateTime getCreated() { return created; @@ -248,7 +248,7 @@ public IntegrationCoupon discountLimit(BigDecimal discountLimit) { /** * The total discount value that the code can give. Typically used to represent a gift card value. * minimum: 0 - * maximum: 999999 + * maximum: 1E+15 * @return discountLimit **/ @javax.annotation.Nullable diff --git a/src/main/java/one/talon/model/IntegrationCustomerProfileAudienceRequest.java b/src/main/java/one/talon/model/IntegrationCustomerProfileAudienceRequest.java new file mode 100644 index 00000000..a234e677 --- /dev/null +++ b/src/main/java/one/talon/model/IntegrationCustomerProfileAudienceRequest.java @@ -0,0 +1,110 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.IntegrationCustomerProfileAudienceRequestItem; + +/** + * IntegrationCustomerProfileAudienceRequest + */ + +public class IntegrationCustomerProfileAudienceRequest { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private List data = null; + + + public IntegrationCustomerProfileAudienceRequest data(List data) { + + this.data = data; + return this; + } + + public IntegrationCustomerProfileAudienceRequest addDataItem(IntegrationCustomerProfileAudienceRequestItem dataItem) { + if (this.data == null) { + this.data = new ArrayList(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getData() { + return data; + } + + + public void setData(List data) { + this.data = data; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IntegrationCustomerProfileAudienceRequest integrationCustomerProfileAudienceRequest = (IntegrationCustomerProfileAudienceRequest) o; + return Objects.equals(this.data, integrationCustomerProfileAudienceRequest.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IntegrationCustomerProfileAudienceRequest {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/IntegrationCustomerProfileAudienceRequestItem.java b/src/main/java/one/talon/model/IntegrationCustomerProfileAudienceRequestItem.java new file mode 100644 index 00000000..bc8ac10f --- /dev/null +++ b/src/main/java/one/talon/model/IntegrationCustomerProfileAudienceRequestItem.java @@ -0,0 +1,201 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * IntegrationCustomerProfileAudienceRequestItem + */ + +public class IntegrationCustomerProfileAudienceRequestItem { + /** + * 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. + */ + @JsonAdapter(ActionEnum.Adapter.class) + public enum ActionEnum { + ADD("add"), + + DELETE("delete"); + + private String value; + + ActionEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ActionEnum fromValue(String value) { + for (ActionEnum b : ActionEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ActionEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ActionEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ActionEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_ACTION = "action"; + @SerializedName(SERIALIZED_NAME_ACTION) + private ActionEnum action; + + public static final String SERIALIZED_NAME_PROFILE_INTEGRATION_ID = "profileIntegrationId"; + @SerializedName(SERIALIZED_NAME_PROFILE_INTEGRATION_ID) + private String profileIntegrationId; + + public static final String SERIALIZED_NAME_INTEGRATION_ID = "integrationId"; + @SerializedName(SERIALIZED_NAME_INTEGRATION_ID) + private String integrationId; + + + public IntegrationCustomerProfileAudienceRequestItem action(ActionEnum action) { + + this.action = action; + return this; + } + + /** + * 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. + * @return action + **/ + @ApiModelProperty(example = "add", required = true, value = "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. ") + + public ActionEnum getAction() { + return action; + } + + + public void setAction(ActionEnum action) { + this.action = action; + } + + + public IntegrationCustomerProfileAudienceRequestItem profileIntegrationId(String profileIntegrationId) { + + this.profileIntegrationId = profileIntegrationId; + return this; + } + + /** + * The ID of this customer profile in the third-party integration. + * @return profileIntegrationId + **/ + @ApiModelProperty(example = "R195412", required = true, value = "The ID of this customer profile in the third-party integration.") + + public String getProfileIntegrationId() { + return profileIntegrationId; + } + + + public void setProfileIntegrationId(String profileIntegrationId) { + this.profileIntegrationId = profileIntegrationId; + } + + + public IntegrationCustomerProfileAudienceRequestItem integrationId(String integrationId) { + + this.integrationId = integrationId; + return this; + } + + /** + * The ID of this audience in the third-party integration. + * @return integrationId + **/ + @ApiModelProperty(example = "382370BKDB946", required = true, value = "The ID of this audience in the third-party integration.") + + public String getIntegrationId() { + return integrationId; + } + + + public void setIntegrationId(String integrationId) { + this.integrationId = integrationId; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IntegrationCustomerProfileAudienceRequestItem integrationCustomerProfileAudienceRequestItem = (IntegrationCustomerProfileAudienceRequestItem) o; + return Objects.equals(this.action, integrationCustomerProfileAudienceRequestItem.action) && + Objects.equals(this.profileIntegrationId, integrationCustomerProfileAudienceRequestItem.profileIntegrationId) && + Objects.equals(this.integrationId, integrationCustomerProfileAudienceRequestItem.integrationId); + } + + @Override + public int hashCode() { + return Objects.hash(action, profileIntegrationId, integrationId); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IntegrationCustomerProfileAudienceRequestItem {\n"); + sb.append(" action: ").append(toIndentedString(action)).append("\n"); + sb.append(" profileIntegrationId: ").append(toIndentedString(profileIntegrationId)).append("\n"); + sb.append(" integrationId: ").append(toIndentedString(integrationId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/InventoryCoupon.java b/src/main/java/one/talon/model/InventoryCoupon.java index 6e7868fe..d6539834 100644 --- a/src/main/java/one/talon/model/InventoryCoupon.java +++ b/src/main/java/one/talon/model/InventoryCoupon.java @@ -138,10 +138,10 @@ public InventoryCoupon id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of the coupon. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of the coupon.") public Long getId() { return id; @@ -160,10 +160,10 @@ public InventoryCoupon created(OffsetDateTime created) { } /** - * The time this entity was created. + * The time the coupon was created. * @return created **/ - @ApiModelProperty(example = "2020-06-10T09:05:27.993483Z", required = true, value = "The time this entity was created.") + @ApiModelProperty(example = "2020-06-10T09:05:27.993483Z", required = true, value = "The time the coupon was created.") public OffsetDateTime getCreated() { return created; @@ -252,7 +252,7 @@ public InventoryCoupon discountLimit(BigDecimal discountLimit) { /** * The total discount value that the code can give. Typically used to represent a gift card value. * minimum: 0 - * maximum: 999999 + * maximum: 1E+15 * @return discountLimit **/ @javax.annotation.Nullable diff --git a/src/main/java/one/talon/model/InventoryReferral.java b/src/main/java/one/talon/model/InventoryReferral.java index 3bb92692..223cb810 100644 --- a/src/main/java/one/talon/model/InventoryReferral.java +++ b/src/main/java/one/talon/model/InventoryReferral.java @@ -96,10 +96,10 @@ public InventoryReferral id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/LedgerEntry.java b/src/main/java/one/talon/model/LedgerEntry.java index a0313d95..6b3b8cbd 100644 --- a/src/main/java/one/talon/model/LedgerEntry.java +++ b/src/main/java/one/talon/model/LedgerEntry.java @@ -79,10 +79,10 @@ public LedgerEntry id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/LedgerInfo.java b/src/main/java/one/talon/model/LedgerInfo.java index d3c880e7..6cc777d7 100644 --- a/src/main/java/one/talon/model/LedgerInfo.java +++ b/src/main/java/one/talon/model/LedgerInfo.java @@ -127,7 +127,8 @@ public LedgerInfo negativeBalance(BigDecimal negativeBalance) { * Sum of negative points. This implies that `currentBalance` is `0`. * @return negativeBalance **/ - @ApiModelProperty(example = "10.0", required = true, value = "Sum of negative points. This implies that `currentBalance` is `0`.") + @javax.annotation.Nullable + @ApiModelProperty(example = "10.0", value = "Sum of negative points. This implies that `currentBalance` is `0`.") public BigDecimal getNegativeBalance() { return negativeBalance; @@ -238,7 +239,8 @@ public LedgerInfo tentativeNegativeBalance(BigDecimal tentativeNegativeBalance) * 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. * @return tentativeNegativeBalance **/ - @ApiModelProperty(example = "100.0", required = true, value = "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. ") + @javax.annotation.Nullable + @ApiModelProperty(example = "100.0", value = "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. ") public BigDecimal getTentativeNegativeBalance() { return tentativeNegativeBalance; diff --git a/src/main/java/one/talon/model/LoyaltyCard.java b/src/main/java/one/talon/model/LoyaltyCard.java index bf8740e5..19bfccd5 100644 --- a/src/main/java/one/talon/model/LoyaltyCard.java +++ b/src/main/java/one/talon/model/LoyaltyCard.java @@ -108,10 +108,10 @@ public LoyaltyCard id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/LoyaltyProgramBalance.java b/src/main/java/one/talon/model/LoyaltyProgramBalance.java index 1a57552d..42231a09 100644 --- a/src/main/java/one/talon/model/LoyaltyProgramBalance.java +++ b/src/main/java/one/talon/model/LoyaltyProgramBalance.java @@ -118,7 +118,8 @@ public LoyaltyProgramBalance negativeBalance(BigDecimal negativeBalance) { * Sum of negative points. This implies that `currentBalance` is `0`. * @return negativeBalance **/ - @ApiModelProperty(example = "10.0", required = true, value = "Sum of negative points. This implies that `currentBalance` is `0`.") + @javax.annotation.Nullable + @ApiModelProperty(example = "10.0", value = "Sum of negative points. This implies that `currentBalance` is `0`.") public BigDecimal getNegativeBalance() { return negativeBalance; @@ -229,7 +230,8 @@ public LoyaltyProgramBalance tentativeNegativeBalance(BigDecimal tentativeNegati * 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. * @return tentativeNegativeBalance **/ - @ApiModelProperty(example = "100.0", required = true, value = "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. ") + @javax.annotation.Nullable + @ApiModelProperty(example = "100.0", value = "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. ") public BigDecimal getTentativeNegativeBalance() { return tentativeNegativeBalance; diff --git a/src/main/java/one/talon/model/LoyaltyTier.java b/src/main/java/one/talon/model/LoyaltyTier.java index 6177f2b1..94c31bd5 100644 --- a/src/main/java/one/talon/model/LoyaltyTier.java +++ b/src/main/java/one/talon/model/LoyaltyTier.java @@ -68,10 +68,10 @@ public LoyaltyTier id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/ModelImport.java b/src/main/java/one/talon/model/ModelImport.java index 883dd7d6..0e25fe7d 100644 --- a/src/main/java/one/talon/model/ModelImport.java +++ b/src/main/java/one/talon/model/ModelImport.java @@ -62,10 +62,10 @@ public ModelImport id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/ModelReturn.java b/src/main/java/one/talon/model/ModelReturn.java index 199bf928..922375ab 100644 --- a/src/main/java/one/talon/model/ModelReturn.java +++ b/src/main/java/one/talon/model/ModelReturn.java @@ -85,10 +85,10 @@ public ModelReturn id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/MultipleAudiencesItem.java b/src/main/java/one/talon/model/MultipleAudiencesItem.java index 58aa273b..39b5ecc6 100644 --- a/src/main/java/one/talon/model/MultipleAudiencesItem.java +++ b/src/main/java/one/talon/model/MultipleAudiencesItem.java @@ -107,10 +107,10 @@ public MultipleAudiencesItem id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/NewCouponCreationJob.java b/src/main/java/one/talon/model/NewCouponCreationJob.java index 0b6a0374..476908e4 100644 --- a/src/main/java/one/talon/model/NewCouponCreationJob.java +++ b/src/main/java/one/talon/model/NewCouponCreationJob.java @@ -98,7 +98,7 @@ public NewCouponCreationJob discountLimit(BigDecimal discountLimit) { /** * The total discount value that the code can give. Typically used to represent a gift card value. * minimum: 0 - * maximum: 999999 + * maximum: 1E+15 * @return discountLimit **/ @javax.annotation.Nullable diff --git a/src/main/java/one/talon/model/NewCoupons.java b/src/main/java/one/talon/model/NewCoupons.java index cfdee8c3..c59706a3 100644 --- a/src/main/java/one/talon/model/NewCoupons.java +++ b/src/main/java/one/talon/model/NewCoupons.java @@ -124,7 +124,7 @@ public NewCoupons discountLimit(BigDecimal discountLimit) { /** * The total discount value that the code can give. Typically used to represent a gift card value. * minimum: 0 - * maximum: 999999 + * maximum: 1E+15 * @return discountLimit **/ @javax.annotation.Nullable diff --git a/src/main/java/one/talon/model/NewCouponsForMultipleRecipients.java b/src/main/java/one/talon/model/NewCouponsForMultipleRecipients.java index d821f96b..0024b6cb 100644 --- a/src/main/java/one/talon/model/NewCouponsForMultipleRecipients.java +++ b/src/main/java/one/talon/model/NewCouponsForMultipleRecipients.java @@ -103,7 +103,7 @@ public NewCouponsForMultipleRecipients discountLimit(BigDecimal discountLimit) { /** * The total discount value that the code can give. Typically used to represent a gift card value. * minimum: 0 - * maximum: 999999 + * maximum: 1E+15 * @return discountLimit **/ @javax.annotation.Nullable diff --git a/src/main/java/one/talon/model/NewMessageTest.java b/src/main/java/one/talon/model/NewMessageTest.java index fccb0607..46f518dd 100644 --- a/src/main/java/one/talon/model/NewMessageTest.java +++ b/src/main/java/one/talon/model/NewMessageTest.java @@ -43,6 +43,10 @@ public enum TypeEnum { 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"), diff --git a/src/main/java/one/talon/model/NewPriceAdjustment.java b/src/main/java/one/talon/model/NewPriceAdjustment.java new file mode 100644 index 00000000..9f0891d5 --- /dev/null +++ b/src/main/java/one/talon/model/NewPriceAdjustment.java @@ -0,0 +1,244 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import org.threeten.bp.OffsetDateTime; + +/** + * NewPriceAdjustment + */ + +public class NewPriceAdjustment { + public static final String SERIALIZED_NAME_PRICE_TYPE = "priceType"; + @SerializedName(SERIALIZED_NAME_PRICE_TYPE) + private String priceType; + + public static final String SERIALIZED_NAME_PRICE = "price"; + @SerializedName(SERIALIZED_NAME_PRICE) + private BigDecimal price; + + public static final String SERIALIZED_NAME_REFERENCE_ID = "referenceId"; + @SerializedName(SERIALIZED_NAME_REFERENCE_ID) + private String referenceId; + + public static final String SERIALIZED_NAME_CALCULATED_AT = "calculatedAt"; + @SerializedName(SERIALIZED_NAME_CALCULATED_AT) + private OffsetDateTime calculatedAt; + + public static final String SERIALIZED_NAME_EFFECTIVE_FROM = "effectiveFrom"; + @SerializedName(SERIALIZED_NAME_EFFECTIVE_FROM) + private OffsetDateTime effectiveFrom; + + public static final String SERIALIZED_NAME_EFFECTIVE_UNTIL = "effectiveUntil"; + @SerializedName(SERIALIZED_NAME_EFFECTIVE_UNTIL) + private OffsetDateTime effectiveUntil; + + + public NewPriceAdjustment priceType(String priceType) { + + this.priceType = priceType; + return this; + } + + /** + * The price type (e.g. the price for members only) to apply to a given SKU. + * @return priceType + **/ + @ApiModelProperty(example = "member", required = true, value = "The price type (e.g. the price for members only) to apply to a given SKU.") + + public String getPriceType() { + return priceType; + } + + + public void setPriceType(String priceType) { + this.priceType = priceType; + } + + + public NewPriceAdjustment price(BigDecimal price) { + + this.price = price; + return this; + } + + /** + * The value of the price type applied to the SKU. When set to `null`, the defined price type no longer applies to the SKU. + * @return price + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "100.0", value = "The value of the price type applied to the SKU. When set to `null`, the defined price type no longer applies to the SKU.") + + public BigDecimal getPrice() { + return price; + } + + + public void setPrice(BigDecimal price) { + this.price = price; + } + + + public NewPriceAdjustment referenceId(String referenceId) { + + this.referenceId = referenceId; + return this; + } + + /** + * A unique reference identifier, e.g. a UUID. + * @return referenceId + **/ + @ApiModelProperty(example = "68851723-e6fa-488f-ace9-112581e6c19b", required = true, value = "A unique reference identifier, e.g. a UUID.") + + public String getReferenceId() { + return referenceId; + } + + + public void setReferenceId(String referenceId) { + this.referenceId = referenceId; + } + + + public NewPriceAdjustment calculatedAt(OffsetDateTime calculatedAt) { + + this.calculatedAt = calculatedAt; + return this; + } + + /** + * 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. + * @return calculatedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2021-09-12T10:12:42Z", value = "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.") + + public OffsetDateTime getCalculatedAt() { + return calculatedAt; + } + + + public void setCalculatedAt(OffsetDateTime calculatedAt) { + this.calculatedAt = calculatedAt; + } + + + public NewPriceAdjustment effectiveFrom(OffsetDateTime effectiveFrom) { + + this.effectiveFrom = effectiveFrom; + return this; + } + + /** + * The date and time from which the price adjustment is effective. + * @return effectiveFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2021-09-12T10:12:42Z", value = "The date and time from which the price adjustment is effective.") + + public OffsetDateTime getEffectiveFrom() { + return effectiveFrom; + } + + + public void setEffectiveFrom(OffsetDateTime effectiveFrom) { + this.effectiveFrom = effectiveFrom; + } + + + public NewPriceAdjustment effectiveUntil(OffsetDateTime effectiveUntil) { + + this.effectiveUntil = effectiveUntil; + return this; + } + + /** + * The date and time until which the price adjustment is effective. + * @return effectiveUntil + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2021-09-12T10:12:42Z", value = "The date and time until which the price adjustment is effective.") + + public OffsetDateTime getEffectiveUntil() { + return effectiveUntil; + } + + + public void setEffectiveUntil(OffsetDateTime effectiveUntil) { + this.effectiveUntil = effectiveUntil; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewPriceAdjustment newPriceAdjustment = (NewPriceAdjustment) o; + return Objects.equals(this.priceType, newPriceAdjustment.priceType) && + Objects.equals(this.price, newPriceAdjustment.price) && + Objects.equals(this.referenceId, newPriceAdjustment.referenceId) && + Objects.equals(this.calculatedAt, newPriceAdjustment.calculatedAt) && + Objects.equals(this.effectiveFrom, newPriceAdjustment.effectiveFrom) && + Objects.equals(this.effectiveUntil, newPriceAdjustment.effectiveUntil); + } + + @Override + public int hashCode() { + return Objects.hash(priceType, price, referenceId, calculatedAt, effectiveFrom, effectiveUntil); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewPriceAdjustment {\n"); + sb.append(" priceType: ").append(toIndentedString(priceType)).append("\n"); + sb.append(" price: ").append(toIndentedString(price)).append("\n"); + sb.append(" referenceId: ").append(toIndentedString(referenceId)).append("\n"); + sb.append(" calculatedAt: ").append(toIndentedString(calculatedAt)).append("\n"); + sb.append(" effectiveFrom: ").append(toIndentedString(effectiveFrom)).append("\n"); + sb.append(" effectiveUntil: ").append(toIndentedString(effectiveUntil)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/NewPriceType.java b/src/main/java/one/talon/model/NewPriceType.java new file mode 100644 index 00000000..fea954a4 --- /dev/null +++ b/src/main/java/one/talon/model/NewPriceType.java @@ -0,0 +1,194 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * NewPriceType + */ + +public class NewPriceType { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_TITLE = "title"; + @SerializedName(SERIALIZED_NAME_TITLE) + private String title; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_TARGETED_AUDIENCES_IDS = "targetedAudiencesIds"; + @SerializedName(SERIALIZED_NAME_TARGETED_AUDIENCES_IDS) + private List targetedAudiencesIds = null; + + + public NewPriceType name(String name) { + + this.name = name; + return this; + } + + /** + * The API name of the price type. This is an immutable value. + * @return name + **/ + @ApiModelProperty(example = "member", required = true, value = "The API name of the price type. This is an immutable value.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public NewPriceType title(String title) { + + this.title = title; + return this; + } + + /** + * The title of the price type. + * @return title + **/ + @ApiModelProperty(example = "Member Price", required = true, value = "The title of the price type.") + + public String getTitle() { + return title; + } + + + public void setTitle(String title) { + this.title = title; + } + + + public NewPriceType description(String description) { + + this.description = description; + return this; + } + + /** + * The description of the price type. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Price available exclusively to members.", value = "The description of the price type.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public NewPriceType targetedAudiencesIds(List targetedAudiencesIds) { + + this.targetedAudiencesIds = targetedAudiencesIds; + return this; + } + + public NewPriceType addTargetedAudiencesIdsItem(Long targetedAudiencesIdsItem) { + if (this.targetedAudiencesIds == null) { + this.targetedAudiencesIds = new ArrayList(); + } + this.targetedAudiencesIds.add(targetedAudiencesIdsItem); + return this; + } + + /** + * A list of the IDs of the audiences that are targeted by this price type. + * @return targetedAudiencesIds + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "[1, 2, 3]", value = "A list of the IDs of the audiences that are targeted by this price type.") + + public List getTargetedAudiencesIds() { + return targetedAudiencesIds; + } + + + public void setTargetedAudiencesIds(List targetedAudiencesIds) { + this.targetedAudiencesIds = targetedAudiencesIds; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewPriceType newPriceType = (NewPriceType) o; + return Objects.equals(this.name, newPriceType.name) && + Objects.equals(this.title, newPriceType.title) && + Objects.equals(this.description, newPriceType.description) && + Objects.equals(this.targetedAudiencesIds, newPriceType.targetedAudiencesIds); + } + + @Override + public int hashCode() { + return Objects.hash(name, title, description, targetedAudiencesIds); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewPriceType {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" targetedAudiencesIds: ").append(toIndentedString(targetedAudiencesIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/NewRevisionVersion.java b/src/main/java/one/talon/model/NewRevisionVersion.java index 14b9ac8f..79759828 100644 --- a/src/main/java/one/talon/model/NewRevisionVersion.java +++ b/src/main/java/one/talon/model/NewRevisionVersion.java @@ -56,7 +56,7 @@ public class NewRevisionVersion { public static final String SERIALIZED_NAME_ACTIVE_RULESET_ID = "activeRulesetId"; @SerializedName(SERIALIZED_NAME_ACTIVE_RULESET_ID) - private Long activeRulesetId; + private Integer activeRulesetId; public static final String SERIALIZED_NAME_TAGS = "tags"; @SerializedName(SERIALIZED_NAME_TAGS) @@ -249,7 +249,7 @@ public void setDescription(String description) { } - public NewRevisionVersion activeRulesetId(Long activeRulesetId) { + public NewRevisionVersion activeRulesetId(Integer activeRulesetId) { this.activeRulesetId = activeRulesetId; return this; @@ -262,12 +262,12 @@ public NewRevisionVersion activeRulesetId(Long activeRulesetId) { @javax.annotation.Nullable @ApiModelProperty(example = "5", value = "The ID of the ruleset this campaign template will use.") - public Long getActiveRulesetId() { + public Integer getActiveRulesetId() { return activeRulesetId; } - public void setActiveRulesetId(Long activeRulesetId) { + public void setActiveRulesetId(Integer activeRulesetId) { this.activeRulesetId = activeRulesetId; } diff --git a/src/main/java/one/talon/model/NewSecondaryDeployment.java b/src/main/java/one/talon/model/NewSecondaryDeployment.java new file mode 100644 index 00000000..502ce213 --- /dev/null +++ b/src/main/java/one/talon/model/NewSecondaryDeployment.java @@ -0,0 +1,98 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * NewSecondaryDeployment + */ + +public class NewSecondaryDeployment { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + + public NewSecondaryDeployment name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the deployment. Used as subdomain, e.g. experimental.your-company.europe-west1.talon.one + * @return name + **/ + @ApiModelProperty(example = "experimental", required = true, value = "The name of the deployment. Used as subdomain, e.g. experimental.your-company.europe-west1.talon.one") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewSecondaryDeployment newSecondaryDeployment = (NewSecondaryDeployment) o; + return Objects.equals(this.name, newSecondaryDeployment.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewSecondaryDeployment {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/NewWebhook.java b/src/main/java/one/talon/model/NewWebhook.java index a98a6e1c..c14cc5fc 100644 --- a/src/main/java/one/talon/model/NewWebhook.java +++ b/src/main/java/one/talon/model/NewWebhook.java @@ -44,6 +44,10 @@ public class NewWebhook { @SerializedName(SERIALIZED_NAME_DESCRIPTION) private String description; + public static final String SERIALIZED_NAME_DRAFT = "draft"; + @SerializedName(SERIALIZED_NAME_DRAFT) + private Boolean draft; + /** * API method for this webhook. */ @@ -121,6 +125,10 @@ public VerbEnum read(final JsonReader jsonReader) throws IOException { @SerializedName(SERIALIZED_NAME_ENABLED) private Boolean enabled; + public static final String SERIALIZED_NAME_AUTHENTICATION_ID = "authenticationId"; + @SerializedName(SERIALIZED_NAME_AUTHENTICATION_ID) + private Long authenticationId; + public NewWebhook applicationIds(List applicationIds) { @@ -194,6 +202,28 @@ public void setDescription(String description) { } + public NewWebhook draft(Boolean draft) { + + this.draft = draft; + return this; + } + + /** + * Indicates if the webhook is a draft. + * @return draft + **/ + @ApiModelProperty(example = "false", required = true, value = "Indicates if the webhook is a draft.") + + public Boolean getDraft() { + return draft; + } + + + public void setDraft(Boolean draft) { + this.draft = draft; + } + + public NewWebhook verb(VerbEnum verb) { this.verb = verb; @@ -337,6 +367,29 @@ public void setEnabled(Boolean enabled) { } + public NewWebhook authenticationId(Long authenticationId) { + + this.authenticationId = authenticationId; + return this; + } + + /** + * The ID of the credential that this webhook is using. + * @return authenticationId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", value = "The ID of the credential that this webhook is using.") + + public Long getAuthenticationId() { + return authenticationId; + } + + + public void setAuthenticationId(Long authenticationId) { + this.authenticationId = authenticationId; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -349,17 +402,19 @@ public boolean equals(java.lang.Object o) { return Objects.equals(this.applicationIds, newWebhook.applicationIds) && Objects.equals(this.title, newWebhook.title) && Objects.equals(this.description, newWebhook.description) && + Objects.equals(this.draft, newWebhook.draft) && Objects.equals(this.verb, newWebhook.verb) && Objects.equals(this.url, newWebhook.url) && Objects.equals(this.headers, newWebhook.headers) && Objects.equals(this.payload, newWebhook.payload) && Objects.equals(this.params, newWebhook.params) && - Objects.equals(this.enabled, newWebhook.enabled); + Objects.equals(this.enabled, newWebhook.enabled) && + Objects.equals(this.authenticationId, newWebhook.authenticationId); } @Override public int hashCode() { - return Objects.hash(applicationIds, title, description, verb, url, headers, payload, params, enabled); + return Objects.hash(applicationIds, title, description, draft, verb, url, headers, payload, params, enabled, authenticationId); } @@ -370,12 +425,14 @@ public String toString() { sb.append(" applicationIds: ").append(toIndentedString(applicationIds)).append("\n"); sb.append(" title: ").append(toIndentedString(title)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" draft: ").append(toIndentedString(draft)).append("\n"); sb.append(" verb: ").append(toIndentedString(verb)).append("\n"); sb.append(" url: ").append(toIndentedString(url)).append("\n"); sb.append(" headers: ").append(toIndentedString(headers)).append("\n"); sb.append(" payload: ").append(toIndentedString(payload)).append("\n"); sb.append(" params: ").append(toIndentedString(params)).append("\n"); sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); + sb.append(" authenticationId: ").append(toIndentedString(authenticationId)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/one/talon/model/PendingActivePointsData.java b/src/main/java/one/talon/model/PendingActivePointsData.java new file mode 100644 index 00000000..14b1dd1d --- /dev/null +++ b/src/main/java/one/talon/model/PendingActivePointsData.java @@ -0,0 +1,272 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import org.threeten.bp.OffsetDateTime; + +/** + * PendingActivePointsData + */ + +public class PendingActivePointsData { + public static final String SERIALIZED_NAME_LOYALTY_PROGRAM_I_D = "LoyaltyProgramID"; + @SerializedName(SERIALIZED_NAME_LOYALTY_PROGRAM_I_D) + private Long loyaltyProgramID; + + public static final String SERIALIZED_NAME_SUBLEDGER_I_D = "SubledgerID"; + @SerializedName(SERIALIZED_NAME_SUBLEDGER_I_D) + private String subledgerID = ""; + + public static final String SERIALIZED_NAME_CUSTOMER_PROFILE_I_D = "CustomerProfileID"; + @SerializedName(SERIALIZED_NAME_CUSTOMER_PROFILE_I_D) + private String customerProfileID; + + public static final String SERIALIZED_NAME_POINTS = "Points"; + @SerializedName(SERIALIZED_NAME_POINTS) + private BigDecimal points; + + public static final String SERIALIZED_NAME_ACTIVE_ON = "ActiveOn"; + @SerializedName(SERIALIZED_NAME_ACTIVE_ON) + private OffsetDateTime activeOn; + + public static final String SERIALIZED_NAME_EXPIRE_ON = "ExpireOn"; + @SerializedName(SERIALIZED_NAME_EXPIRE_ON) + private OffsetDateTime expireOn; + + public static final String SERIALIZED_NAME_SESSION_INTEGRATION_I_D = "SessionIntegrationID"; + @SerializedName(SERIALIZED_NAME_SESSION_INTEGRATION_I_D) + private String sessionIntegrationID; + + + public PendingActivePointsData loyaltyProgramID(Long loyaltyProgramID) { + + this.loyaltyProgramID = loyaltyProgramID; + return this; + } + + /** + * The ID of the loyalty program. + * minimum: 1 + * @return loyaltyProgramID + **/ + @ApiModelProperty(example = "5", required = true, value = "The ID of the loyalty program.") + + public Long getLoyaltyProgramID() { + return loyaltyProgramID; + } + + + public void setLoyaltyProgramID(Long loyaltyProgramID) { + this.loyaltyProgramID = loyaltyProgramID; + } + + + public PendingActivePointsData subledgerID(String subledgerID) { + + this.subledgerID = subledgerID; + return this; + } + + /** + * The ID of the subledger, when applicable. If this field is empty, the main ledger is used. + * @return subledgerID + **/ + @ApiModelProperty(example = "SL001", required = true, value = "The ID of the subledger, when applicable. If this field is empty, the main ledger is used.") + + public String getSubledgerID() { + return subledgerID; + } + + + public void setSubledgerID(String subledgerID) { + this.subledgerID = subledgerID; + } + + + public PendingActivePointsData customerProfileID(String customerProfileID) { + + this.customerProfileID = customerProfileID; + return this; + } + + /** + * The integration ID of the customer profile whose loyalty points are becoming active. + * @return customerProfileID + **/ + @ApiModelProperty(example = "URNGV8294NV", required = true, value = "The integration ID of the customer profile whose loyalty points are becoming active.") + + public String getCustomerProfileID() { + return customerProfileID; + } + + + public void setCustomerProfileID(String customerProfileID) { + this.customerProfileID = customerProfileID; + } + + + public PendingActivePointsData points(BigDecimal points) { + + this.points = points; + return this; + } + + /** + * The amount of pending loyalty points becoming active. + * @return points + **/ + @ApiModelProperty(example = "10.99", required = true, value = "The amount of pending loyalty points becoming active.") + + public BigDecimal getPoints() { + return points; + } + + + public void setPoints(BigDecimal points) { + this.points = points; + } + + + public PendingActivePointsData activeOn(OffsetDateTime activeOn) { + + this.activeOn = activeOn; + return this; + } + + /** + * The date and time the loyalty points become active. + * @return activeOn + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2023-08-20T12:22+02:00", value = "The date and time the loyalty points become active.") + + public OffsetDateTime getActiveOn() { + return activeOn; + } + + + public void setActiveOn(OffsetDateTime activeOn) { + this.activeOn = activeOn; + } + + + public PendingActivePointsData expireOn(OffsetDateTime expireOn) { + + this.expireOn = expireOn; + return this; + } + + /** + * The date and time the loyalty points expire. + * @return expireOn + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2023-09-01T12:23+02:00", value = "The date and time the loyalty points expire.") + + public OffsetDateTime getExpireOn() { + return expireOn; + } + + + public void setExpireOn(OffsetDateTime expireOn) { + this.expireOn = expireOn; + } + + + public PendingActivePointsData sessionIntegrationID(String sessionIntegrationID) { + + this.sessionIntegrationID = sessionIntegrationID; + return this; + } + + /** + * The integration ID of the session through which the points were earned. + * @return sessionIntegrationID + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "cc53e4fa-547f-4f5e-8333-76e05c381f67", value = "The integration ID of the session through which the points were earned.") + + public String getSessionIntegrationID() { + return sessionIntegrationID; + } + + + public void setSessionIntegrationID(String sessionIntegrationID) { + this.sessionIntegrationID = sessionIntegrationID; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PendingActivePointsData pendingActivePointsData = (PendingActivePointsData) o; + return Objects.equals(this.loyaltyProgramID, pendingActivePointsData.loyaltyProgramID) && + Objects.equals(this.subledgerID, pendingActivePointsData.subledgerID) && + Objects.equals(this.customerProfileID, pendingActivePointsData.customerProfileID) && + Objects.equals(this.points, pendingActivePointsData.points) && + Objects.equals(this.activeOn, pendingActivePointsData.activeOn) && + Objects.equals(this.expireOn, pendingActivePointsData.expireOn) && + Objects.equals(this.sessionIntegrationID, pendingActivePointsData.sessionIntegrationID); + } + + @Override + public int hashCode() { + return Objects.hash(loyaltyProgramID, subledgerID, customerProfileID, points, activeOn, expireOn, sessionIntegrationID); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PendingActivePointsData {\n"); + sb.append(" loyaltyProgramID: ").append(toIndentedString(loyaltyProgramID)).append("\n"); + sb.append(" subledgerID: ").append(toIndentedString(subledgerID)).append("\n"); + sb.append(" customerProfileID: ").append(toIndentedString(customerProfileID)).append("\n"); + sb.append(" points: ").append(toIndentedString(points)).append("\n"); + sb.append(" activeOn: ").append(toIndentedString(activeOn)).append("\n"); + sb.append(" expireOn: ").append(toIndentedString(expireOn)).append("\n"); + sb.append(" sessionIntegrationID: ").append(toIndentedString(sessionIntegrationID)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/PendingActivePointsNotification.java b/src/main/java/one/talon/model/PendingActivePointsNotification.java new file mode 100644 index 00000000..76960148 --- /dev/null +++ b/src/main/java/one/talon/model/PendingActivePointsNotification.java @@ -0,0 +1,207 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.PendingActivePointsData; + +/** + * PendingActivePointsNotification + */ + +public class PendingActivePointsNotification { + public static final String SERIALIZED_NAME_TOTAL_RESULT_SIZE = "TotalResultSize"; + @SerializedName(SERIALIZED_NAME_TOTAL_RESULT_SIZE) + private Long totalResultSize; + + public static final String SERIALIZED_NAME_DATA = "Data"; + @SerializedName(SERIALIZED_NAME_DATA) + private List data = new ArrayList(); + + /** + * The type of notification. + */ + @JsonAdapter(NotificationTypeEnum.Adapter.class) + public enum NotificationTypeEnum { + LOYALTYPOINTSPENDINGTOACTIVE("LoyaltyPointsPendingToActive"); + + private String value; + + NotificationTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static NotificationTypeEnum fromValue(String value) { + for (NotificationTypeEnum b : NotificationTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final NotificationTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public NotificationTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return NotificationTypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_NOTIFICATION_TYPE = "NotificationType"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE) + private NotificationTypeEnum notificationType; + + + public PendingActivePointsNotification totalResultSize(Long totalResultSize) { + + this.totalResultSize = totalResultSize; + return this; + } + + /** + * Get totalResultSize + * @return totalResultSize + **/ + @ApiModelProperty(example = "1", required = true, value = "") + + public Long getTotalResultSize() { + return totalResultSize; + } + + + public void setTotalResultSize(Long totalResultSize) { + this.totalResultSize = totalResultSize; + } + + + public PendingActivePointsNotification data(List data) { + + this.data = data; + return this; + } + + public PendingActivePointsNotification addDataItem(PendingActivePointsData dataItem) { + this.data.add(dataItem); + return this; + } + + /** + * The array of pending points. + * @return data + **/ + @ApiModelProperty(required = true, value = "The array of pending points.") + + public List getData() { + return data; + } + + + public void setData(List data) { + this.data = data; + } + + + public PendingActivePointsNotification notificationType(NotificationTypeEnum notificationType) { + + this.notificationType = notificationType; + return this; + } + + /** + * The type of notification. + * @return notificationType + **/ + @ApiModelProperty(required = true, value = "The type of notification.") + + public NotificationTypeEnum getNotificationType() { + return notificationType; + } + + + public void setNotificationType(NotificationTypeEnum notificationType) { + this.notificationType = notificationType; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PendingActivePointsNotification pendingActivePointsNotification = (PendingActivePointsNotification) o; + return Objects.equals(this.totalResultSize, pendingActivePointsNotification.totalResultSize) && + Objects.equals(this.data, pendingActivePointsNotification.data) && + Objects.equals(this.notificationType, pendingActivePointsNotification.notificationType); + } + + @Override + public int hashCode() { + return Objects.hash(totalResultSize, data, notificationType); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PendingActivePointsNotification {\n"); + sb.append(" totalResultSize: ").append(toIndentedString(totalResultSize)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" notificationType: ").append(toIndentedString(notificationType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/Picklist.java b/src/main/java/one/talon/model/Picklist.java index f2cfb243..5ca98d61 100644 --- a/src/main/java/one/talon/model/Picklist.java +++ b/src/main/java/one/talon/model/Picklist.java @@ -123,10 +123,10 @@ public Picklist id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/PriceDetail.java b/src/main/java/one/talon/model/PriceDetail.java new file mode 100644 index 00000000..80ecaf93 --- /dev/null +++ b/src/main/java/one/talon/model/PriceDetail.java @@ -0,0 +1,188 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.UUID; +import org.threeten.bp.OffsetDateTime; + +/** + * PriceDetail + */ + +public class PriceDetail { + public static final String SERIALIZED_NAME_PRICE = "price"; + @SerializedName(SERIALIZED_NAME_PRICE) + private Float price; + + public static final String SERIALIZED_NAME_ADJUSTMENT_REFERENCE_ID = "adjustmentReferenceId"; + @SerializedName(SERIALIZED_NAME_ADJUSTMENT_REFERENCE_ID) + private UUID adjustmentReferenceId; + + public static final String SERIALIZED_NAME_ADJUSTMENT_EFFECTIVE_FROM = "adjustmentEffectiveFrom"; + @SerializedName(SERIALIZED_NAME_ADJUSTMENT_EFFECTIVE_FROM) + private OffsetDateTime adjustmentEffectiveFrom; + + public static final String SERIALIZED_NAME_ADJUSTMENT_EFFECTIVE_UNTIL = "adjustmentEffectiveUntil"; + @SerializedName(SERIALIZED_NAME_ADJUSTMENT_EFFECTIVE_UNTIL) + private OffsetDateTime adjustmentEffectiveUntil; + + + public PriceDetail price(Float price) { + + this.price = price; + return this; + } + + /** + * The value of this price type. + * @return price + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "90.0", value = "The value of this price type.") + + public Float getPrice() { + return price; + } + + + public void setPrice(Float price) { + this.price = price; + } + + + public PriceDetail adjustmentReferenceId(UUID adjustmentReferenceId) { + + this.adjustmentReferenceId = adjustmentReferenceId; + return this; + } + + /** + * The reference identifier of the selected price adjustment for this SKU. + * @return adjustmentReferenceId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "68851723-e6fa-488f-ace9-112581e6c19b", value = "The reference identifier of the selected price adjustment for this SKU.") + + public UUID getAdjustmentReferenceId() { + return adjustmentReferenceId; + } + + + public void setAdjustmentReferenceId(UUID adjustmentReferenceId) { + this.adjustmentReferenceId = adjustmentReferenceId; + } + + + public PriceDetail adjustmentEffectiveFrom(OffsetDateTime adjustmentEffectiveFrom) { + + this.adjustmentEffectiveFrom = adjustmentEffectiveFrom; + return this; + } + + /** + * The date and time from which the price adjustment is effective. + * @return adjustmentEffectiveFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2025-05-25T00:00Z", value = "The date and time from which the price adjustment is effective.") + + public OffsetDateTime getAdjustmentEffectiveFrom() { + return adjustmentEffectiveFrom; + } + + + public void setAdjustmentEffectiveFrom(OffsetDateTime adjustmentEffectiveFrom) { + this.adjustmentEffectiveFrom = adjustmentEffectiveFrom; + } + + + public PriceDetail adjustmentEffectiveUntil(OffsetDateTime adjustmentEffectiveUntil) { + + this.adjustmentEffectiveUntil = adjustmentEffectiveUntil; + return this; + } + + /** + * The date and time until which the price adjustment is effective. + * @return adjustmentEffectiveUntil + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2025-05-30T00:00Z", value = "The date and time until which the price adjustment is effective.") + + public OffsetDateTime getAdjustmentEffectiveUntil() { + return adjustmentEffectiveUntil; + } + + + public void setAdjustmentEffectiveUntil(OffsetDateTime adjustmentEffectiveUntil) { + this.adjustmentEffectiveUntil = adjustmentEffectiveUntil; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PriceDetail priceDetail = (PriceDetail) o; + return Objects.equals(this.price, priceDetail.price) && + Objects.equals(this.adjustmentReferenceId, priceDetail.adjustmentReferenceId) && + Objects.equals(this.adjustmentEffectiveFrom, priceDetail.adjustmentEffectiveFrom) && + Objects.equals(this.adjustmentEffectiveUntil, priceDetail.adjustmentEffectiveUntil); + } + + @Override + public int hashCode() { + return Objects.hash(price, adjustmentReferenceId, adjustmentEffectiveFrom, adjustmentEffectiveUntil); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PriceDetail {\n"); + sb.append(" price: ").append(toIndentedString(price)).append("\n"); + sb.append(" adjustmentReferenceId: ").append(toIndentedString(adjustmentReferenceId)).append("\n"); + sb.append(" adjustmentEffectiveFrom: ").append(toIndentedString(adjustmentEffectiveFrom)).append("\n"); + sb.append(" adjustmentEffectiveUntil: ").append(toIndentedString(adjustmentEffectiveUntil)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/PriceType.java b/src/main/java/one/talon/model/PriceType.java new file mode 100644 index 00000000..5a11e696 --- /dev/null +++ b/src/main/java/one/talon/model/PriceType.java @@ -0,0 +1,337 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import org.threeten.bp.OffsetDateTime; + +/** + * PriceType + */ + +public class PriceType { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private Long id; + + public static final String SERIALIZED_NAME_CREATED = "created"; + @SerializedName(SERIALIZED_NAME_CREATED) + private OffsetDateTime created; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "accountId"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private Long accountId; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_TITLE = "title"; + @SerializedName(SERIALIZED_NAME_TITLE) + private String title; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_MODIFIED = "modified"; + @SerializedName(SERIALIZED_NAME_MODIFIED) + private OffsetDateTime modified; + + public static final String SERIALIZED_NAME_SUBSCRIBED_CATALOGS_IDS = "subscribedCatalogsIds"; + @SerializedName(SERIALIZED_NAME_SUBSCRIBED_CATALOGS_IDS) + private List subscribedCatalogsIds = new ArrayList(); + + public static final String SERIALIZED_NAME_TARGETED_AUDIENCES_IDS = "targetedAudiencesIds"; + @SerializedName(SERIALIZED_NAME_TARGETED_AUDIENCES_IDS) + private List targetedAudiencesIds = new ArrayList(); + + + public PriceType id(Long id) { + + this.id = id; + return this; + } + + /** + * The internal ID of this entity. + * @return id + **/ + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") + + public Long getId() { + return id; + } + + + public void setId(Long id) { + this.id = id; + } + + + public PriceType created(OffsetDateTime created) { + + this.created = created; + return this; + } + + /** + * The time this entity was created. + * @return created + **/ + @ApiModelProperty(example = "2020-06-10T09:05:27.993483Z", required = true, value = "The time this entity was created.") + + public OffsetDateTime getCreated() { + return created; + } + + + public void setCreated(OffsetDateTime created) { + this.created = created; + } + + + public PriceType accountId(Long accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The ID of the account that owns this price type. + * @return accountId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", value = "The ID of the account that owns this price type.") + + public Long getAccountId() { + return accountId; + } + + + public void setAccountId(Long accountId) { + this.accountId = accountId; + } + + + public PriceType name(String name) { + + this.name = name; + return this; + } + + /** + * The API name of the price type. This is an immutable value. + * @return name + **/ + @ApiModelProperty(example = "member", required = true, value = "The API name of the price type. This is an immutable value.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public PriceType title(String title) { + + this.title = title; + return this; + } + + /** + * The title of the price type. + * @return title + **/ + @ApiModelProperty(example = "Member Price", required = true, value = "The title of the price type.") + + public String getTitle() { + return title; + } + + + public void setTitle(String title) { + this.title = title; + } + + + public PriceType description(String description) { + + this.description = description; + return this; + } + + /** + * The description of the price type. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Price available exclusively to members.", value = "The description of the price type.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public PriceType modified(OffsetDateTime modified) { + + this.modified = modified; + return this; + } + + /** + * The date and time when the price type was last modified. + * @return modified + **/ + @ApiModelProperty(example = "2021-09-12T10:12:42Z", required = true, value = "The date and time when the price type was last modified.") + + public OffsetDateTime getModified() { + return modified; + } + + + public void setModified(OffsetDateTime modified) { + this.modified = modified; + } + + + public PriceType subscribedCatalogsIds(List subscribedCatalogsIds) { + + this.subscribedCatalogsIds = subscribedCatalogsIds; + return this; + } + + public PriceType addSubscribedCatalogsIdsItem(Long subscribedCatalogsIdsItem) { + this.subscribedCatalogsIds.add(subscribedCatalogsIdsItem); + return this; + } + + /** + * A list of the IDs of the catalogs that are subscribed to this price type. + * @return subscribedCatalogsIds + **/ + @ApiModelProperty(example = "[1, 2, 3]", required = true, value = "A list of the IDs of the catalogs that are subscribed to this price type.") + + public List getSubscribedCatalogsIds() { + return subscribedCatalogsIds; + } + + + public void setSubscribedCatalogsIds(List subscribedCatalogsIds) { + this.subscribedCatalogsIds = subscribedCatalogsIds; + } + + + public PriceType targetedAudiencesIds(List targetedAudiencesIds) { + + this.targetedAudiencesIds = targetedAudiencesIds; + return this; + } + + public PriceType addTargetedAudiencesIdsItem(Long targetedAudiencesIdsItem) { + this.targetedAudiencesIds.add(targetedAudiencesIdsItem); + return this; + } + + /** + * A list of the IDs of the audiences that are targeted by this price type. + * @return targetedAudiencesIds + **/ + @ApiModelProperty(example = "[1, 2, 3]", required = true, value = "A list of the IDs of the audiences that are targeted by this price type.") + + public List getTargetedAudiencesIds() { + return targetedAudiencesIds; + } + + + public void setTargetedAudiencesIds(List targetedAudiencesIds) { + this.targetedAudiencesIds = targetedAudiencesIds; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PriceType priceType = (PriceType) o; + return Objects.equals(this.id, priceType.id) && + Objects.equals(this.created, priceType.created) && + Objects.equals(this.accountId, priceType.accountId) && + Objects.equals(this.name, priceType.name) && + Objects.equals(this.title, priceType.title) && + Objects.equals(this.description, priceType.description) && + Objects.equals(this.modified, priceType.modified) && + Objects.equals(this.subscribedCatalogsIds, priceType.subscribedCatalogsIds) && + Objects.equals(this.targetedAudiencesIds, priceType.targetedAudiencesIds); + } + + @Override + public int hashCode() { + return Objects.hash(id, created, accountId, name, title, description, modified, subscribedCatalogsIds, targetedAudiencesIds); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PriceType {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" created: ").append(toIndentedString(created)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" modified: ").append(toIndentedString(modified)).append("\n"); + sb.append(" subscribedCatalogsIds: ").append(toIndentedString(subscribedCatalogsIds)).append("\n"); + sb.append(" targetedAudiencesIds: ").append(toIndentedString(targetedAudiencesIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/Referral.java b/src/main/java/one/talon/model/Referral.java index 335bcefa..2452cc83 100644 --- a/src/main/java/one/talon/model/Referral.java +++ b/src/main/java/one/talon/model/Referral.java @@ -90,10 +90,10 @@ public Referral id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/RevisionVersion.java b/src/main/java/one/talon/model/RevisionVersion.java index 8b08e0aa..146fc9c9 100644 --- a/src/main/java/one/talon/model/RevisionVersion.java +++ b/src/main/java/one/talon/model/RevisionVersion.java @@ -88,7 +88,7 @@ public class RevisionVersion { public static final String SERIALIZED_NAME_ACTIVE_RULESET_ID = "activeRulesetId"; @SerializedName(SERIALIZED_NAME_ACTIVE_RULESET_ID) - private Long activeRulesetId; + private Integer activeRulesetId; public static final String SERIALIZED_NAME_TAGS = "tags"; @SerializedName(SERIALIZED_NAME_TAGS) @@ -457,7 +457,7 @@ public void setDescription(String description) { } - public RevisionVersion activeRulesetId(Long activeRulesetId) { + public RevisionVersion activeRulesetId(Integer activeRulesetId) { this.activeRulesetId = activeRulesetId; return this; @@ -470,12 +470,12 @@ public RevisionVersion activeRulesetId(Long activeRulesetId) { @javax.annotation.Nullable @ApiModelProperty(example = "5", value = "The ID of the ruleset this campaign template will use.") - public Long getActiveRulesetId() { + public Integer getActiveRulesetId() { return activeRulesetId; } - public void setActiveRulesetId(Long activeRulesetId) { + public void setActiveRulesetId(Integer activeRulesetId) { this.activeRulesetId = activeRulesetId; } diff --git a/src/main/java/one/talon/model/Role.java b/src/main/java/one/talon/model/Role.java index 9fdbb90f..d85db652 100644 --- a/src/main/java/one/talon/model/Role.java +++ b/src/main/java/one/talon/model/Role.java @@ -76,10 +76,10 @@ public Role id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/RoleV2.java b/src/main/java/one/talon/model/RoleV2.java index ff466ad2..292bb758 100644 --- a/src/main/java/one/talon/model/RoleV2.java +++ b/src/main/java/one/talon/model/RoleV2.java @@ -73,10 +73,10 @@ public RoleV2 id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/Ruleset.java b/src/main/java/one/talon/model/Ruleset.java index 83a11c8c..e640ec16 100644 --- a/src/main/java/one/talon/model/Ruleset.java +++ b/src/main/java/one/talon/model/Ruleset.java @@ -86,10 +86,10 @@ public Ruleset id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/SamlConnection.java b/src/main/java/one/talon/model/SamlConnection.java index fd37815a..7512716e 100644 --- a/src/main/java/one/talon/model/SamlConnection.java +++ b/src/main/java/one/talon/model/SamlConnection.java @@ -283,10 +283,10 @@ public SamlConnection id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/ScimBaseGroup.java b/src/main/java/one/talon/model/ScimBaseGroup.java new file mode 100644 index 00000000..0a57c5a2 --- /dev/null +++ b/src/main/java/one/talon/model/ScimBaseGroup.java @@ -0,0 +1,140 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.ScimGroupMember; + +/** + * Define the schema for base fields in a group using the SCIM provisioning protocol. Talon.One uses this schema to create roles. + */ +@ApiModel(description = "Define the schema for base fields in a group using the SCIM provisioning protocol. Talon.One uses this schema to create roles.") + +public class ScimBaseGroup { + public static final String SERIALIZED_NAME_DISPLAY_NAME = "displayName"; + @SerializedName(SERIALIZED_NAME_DISPLAY_NAME) + private String displayName; + + public static final String SERIALIZED_NAME_MEMBERS = "members"; + @SerializedName(SERIALIZED_NAME_MEMBERS) + private List members = null; + + + public ScimBaseGroup displayName(String displayName) { + + this.displayName = displayName; + return this; + } + + /** + * Display name of the group (Talon.One role). + * @return displayName + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Manager", value = "Display name of the group (Talon.One role).") + + public String getDisplayName() { + return displayName; + } + + + public void setDisplayName(String displayName) { + this.displayName = displayName; + } + + + public ScimBaseGroup members(List members) { + + this.members = members; + return this; + } + + public ScimBaseGroup addMembersItem(ScimGroupMember membersItem) { + if (this.members == null) { + this.members = new ArrayList(); + } + this.members.add(membersItem); + return this; + } + + /** + * List of members to assign to the new Talon.One role. + * @return members + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of members to assign to the new Talon.One role.") + + public List getMembers() { + return members; + } + + + public void setMembers(List members) { + this.members = members; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ScimBaseGroup scimBaseGroup = (ScimBaseGroup) o; + return Objects.equals(this.displayName, scimBaseGroup.displayName) && + Objects.equals(this.members, scimBaseGroup.members); + } + + @Override + public int hashCode() { + return Objects.hash(displayName, members); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ScimBaseGroup {\n"); + sb.append(" displayName: ").append(toIndentedString(displayName)).append("\n"); + sb.append(" members: ").append(toIndentedString(members)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/ScimGroup.java b/src/main/java/one/talon/model/ScimGroup.java new file mode 100644 index 00000000..223e99bd --- /dev/null +++ b/src/main/java/one/talon/model/ScimGroup.java @@ -0,0 +1,168 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.ScimGroupMember; + +/** + * 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. + */ +@ApiModel(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.") + +public class ScimGroup { + public static final String SERIALIZED_NAME_DISPLAY_NAME = "displayName"; + @SerializedName(SERIALIZED_NAME_DISPLAY_NAME) + private String displayName; + + public static final String SERIALIZED_NAME_MEMBERS = "members"; + @SerializedName(SERIALIZED_NAME_MEMBERS) + private List members = null; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + + public ScimGroup displayName(String displayName) { + + this.displayName = displayName; + return this; + } + + /** + * Display name of the group (Talon.One role). + * @return displayName + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Manager", value = "Display name of the group (Talon.One role).") + + public String getDisplayName() { + return displayName; + } + + + public void setDisplayName(String displayName) { + this.displayName = displayName; + } + + + public ScimGroup members(List members) { + + this.members = members; + return this; + } + + public ScimGroup addMembersItem(ScimGroupMember membersItem) { + if (this.members == null) { + this.members = new ArrayList(); + } + this.members.add(membersItem); + return this; + } + + /** + * List of members to assign to the new Talon.One role. + * @return members + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of members to assign to the new Talon.One role.") + + public List getMembers() { + return members; + } + + + public void setMembers(List members) { + this.members = members; + } + + + public ScimGroup id(String id) { + + this.id = id; + return this; + } + + /** + * ID of the group. + * @return id + **/ + @ApiModelProperty(example = "359", required = true, value = "ID of the group.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ScimGroup scimGroup = (ScimGroup) o; + return Objects.equals(this.displayName, scimGroup.displayName) && + Objects.equals(this.members, scimGroup.members) && + Objects.equals(this.id, scimGroup.id); + } + + @Override + public int hashCode() { + return Objects.hash(displayName, members, id); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ScimGroup {\n"); + sb.append(" displayName: ").append(toIndentedString(displayName)).append("\n"); + sb.append(" members: ").append(toIndentedString(members)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/ScimGroupMember.java b/src/main/java/one/talon/model/ScimGroupMember.java new file mode 100644 index 00000000..50766abe --- /dev/null +++ b/src/main/java/one/talon/model/ScimGroupMember.java @@ -0,0 +1,129 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * 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. + */ +@ApiModel(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.") + +public class ScimGroupMember { + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + public static final String SERIALIZED_NAME_DISPLAY = "display"; + @SerializedName(SERIALIZED_NAME_DISPLAY) + private String display; + + + public ScimGroupMember value(String value) { + + this.value = value; + return this; + } + + /** + * Unique identifier of the member. + * @return value + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "258", value = "Unique identifier of the member.") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + public ScimGroupMember display(String display) { + + this.display = display; + return this; + } + + /** + * Identifier of the user. This is usually an email address. + * @return display + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "john.doe@example.com", value = "Identifier of the user. This is usually an email address.") + + public String getDisplay() { + return display; + } + + + public void setDisplay(String display) { + this.display = display; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ScimGroupMember scimGroupMember = (ScimGroupMember) o; + return Objects.equals(this.value, scimGroupMember.value) && + Objects.equals(this.display, scimGroupMember.display); + } + + @Override + public int hashCode() { + return Objects.hash(value, display); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ScimGroupMember {\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" display: ").append(toIndentedString(display)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/ScimGroupsListResponse.java b/src/main/java/one/talon/model/ScimGroupsListResponse.java new file mode 100644 index 00000000..5734fec1 --- /dev/null +++ b/src/main/java/one/talon/model/ScimGroupsListResponse.java @@ -0,0 +1,173 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.ScimGroup; + +/** + * 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. + */ +@ApiModel(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.") + +public class ScimGroupsListResponse { + public static final String SERIALIZED_NAME_RESOURCES = "Resources"; + @SerializedName(SERIALIZED_NAME_RESOURCES) + private List resources = new ArrayList(); + + public static final String SERIALIZED_NAME_SCHEMAS = "schemas"; + @SerializedName(SERIALIZED_NAME_SCHEMAS) + private List schemas = null; + + public static final String SERIALIZED_NAME_TOTAL_RESULTS = "totalResults"; + @SerializedName(SERIALIZED_NAME_TOTAL_RESULTS) + private Long totalResults; + + + public ScimGroupsListResponse resources(List resources) { + + this.resources = resources; + return this; + } + + public ScimGroupsListResponse addResourcesItem(ScimGroup resourcesItem) { + this.resources.add(resourcesItem); + return this; + } + + /** + * Get resources + * @return resources + **/ + @ApiModelProperty(required = true, value = "") + + public List getResources() { + return resources; + } + + + public void setResources(List resources) { + this.resources = resources; + } + + + public ScimGroupsListResponse schemas(List schemas) { + + this.schemas = schemas; + return this; + } + + public ScimGroupsListResponse addSchemasItem(String schemasItem) { + if (this.schemas == null) { + this.schemas = new ArrayList(); + } + this.schemas.add(schemasItem); + return this; + } + + /** + * SCIM schema for the given resource. + * @return schemas + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "SCIM schema for the given resource.") + + public List getSchemas() { + return schemas; + } + + + public void setSchemas(List schemas) { + this.schemas = schemas; + } + + + public ScimGroupsListResponse totalResults(Long totalResults) { + + this.totalResults = totalResults; + return this; + } + + /** + * Number of results in the response. + * @return totalResults + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of results in the response.") + + public Long getTotalResults() { + return totalResults; + } + + + public void setTotalResults(Long totalResults) { + this.totalResults = totalResults; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ScimGroupsListResponse scimGroupsListResponse = (ScimGroupsListResponse) o; + return Objects.equals(this.resources, scimGroupsListResponse.resources) && + Objects.equals(this.schemas, scimGroupsListResponse.schemas) && + Objects.equals(this.totalResults, scimGroupsListResponse.totalResults); + } + + @Override + public int hashCode() { + return Objects.hash(resources, schemas, totalResults); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ScimGroupsListResponse {\n"); + sb.append(" resources: ").append(toIndentedString(resources)).append("\n"); + sb.append(" schemas: ").append(toIndentedString(schemas)).append("\n"); + sb.append(" totalResults: ").append(toIndentedString(totalResults)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/SecondaryDeployment.java b/src/main/java/one/talon/model/SecondaryDeployment.java new file mode 100644 index 00000000..ae332106 --- /dev/null +++ b/src/main/java/one/talon/model/SecondaryDeployment.java @@ -0,0 +1,350 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import org.threeten.bp.OffsetDateTime; + +/** + * The record of the secondary deployment. + */ +@ApiModel(description = "The record of the secondary deployment.") + +public class SecondaryDeployment { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private Long id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_USER_ID = "userId"; + @SerializedName(SERIALIZED_NAME_USER_ID) + private Long userId; + + /** + * The status of the deployment. + */ + @JsonAdapter(StatusEnum.Adapter.class) + public enum StatusEnum { + CREATED("created"), + + ACTIVE("active"), + + FAILED("failed"), + + DELETED("deleted"); + + private String value; + + StatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StatusEnum fromValue(String value) { + for (StatusEnum b : StatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final StatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StatusEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private StatusEnum status; + + public static final String SERIALIZED_NAME_CREATED_AT = "createdAt"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_ACTIVE_AT = "activeAt"; + @SerializedName(SERIALIZED_NAME_ACTIVE_AT) + private OffsetDateTime activeAt; + + public static final String SERIALIZED_NAME_FAILED_AT = "failedAt"; + @SerializedName(SERIALIZED_NAME_FAILED_AT) + private OffsetDateTime failedAt; + + public static final String SERIALIZED_NAME_DELETED_AT = "deletedAt"; + @SerializedName(SERIALIZED_NAME_DELETED_AT) + private OffsetDateTime deletedAt; + + + public SecondaryDeployment id(Long id) { + + this.id = id; + return this; + } + + /** + * 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. + * @return id + **/ + @ApiModelProperty(example = "6", required = true, value = "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.") + + public Long getId() { + return id; + } + + + public void setId(Long id) { + this.id = id; + } + + + public SecondaryDeployment name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the deployment. Used as subdomain, e.g. experimental.your-company.europe-west1.talon.one + * @return name + **/ + @ApiModelProperty(example = "experimental", required = true, value = "The name of the deployment. Used as subdomain, e.g. experimental.your-company.europe-west1.talon.one") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public SecondaryDeployment userId(Long userId) { + + this.userId = userId; + return this; + } + + /** + * The ID of the user who created the deployment. + * @return userId + **/ + @ApiModelProperty(example = "4", required = true, value = "The ID of the user who created the deployment.") + + public Long getUserId() { + return userId; + } + + + public void setUserId(Long userId) { + this.userId = userId; + } + + + public SecondaryDeployment status(StatusEnum status) { + + this.status = status; + return this; + } + + /** + * The status of the deployment. + * @return status + **/ + @ApiModelProperty(example = "active", required = true, value = "The status of the deployment.") + + public StatusEnum getStatus() { + return status; + } + + + public void setStatus(StatusEnum status) { + this.status = status; + } + + + public SecondaryDeployment createdAt(OffsetDateTime createdAt) { + + this.createdAt = createdAt; + return this; + } + + /** + * Timestamp when the deployment was created. + * @return createdAt + **/ + @ApiModelProperty(example = "2023-01-16T16:00:00.700763Z", required = true, value = "Timestamp when the deployment was created.") + + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + + public void setCreatedAt(OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public SecondaryDeployment activeAt(OffsetDateTime activeAt) { + + this.activeAt = activeAt; + return this; + } + + /** + * Timestamp when the deployment became active. + * @return activeAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2023-01-17T16:00:00.700763Z", value = "Timestamp when the deployment became active.") + + public OffsetDateTime getActiveAt() { + return activeAt; + } + + + public void setActiveAt(OffsetDateTime activeAt) { + this.activeAt = activeAt; + } + + + public SecondaryDeployment failedAt(OffsetDateTime failedAt) { + + this.failedAt = failedAt; + return this; + } + + /** + * Timestamp when the deployment failed. + * @return failedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2023-01-17T16:00:00.700763Z", value = "Timestamp when the deployment failed.") + + public OffsetDateTime getFailedAt() { + return failedAt; + } + + + public void setFailedAt(OffsetDateTime failedAt) { + this.failedAt = failedAt; + } + + + public SecondaryDeployment deletedAt(OffsetDateTime deletedAt) { + + this.deletedAt = deletedAt; + return this; + } + + /** + * Timestamp when the deployment was deleted. + * @return deletedAt + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2023-01-18T16:00:00.700763Z", value = "Timestamp when the deployment was deleted.") + + public OffsetDateTime getDeletedAt() { + return deletedAt; + } + + + public void setDeletedAt(OffsetDateTime deletedAt) { + this.deletedAt = deletedAt; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecondaryDeployment secondaryDeployment = (SecondaryDeployment) o; + return Objects.equals(this.id, secondaryDeployment.id) && + Objects.equals(this.name, secondaryDeployment.name) && + Objects.equals(this.userId, secondaryDeployment.userId) && + Objects.equals(this.status, secondaryDeployment.status) && + Objects.equals(this.createdAt, secondaryDeployment.createdAt) && + Objects.equals(this.activeAt, secondaryDeployment.activeAt) && + Objects.equals(this.failedAt, secondaryDeployment.failedAt) && + Objects.equals(this.deletedAt, secondaryDeployment.deletedAt); + } + + @Override + public int hashCode() { + return Objects.hash(id, name, userId, status, createdAt, activeAt, failedAt, deletedAt); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecondaryDeployment {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" activeAt: ").append(toIndentedString(activeAt)).append("\n"); + sb.append(" failedAt: ").append(toIndentedString(failedAt)).append("\n"); + sb.append(" deletedAt: ").append(toIndentedString(deletedAt)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/Store.java b/src/main/java/one/talon/model/Store.java index f038366d..af1db8af 100644 --- a/src/main/java/one/talon/model/Store.java +++ b/src/main/java/one/talon/model/Store.java @@ -76,10 +76,10 @@ public Store id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/TemplateDef.java b/src/main/java/one/talon/model/TemplateDef.java index c739ed72..65f4f5df 100644 --- a/src/main/java/one/talon/model/TemplateDef.java +++ b/src/main/java/one/talon/model/TemplateDef.java @@ -85,10 +85,10 @@ public TemplateDef id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/TierDowngradeData.java b/src/main/java/one/talon/model/TierDowngradeData.java new file mode 100644 index 00000000..55468c0e --- /dev/null +++ b/src/main/java/one/talon/model/TierDowngradeData.java @@ -0,0 +1,299 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import org.threeten.bp.OffsetDateTime; + +/** + * TierDowngradeData + */ + +public class TierDowngradeData { + public static final String SERIALIZED_NAME_CUSTOMER_PROFILE_I_D = "CustomerProfileID"; + @SerializedName(SERIALIZED_NAME_CUSTOMER_PROFILE_I_D) + private String customerProfileID; + + public static final String SERIALIZED_NAME_LOYALTY_PROGRAM_I_D = "LoyaltyProgramID"; + @SerializedName(SERIALIZED_NAME_LOYALTY_PROGRAM_I_D) + private Long loyaltyProgramID; + + public static final String SERIALIZED_NAME_SUBLEDGER_I_D = "SubledgerID"; + @SerializedName(SERIALIZED_NAME_SUBLEDGER_I_D) + private String subledgerID = ""; + + public static final String SERIALIZED_NAME_CURRENT_TIER = "CurrentTier"; + @SerializedName(SERIALIZED_NAME_CURRENT_TIER) + private String currentTier; + + public static final String SERIALIZED_NAME_CURRENT_POINTS = "CurrentPoints"; + @SerializedName(SERIALIZED_NAME_CURRENT_POINTS) + private BigDecimal currentPoints; + + public static final String SERIALIZED_NAME_OLD_TIER = "OldTier"; + @SerializedName(SERIALIZED_NAME_OLD_TIER) + private String oldTier; + + public static final String SERIALIZED_NAME_TIER_EXPIRATION_DATE = "TierExpirationDate"; + @SerializedName(SERIALIZED_NAME_TIER_EXPIRATION_DATE) + private OffsetDateTime tierExpirationDate; + + public static final String SERIALIZED_NAME_TIMESTAMP_OF_TIER_CHANGE = "TimestampOfTierChange"; + @SerializedName(SERIALIZED_NAME_TIMESTAMP_OF_TIER_CHANGE) + private OffsetDateTime timestampOfTierChange; + + + public TierDowngradeData customerProfileID(String customerProfileID) { + + this.customerProfileID = customerProfileID; + return this; + } + + /** + * The integration ID of the customer profile whose tier was downgraded. + * @return customerProfileID + **/ + @ApiModelProperty(example = "URNGV8294NV", required = true, value = "The integration ID of the customer profile whose tier was downgraded.") + + public String getCustomerProfileID() { + return customerProfileID; + } + + + public void setCustomerProfileID(String customerProfileID) { + this.customerProfileID = customerProfileID; + } + + + public TierDowngradeData loyaltyProgramID(Long loyaltyProgramID) { + + this.loyaltyProgramID = loyaltyProgramID; + return this; + } + + /** + * The ID of the loyalty program. + * minimum: 1 + * @return loyaltyProgramID + **/ + @ApiModelProperty(example = "5", required = true, value = "The ID of the loyalty program.") + + public Long getLoyaltyProgramID() { + return loyaltyProgramID; + } + + + public void setLoyaltyProgramID(Long loyaltyProgramID) { + this.loyaltyProgramID = loyaltyProgramID; + } + + + public TierDowngradeData subledgerID(String subledgerID) { + + this.subledgerID = subledgerID; + return this; + } + + /** + * The ID of the subledger, when applicable. If this field is empty, the main ledger is used. + * @return subledgerID + **/ + @ApiModelProperty(example = "SL001", required = true, value = "The ID of the subledger, when applicable. If this field is empty, the main ledger is used.") + + public String getSubledgerID() { + return subledgerID; + } + + + public void setSubledgerID(String subledgerID) { + this.subledgerID = subledgerID; + } + + + public TierDowngradeData currentTier(String currentTier) { + + this.currentTier = currentTier; + return this; + } + + /** + * The name of the customer's current tier. + * @return currentTier + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Silver", value = "The name of the customer's current tier.") + + public String getCurrentTier() { + return currentTier; + } + + + public void setCurrentTier(String currentTier) { + this.currentTier = currentTier; + } + + + public TierDowngradeData currentPoints(BigDecimal currentPoints) { + + this.currentPoints = currentPoints; + return this; + } + + /** + * The number of points the customer had at the time of tier downgrade. + * @return currentPoints + **/ + @ApiModelProperty(example = "120.55", required = true, value = "The number of points the customer had at the time of tier downgrade.") + + public BigDecimal getCurrentPoints() { + return currentPoints; + } + + + public void setCurrentPoints(BigDecimal currentPoints) { + this.currentPoints = currentPoints; + } + + + public TierDowngradeData oldTier(String oldTier) { + + this.oldTier = oldTier; + return this; + } + + /** + * The name of the customer's previous tier. + * @return oldTier + **/ + @ApiModelProperty(example = "Gold", required = true, value = "The name of the customer's previous tier.") + + public String getOldTier() { + return oldTier; + } + + + public void setOldTier(String oldTier) { + this.oldTier = oldTier; + } + + + public TierDowngradeData tierExpirationDate(OffsetDateTime tierExpirationDate) { + + this.tierExpirationDate = tierExpirationDate; + return this; + } + + /** + * The exact date and time the tier expires. + * @return tierExpirationDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2023-12-01T12:23+02:00", value = "The exact date and time the tier expires.") + + public OffsetDateTime getTierExpirationDate() { + return tierExpirationDate; + } + + + public void setTierExpirationDate(OffsetDateTime tierExpirationDate) { + this.tierExpirationDate = tierExpirationDate; + } + + + public TierDowngradeData timestampOfTierChange(OffsetDateTime timestampOfTierChange) { + + this.timestampOfTierChange = timestampOfTierChange; + return this; + } + + /** + * The exact date and time the tier was changed. + * @return timestampOfTierChange + **/ + @ApiModelProperty(example = "2023-10-26T12:23+02:00", required = true, value = "The exact date and time the tier was changed.") + + public OffsetDateTime getTimestampOfTierChange() { + return timestampOfTierChange; + } + + + public void setTimestampOfTierChange(OffsetDateTime timestampOfTierChange) { + this.timestampOfTierChange = timestampOfTierChange; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TierDowngradeData tierDowngradeData = (TierDowngradeData) o; + return Objects.equals(this.customerProfileID, tierDowngradeData.customerProfileID) && + Objects.equals(this.loyaltyProgramID, tierDowngradeData.loyaltyProgramID) && + Objects.equals(this.subledgerID, tierDowngradeData.subledgerID) && + Objects.equals(this.currentTier, tierDowngradeData.currentTier) && + Objects.equals(this.currentPoints, tierDowngradeData.currentPoints) && + Objects.equals(this.oldTier, tierDowngradeData.oldTier) && + Objects.equals(this.tierExpirationDate, tierDowngradeData.tierExpirationDate) && + Objects.equals(this.timestampOfTierChange, tierDowngradeData.timestampOfTierChange); + } + + @Override + public int hashCode() { + return Objects.hash(customerProfileID, loyaltyProgramID, subledgerID, currentTier, currentPoints, oldTier, tierExpirationDate, timestampOfTierChange); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TierDowngradeData {\n"); + sb.append(" customerProfileID: ").append(toIndentedString(customerProfileID)).append("\n"); + sb.append(" loyaltyProgramID: ").append(toIndentedString(loyaltyProgramID)).append("\n"); + sb.append(" subledgerID: ").append(toIndentedString(subledgerID)).append("\n"); + sb.append(" currentTier: ").append(toIndentedString(currentTier)).append("\n"); + sb.append(" currentPoints: ").append(toIndentedString(currentPoints)).append("\n"); + sb.append(" oldTier: ").append(toIndentedString(oldTier)).append("\n"); + sb.append(" tierExpirationDate: ").append(toIndentedString(tierExpirationDate)).append("\n"); + sb.append(" timestampOfTierChange: ").append(toIndentedString(timestampOfTierChange)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/TierDowngradeNotification.java b/src/main/java/one/talon/model/TierDowngradeNotification.java new file mode 100644 index 00000000..148c089d --- /dev/null +++ b/src/main/java/one/talon/model/TierDowngradeNotification.java @@ -0,0 +1,207 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.TierDowngradeData; + +/** + * TierDowngradeNotification + */ + +public class TierDowngradeNotification { + public static final String SERIALIZED_NAME_TOTAL_RESULT_SIZE = "TotalResultSize"; + @SerializedName(SERIALIZED_NAME_TOTAL_RESULT_SIZE) + private Long totalResultSize; + + public static final String SERIALIZED_NAME_DATA = "Data"; + @SerializedName(SERIALIZED_NAME_DATA) + private List data = new ArrayList(); + + /** + * The type of notification. + */ + @JsonAdapter(NotificationTypeEnum.Adapter.class) + public enum NotificationTypeEnum { + TIERDOWNGRADE("TierDowngrade"); + + private String value; + + NotificationTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static NotificationTypeEnum fromValue(String value) { + for (NotificationTypeEnum b : NotificationTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final NotificationTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public NotificationTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return NotificationTypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_NOTIFICATION_TYPE = "NotificationType"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE) + private NotificationTypeEnum notificationType; + + + public TierDowngradeNotification totalResultSize(Long totalResultSize) { + + this.totalResultSize = totalResultSize; + return this; + } + + /** + * Get totalResultSize + * @return totalResultSize + **/ + @ApiModelProperty(example = "1", required = true, value = "") + + public Long getTotalResultSize() { + return totalResultSize; + } + + + public void setTotalResultSize(Long totalResultSize) { + this.totalResultSize = totalResultSize; + } + + + public TierDowngradeNotification data(List data) { + + this.data = data; + return this; + } + + public TierDowngradeNotification addDataItem(TierDowngradeData dataItem) { + this.data.add(dataItem); + return this; + } + + /** + * The array of tier downgrade notifications. + * @return data + **/ + @ApiModelProperty(required = true, value = "The array of tier downgrade notifications.") + + public List getData() { + return data; + } + + + public void setData(List data) { + this.data = data; + } + + + public TierDowngradeNotification notificationType(NotificationTypeEnum notificationType) { + + this.notificationType = notificationType; + return this; + } + + /** + * The type of notification. + * @return notificationType + **/ + @ApiModelProperty(required = true, value = "The type of notification.") + + public NotificationTypeEnum getNotificationType() { + return notificationType; + } + + + public void setNotificationType(NotificationTypeEnum notificationType) { + this.notificationType = notificationType; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TierDowngradeNotification tierDowngradeNotification = (TierDowngradeNotification) o; + return Objects.equals(this.totalResultSize, tierDowngradeNotification.totalResultSize) && + Objects.equals(this.data, tierDowngradeNotification.data) && + Objects.equals(this.notificationType, tierDowngradeNotification.notificationType); + } + + @Override + public int hashCode() { + return Objects.hash(totalResultSize, data, notificationType); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TierDowngradeNotification {\n"); + sb.append(" totalResultSize: ").append(toIndentedString(totalResultSize)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" notificationType: ").append(toIndentedString(notificationType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/TierUpgradeData.java b/src/main/java/one/talon/model/TierUpgradeData.java new file mode 100644 index 00000000..a3636b53 --- /dev/null +++ b/src/main/java/one/talon/model/TierUpgradeData.java @@ -0,0 +1,356 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import org.threeten.bp.OffsetDateTime; + +/** + * TierUpgradeData + */ + +public class TierUpgradeData { + public static final String SERIALIZED_NAME_CUSTOMER_PROFILE_I_D = "CustomerProfileID"; + @SerializedName(SERIALIZED_NAME_CUSTOMER_PROFILE_I_D) + private String customerProfileID; + + public static final String SERIALIZED_NAME_LOYALTY_PROGRAM_I_D = "LoyaltyProgramID"; + @SerializedName(SERIALIZED_NAME_LOYALTY_PROGRAM_I_D) + private Long loyaltyProgramID; + + public static final String SERIALIZED_NAME_SUBLEDGER_I_D = "SubledgerID"; + @SerializedName(SERIALIZED_NAME_SUBLEDGER_I_D) + private String subledgerID = ""; + + public static final String SERIALIZED_NAME_CURRENT_TIER = "CurrentTier"; + @SerializedName(SERIALIZED_NAME_CURRENT_TIER) + private String currentTier; + + public static final String SERIALIZED_NAME_CURRENT_POINTS = "CurrentPoints"; + @SerializedName(SERIALIZED_NAME_CURRENT_POINTS) + private BigDecimal currentPoints; + + public static final String SERIALIZED_NAME_OLD_TIER = "OldTier"; + @SerializedName(SERIALIZED_NAME_OLD_TIER) + private String oldTier; + + public static final String SERIALIZED_NAME_POINTS_REQUIRED_TO_THE_NEXT_TIER = "PointsRequiredToTheNextTier"; + @SerializedName(SERIALIZED_NAME_POINTS_REQUIRED_TO_THE_NEXT_TIER) + private BigDecimal pointsRequiredToTheNextTier; + + public static final String SERIALIZED_NAME_NEXT_TIER = "NextTier"; + @SerializedName(SERIALIZED_NAME_NEXT_TIER) + private String nextTier; + + public static final String SERIALIZED_NAME_TIER_EXPIRATION_DATE = "TierExpirationDate"; + @SerializedName(SERIALIZED_NAME_TIER_EXPIRATION_DATE) + private OffsetDateTime tierExpirationDate; + + public static final String SERIALIZED_NAME_TIMESTAMP_OF_TIER_CHANGE = "TimestampOfTierChange"; + @SerializedName(SERIALIZED_NAME_TIMESTAMP_OF_TIER_CHANGE) + private OffsetDateTime timestampOfTierChange; + + + public TierUpgradeData customerProfileID(String customerProfileID) { + + this.customerProfileID = customerProfileID; + return this; + } + + /** + * The integration ID of the customer profile whose tier was upgraded. + * @return customerProfileID + **/ + @ApiModelProperty(example = "URNGV8294NV", required = true, value = "The integration ID of the customer profile whose tier was upgraded.") + + public String getCustomerProfileID() { + return customerProfileID; + } + + + public void setCustomerProfileID(String customerProfileID) { + this.customerProfileID = customerProfileID; + } + + + public TierUpgradeData loyaltyProgramID(Long loyaltyProgramID) { + + this.loyaltyProgramID = loyaltyProgramID; + return this; + } + + /** + * The ID of the loyalty program. + * minimum: 1 + * @return loyaltyProgramID + **/ + @ApiModelProperty(example = "5", required = true, value = "The ID of the loyalty program.") + + public Long getLoyaltyProgramID() { + return loyaltyProgramID; + } + + + public void setLoyaltyProgramID(Long loyaltyProgramID) { + this.loyaltyProgramID = loyaltyProgramID; + } + + + public TierUpgradeData subledgerID(String subledgerID) { + + this.subledgerID = subledgerID; + return this; + } + + /** + * The ID of the subledger, when applicable. If this field is empty, the main ledger is used. + * @return subledgerID + **/ + @ApiModelProperty(example = "SL001", required = true, value = "The ID of the subledger, when applicable. If this field is empty, the main ledger is used.") + + public String getSubledgerID() { + return subledgerID; + } + + + public void setSubledgerID(String subledgerID) { + this.subledgerID = subledgerID; + } + + + public TierUpgradeData currentTier(String currentTier) { + + this.currentTier = currentTier; + return this; + } + + /** + * The name of the customer's current tier. + * @return currentTier + **/ + @ApiModelProperty(example = "Silver", required = true, value = "The name of the customer's current tier.") + + public String getCurrentTier() { + return currentTier; + } + + + public void setCurrentTier(String currentTier) { + this.currentTier = currentTier; + } + + + public TierUpgradeData currentPoints(BigDecimal currentPoints) { + + this.currentPoints = currentPoints; + return this; + } + + /** + * The number of points the customer had at the time of tier upgrade. + * @return currentPoints + **/ + @ApiModelProperty(example = "120.55", required = true, value = "The number of points the customer had at the time of tier upgrade.") + + public BigDecimal getCurrentPoints() { + return currentPoints; + } + + + public void setCurrentPoints(BigDecimal currentPoints) { + this.currentPoints = currentPoints; + } + + + public TierUpgradeData oldTier(String oldTier) { + + this.oldTier = oldTier; + return this; + } + + /** + * The name of the customer's previous tier. + * @return oldTier + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Bronze", value = "The name of the customer's previous tier.") + + public String getOldTier() { + return oldTier; + } + + + public void setOldTier(String oldTier) { + this.oldTier = oldTier; + } + + + public TierUpgradeData pointsRequiredToTheNextTier(BigDecimal pointsRequiredToTheNextTier) { + + this.pointsRequiredToTheNextTier = pointsRequiredToTheNextTier; + return this; + } + + /** + * The number of points needed for a customer to reach the next tier. + * @return pointsRequiredToTheNextTier + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "23.51", value = "The number of points needed for a customer to reach the next tier.") + + public BigDecimal getPointsRequiredToTheNextTier() { + return pointsRequiredToTheNextTier; + } + + + public void setPointsRequiredToTheNextTier(BigDecimal pointsRequiredToTheNextTier) { + this.pointsRequiredToTheNextTier = pointsRequiredToTheNextTier; + } + + + public TierUpgradeData nextTier(String nextTier) { + + this.nextTier = nextTier; + return this; + } + + /** + * The name of the customer's next tier. + * @return nextTier + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Gold", value = "The name of the customer's next tier.") + + public String getNextTier() { + return nextTier; + } + + + public void setNextTier(String nextTier) { + this.nextTier = nextTier; + } + + + public TierUpgradeData tierExpirationDate(OffsetDateTime tierExpirationDate) { + + this.tierExpirationDate = tierExpirationDate; + return this; + } + + /** + * The exact date and time the tier expires. + * @return tierExpirationDate + **/ + @ApiModelProperty(example = "2023-12-01T12:23+02:00", required = true, value = "The exact date and time the tier expires.") + + public OffsetDateTime getTierExpirationDate() { + return tierExpirationDate; + } + + + public void setTierExpirationDate(OffsetDateTime tierExpirationDate) { + this.tierExpirationDate = tierExpirationDate; + } + + + public TierUpgradeData timestampOfTierChange(OffsetDateTime timestampOfTierChange) { + + this.timestampOfTierChange = timestampOfTierChange; + return this; + } + + /** + * The exact date and time the tier was changed. + * @return timestampOfTierChange + **/ + @ApiModelProperty(example = "2023-10-26T12:23+02:00", required = true, value = "The exact date and time the tier was changed.") + + public OffsetDateTime getTimestampOfTierChange() { + return timestampOfTierChange; + } + + + public void setTimestampOfTierChange(OffsetDateTime timestampOfTierChange) { + this.timestampOfTierChange = timestampOfTierChange; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TierUpgradeData tierUpgradeData = (TierUpgradeData) o; + return Objects.equals(this.customerProfileID, tierUpgradeData.customerProfileID) && + Objects.equals(this.loyaltyProgramID, tierUpgradeData.loyaltyProgramID) && + Objects.equals(this.subledgerID, tierUpgradeData.subledgerID) && + Objects.equals(this.currentTier, tierUpgradeData.currentTier) && + Objects.equals(this.currentPoints, tierUpgradeData.currentPoints) && + Objects.equals(this.oldTier, tierUpgradeData.oldTier) && + Objects.equals(this.pointsRequiredToTheNextTier, tierUpgradeData.pointsRequiredToTheNextTier) && + Objects.equals(this.nextTier, tierUpgradeData.nextTier) && + Objects.equals(this.tierExpirationDate, tierUpgradeData.tierExpirationDate) && + Objects.equals(this.timestampOfTierChange, tierUpgradeData.timestampOfTierChange); + } + + @Override + public int hashCode() { + return Objects.hash(customerProfileID, loyaltyProgramID, subledgerID, currentTier, currentPoints, oldTier, pointsRequiredToTheNextTier, nextTier, tierExpirationDate, timestampOfTierChange); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TierUpgradeData {\n"); + sb.append(" customerProfileID: ").append(toIndentedString(customerProfileID)).append("\n"); + sb.append(" loyaltyProgramID: ").append(toIndentedString(loyaltyProgramID)).append("\n"); + sb.append(" subledgerID: ").append(toIndentedString(subledgerID)).append("\n"); + sb.append(" currentTier: ").append(toIndentedString(currentTier)).append("\n"); + sb.append(" currentPoints: ").append(toIndentedString(currentPoints)).append("\n"); + sb.append(" oldTier: ").append(toIndentedString(oldTier)).append("\n"); + sb.append(" pointsRequiredToTheNextTier: ").append(toIndentedString(pointsRequiredToTheNextTier)).append("\n"); + sb.append(" nextTier: ").append(toIndentedString(nextTier)).append("\n"); + sb.append(" tierExpirationDate: ").append(toIndentedString(tierExpirationDate)).append("\n"); + sb.append(" timestampOfTierChange: ").append(toIndentedString(timestampOfTierChange)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/TierUpgradeNotification.java b/src/main/java/one/talon/model/TierUpgradeNotification.java new file mode 100644 index 00000000..40164ec3 --- /dev/null +++ b/src/main/java/one/talon/model/TierUpgradeNotification.java @@ -0,0 +1,207 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.TierUpgradeData; + +/** + * TierUpgradeNotification + */ + +public class TierUpgradeNotification { + public static final String SERIALIZED_NAME_TOTAL_RESULT_SIZE = "TotalResultSize"; + @SerializedName(SERIALIZED_NAME_TOTAL_RESULT_SIZE) + private Long totalResultSize; + + public static final String SERIALIZED_NAME_DATA = "Data"; + @SerializedName(SERIALIZED_NAME_DATA) + private List data = new ArrayList(); + + /** + * The type of notification. + */ + @JsonAdapter(NotificationTypeEnum.Adapter.class) + public enum NotificationTypeEnum { + TIERUPGRADE("TierUpgrade"); + + private String value; + + NotificationTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static NotificationTypeEnum fromValue(String value) { + for (NotificationTypeEnum b : NotificationTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final NotificationTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public NotificationTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return NotificationTypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_NOTIFICATION_TYPE = "NotificationType"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE) + private NotificationTypeEnum notificationType; + + + public TierUpgradeNotification totalResultSize(Long totalResultSize) { + + this.totalResultSize = totalResultSize; + return this; + } + + /** + * Get totalResultSize + * @return totalResultSize + **/ + @ApiModelProperty(example = "1", required = true, value = "") + + public Long getTotalResultSize() { + return totalResultSize; + } + + + public void setTotalResultSize(Long totalResultSize) { + this.totalResultSize = totalResultSize; + } + + + public TierUpgradeNotification data(List data) { + + this.data = data; + return this; + } + + public TierUpgradeNotification addDataItem(TierUpgradeData dataItem) { + this.data.add(dataItem); + return this; + } + + /** + * The array of tier upgrade notifications. + * @return data + **/ + @ApiModelProperty(required = true, value = "The array of tier upgrade notifications.") + + public List getData() { + return data; + } + + + public void setData(List data) { + this.data = data; + } + + + public TierUpgradeNotification notificationType(NotificationTypeEnum notificationType) { + + this.notificationType = notificationType; + return this; + } + + /** + * The type of notification. + * @return notificationType + **/ + @ApiModelProperty(required = true, value = "The type of notification.") + + public NotificationTypeEnum getNotificationType() { + return notificationType; + } + + + public void setNotificationType(NotificationTypeEnum notificationType) { + this.notificationType = notificationType; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TierUpgradeNotification tierUpgradeNotification = (TierUpgradeNotification) o; + return Objects.equals(this.totalResultSize, tierUpgradeNotification.totalResultSize) && + Objects.equals(this.data, tierUpgradeNotification.data) && + Objects.equals(this.notificationType, tierUpgradeNotification.notificationType); + } + + @Override + public int hashCode() { + return Objects.hash(totalResultSize, data, notificationType); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TierUpgradeNotification {\n"); + sb.append(" totalResultSize: ").append(toIndentedString(totalResultSize)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" notificationType: ").append(toIndentedString(notificationType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/TierWillDowngradeData.java b/src/main/java/one/talon/model/TierWillDowngradeData.java new file mode 100644 index 00000000..3ce36b7c --- /dev/null +++ b/src/main/java/one/talon/model/TierWillDowngradeData.java @@ -0,0 +1,299 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import org.threeten.bp.OffsetDateTime; + +/** + * TierWillDowngradeData + */ + +public class TierWillDowngradeData { + public static final String SERIALIZED_NAME_CUSTOMER_PROFILE_I_D = "CustomerProfileID"; + @SerializedName(SERIALIZED_NAME_CUSTOMER_PROFILE_I_D) + private String customerProfileID; + + public static final String SERIALIZED_NAME_LOYALTY_PROGRAM_I_D = "LoyaltyProgramID"; + @SerializedName(SERIALIZED_NAME_LOYALTY_PROGRAM_I_D) + private Long loyaltyProgramID; + + public static final String SERIALIZED_NAME_SUBLEDGER_I_D = "SubledgerID"; + @SerializedName(SERIALIZED_NAME_SUBLEDGER_I_D) + private String subledgerID = ""; + + public static final String SERIALIZED_NAME_CURRENT_TIER = "CurrentTier"; + @SerializedName(SERIALIZED_NAME_CURRENT_TIER) + private String currentTier; + + public static final String SERIALIZED_NAME_CURRENT_POINTS = "CurrentPoints"; + @SerializedName(SERIALIZED_NAME_CURRENT_POINTS) + private BigDecimal currentPoints; + + public static final String SERIALIZED_NAME_POINTS_REQUIRED_TO_REMAIN = "PointsRequiredToRemain"; + @SerializedName(SERIALIZED_NAME_POINTS_REQUIRED_TO_REMAIN) + private BigDecimal pointsRequiredToRemain; + + public static final String SERIALIZED_NAME_NEXT_TIER = "NextTier"; + @SerializedName(SERIALIZED_NAME_NEXT_TIER) + private String nextTier; + + public static final String SERIALIZED_NAME_TIER_EXPIRATION_DATE = "TierExpirationDate"; + @SerializedName(SERIALIZED_NAME_TIER_EXPIRATION_DATE) + private OffsetDateTime tierExpirationDate; + + + public TierWillDowngradeData customerProfileID(String customerProfileID) { + + this.customerProfileID = customerProfileID; + return this; + } + + /** + * The integration ID of the customer profile whose tier was downgraded. + * @return customerProfileID + **/ + @ApiModelProperty(example = "URNGV8294NV", required = true, value = "The integration ID of the customer profile whose tier was downgraded.") + + public String getCustomerProfileID() { + return customerProfileID; + } + + + public void setCustomerProfileID(String customerProfileID) { + this.customerProfileID = customerProfileID; + } + + + public TierWillDowngradeData loyaltyProgramID(Long loyaltyProgramID) { + + this.loyaltyProgramID = loyaltyProgramID; + return this; + } + + /** + * The ID of the loyalty program. + * minimum: 1 + * @return loyaltyProgramID + **/ + @ApiModelProperty(example = "5", required = true, value = "The ID of the loyalty program.") + + public Long getLoyaltyProgramID() { + return loyaltyProgramID; + } + + + public void setLoyaltyProgramID(Long loyaltyProgramID) { + this.loyaltyProgramID = loyaltyProgramID; + } + + + public TierWillDowngradeData subledgerID(String subledgerID) { + + this.subledgerID = subledgerID; + return this; + } + + /** + * The ID of the subledger, when applicable. If this field is empty, the main ledger is used. + * @return subledgerID + **/ + @ApiModelProperty(example = "SL001", required = true, value = "The ID of the subledger, when applicable. If this field is empty, the main ledger is used.") + + public String getSubledgerID() { + return subledgerID; + } + + + public void setSubledgerID(String subledgerID) { + this.subledgerID = subledgerID; + } + + + public TierWillDowngradeData currentTier(String currentTier) { + + this.currentTier = currentTier; + return this; + } + + /** + * The name of the customer's current tier. + * @return currentTier + **/ + @ApiModelProperty(example = "Silver", required = true, value = "The name of the customer's current tier.") + + public String getCurrentTier() { + return currentTier; + } + + + public void setCurrentTier(String currentTier) { + this.currentTier = currentTier; + } + + + public TierWillDowngradeData currentPoints(BigDecimal currentPoints) { + + this.currentPoints = currentPoints; + return this; + } + + /** + * The number of points the customer will have after the tier downgrade. + * @return currentPoints + **/ + @ApiModelProperty(example = "120.55", required = true, value = "The number of points the customer will have after the tier downgrade.") + + public BigDecimal getCurrentPoints() { + return currentPoints; + } + + + public void setCurrentPoints(BigDecimal currentPoints) { + this.currentPoints = currentPoints; + } + + + public TierWillDowngradeData pointsRequiredToRemain(BigDecimal pointsRequiredToRemain) { + + this.pointsRequiredToRemain = pointsRequiredToRemain; + return this; + } + + /** + * The number of points needed for a customer to remain on the same tier. + * @return pointsRequiredToRemain + **/ + @ApiModelProperty(example = "23.51", required = true, value = "The number of points needed for a customer to remain on the same tier.") + + public BigDecimal getPointsRequiredToRemain() { + return pointsRequiredToRemain; + } + + + public void setPointsRequiredToRemain(BigDecimal pointsRequiredToRemain) { + this.pointsRequiredToRemain = pointsRequiredToRemain; + } + + + public TierWillDowngradeData nextTier(String nextTier) { + + this.nextTier = nextTier; + return this; + } + + /** + * The name of the customer's next tier. + * @return nextTier + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Bronze", value = "The name of the customer's next tier.") + + public String getNextTier() { + return nextTier; + } + + + public void setNextTier(String nextTier) { + this.nextTier = nextTier; + } + + + public TierWillDowngradeData tierExpirationDate(OffsetDateTime tierExpirationDate) { + + this.tierExpirationDate = tierExpirationDate; + return this; + } + + /** + * The date and time the tier expires. + * @return tierExpirationDate + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "2023-12-01T12:23+02:00", value = "The date and time the tier expires.") + + public OffsetDateTime getTierExpirationDate() { + return tierExpirationDate; + } + + + public void setTierExpirationDate(OffsetDateTime tierExpirationDate) { + this.tierExpirationDate = tierExpirationDate; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TierWillDowngradeData tierWillDowngradeData = (TierWillDowngradeData) o; + return Objects.equals(this.customerProfileID, tierWillDowngradeData.customerProfileID) && + Objects.equals(this.loyaltyProgramID, tierWillDowngradeData.loyaltyProgramID) && + Objects.equals(this.subledgerID, tierWillDowngradeData.subledgerID) && + Objects.equals(this.currentTier, tierWillDowngradeData.currentTier) && + Objects.equals(this.currentPoints, tierWillDowngradeData.currentPoints) && + Objects.equals(this.pointsRequiredToRemain, tierWillDowngradeData.pointsRequiredToRemain) && + Objects.equals(this.nextTier, tierWillDowngradeData.nextTier) && + Objects.equals(this.tierExpirationDate, tierWillDowngradeData.tierExpirationDate); + } + + @Override + public int hashCode() { + return Objects.hash(customerProfileID, loyaltyProgramID, subledgerID, currentTier, currentPoints, pointsRequiredToRemain, nextTier, tierExpirationDate); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TierWillDowngradeData {\n"); + sb.append(" customerProfileID: ").append(toIndentedString(customerProfileID)).append("\n"); + sb.append(" loyaltyProgramID: ").append(toIndentedString(loyaltyProgramID)).append("\n"); + sb.append(" subledgerID: ").append(toIndentedString(subledgerID)).append("\n"); + sb.append(" currentTier: ").append(toIndentedString(currentTier)).append("\n"); + sb.append(" currentPoints: ").append(toIndentedString(currentPoints)).append("\n"); + sb.append(" pointsRequiredToRemain: ").append(toIndentedString(pointsRequiredToRemain)).append("\n"); + sb.append(" nextTier: ").append(toIndentedString(nextTier)).append("\n"); + sb.append(" tierExpirationDate: ").append(toIndentedString(tierExpirationDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/TierWillDowngradeNotification.java b/src/main/java/one/talon/model/TierWillDowngradeNotification.java new file mode 100644 index 00000000..46216485 --- /dev/null +++ b/src/main/java/one/talon/model/TierWillDowngradeNotification.java @@ -0,0 +1,207 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.TierWillDowngradeData; + +/** + * TierWillDowngradeNotification + */ + +public class TierWillDowngradeNotification { + public static final String SERIALIZED_NAME_TOTAL_RESULT_SIZE = "TotalResultSize"; + @SerializedName(SERIALIZED_NAME_TOTAL_RESULT_SIZE) + private Long totalResultSize; + + public static final String SERIALIZED_NAME_DATA = "Data"; + @SerializedName(SERIALIZED_NAME_DATA) + private List data = new ArrayList(); + + /** + * The type of notification. + */ + @JsonAdapter(NotificationTypeEnum.Adapter.class) + public enum NotificationTypeEnum { + TIERWILLDOWNGRADE("TierWillDowngrade"); + + private String value; + + NotificationTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static NotificationTypeEnum fromValue(String value) { + for (NotificationTypeEnum b : NotificationTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final NotificationTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public NotificationTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return NotificationTypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_NOTIFICATION_TYPE = "NotificationType"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE) + private NotificationTypeEnum notificationType; + + + public TierWillDowngradeNotification totalResultSize(Long totalResultSize) { + + this.totalResultSize = totalResultSize; + return this; + } + + /** + * Get totalResultSize + * @return totalResultSize + **/ + @ApiModelProperty(example = "1", required = true, value = "") + + public Long getTotalResultSize() { + return totalResultSize; + } + + + public void setTotalResultSize(Long totalResultSize) { + this.totalResultSize = totalResultSize; + } + + + public TierWillDowngradeNotification data(List data) { + + this.data = data; + return this; + } + + public TierWillDowngradeNotification addDataItem(TierWillDowngradeData dataItem) { + this.data.add(dataItem); + return this; + } + + /** + * The array of upcoming tier downgrade notifications. + * @return data + **/ + @ApiModelProperty(required = true, value = "The array of upcoming tier downgrade notifications.") + + public List getData() { + return data; + } + + + public void setData(List data) { + this.data = data; + } + + + public TierWillDowngradeNotification notificationType(NotificationTypeEnum notificationType) { + + this.notificationType = notificationType; + return this; + } + + /** + * The type of notification. + * @return notificationType + **/ + @ApiModelProperty(required = true, value = "The type of notification.") + + public NotificationTypeEnum getNotificationType() { + return notificationType; + } + + + public void setNotificationType(NotificationTypeEnum notificationType) { + this.notificationType = notificationType; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TierWillDowngradeNotification tierWillDowngradeNotification = (TierWillDowngradeNotification) o; + return Objects.equals(this.totalResultSize, tierWillDowngradeNotification.totalResultSize) && + Objects.equals(this.data, tierWillDowngradeNotification.data) && + Objects.equals(this.notificationType, tierWillDowngradeNotification.notificationType); + } + + @Override + public int hashCode() { + return Objects.hash(totalResultSize, data, notificationType); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TierWillDowngradeNotification {\n"); + sb.append(" totalResultSize: ").append(toIndentedString(totalResultSize)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" notificationType: ").append(toIndentedString(notificationType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/UpdateAchievement.java b/src/main/java/one/talon/model/UpdateAchievement.java index 5bf91f6a..7c98c809 100644 --- a/src/main/java/one/talon/model/UpdateAchievement.java +++ b/src/main/java/one/talon/model/UpdateAchievement.java @@ -57,13 +57,15 @@ public class UpdateAchievement { private TimePoint periodEndOverride; /** - * 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. + * 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. */ @JsonAdapter(RecurrencePolicyEnum.Adapter.class) public enum RecurrencePolicyEnum { NO_RECURRENCE("no_recurrence"), - ON_EXPIRATION("on_expiration"); + ON_EXPIRATION("on_expiration"), + + ON_COMPLETION("on_completion"); private String value; @@ -312,11 +314,11 @@ public UpdateAchievement recurrencePolicy(RecurrencePolicyEnum recurrencePolicy) } /** - * 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. + * 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. * @return recurrencePolicy **/ @javax.annotation.Nullable - @ApiModelProperty(example = "no_recurrence", value = "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. ") + @ApiModelProperty(example = "no_recurrence", value = "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. ") public RecurrencePolicyEnum getRecurrencePolicy() { return recurrencePolicy; diff --git a/src/main/java/one/talon/model/UpdateCoupon.java b/src/main/java/one/talon/model/UpdateCoupon.java index a2ad0852..54b477d6 100644 --- a/src/main/java/one/talon/model/UpdateCoupon.java +++ b/src/main/java/one/talon/model/UpdateCoupon.java @@ -109,7 +109,7 @@ public UpdateCoupon discountLimit(BigDecimal discountLimit) { /** * The total discount value that the code can give. Typically used to represent a gift card value. * minimum: 0 - * maximum: 999999 + * maximum: 1E+15 * @return discountLimit **/ @javax.annotation.Nullable diff --git a/src/main/java/one/talon/model/UpdateCouponBatch.java b/src/main/java/one/talon/model/UpdateCouponBatch.java index 83389c2d..b7399c33 100644 --- a/src/main/java/one/talon/model/UpdateCouponBatch.java +++ b/src/main/java/one/talon/model/UpdateCouponBatch.java @@ -94,7 +94,7 @@ public UpdateCouponBatch discountLimit(BigDecimal discountLimit) { /** * The total discount value that the code can give. Typically used to represent a gift card value. * minimum: 0 - * maximum: 999999 + * maximum: 1E+15 * @return discountLimit **/ @javax.annotation.Nullable diff --git a/src/main/java/one/talon/model/UpdateCouponsData.java b/src/main/java/one/talon/model/UpdateCouponsData.java new file mode 100644 index 00000000..b34fc848 --- /dev/null +++ b/src/main/java/one/talon/model/UpdateCouponsData.java @@ -0,0 +1,238 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * UpdateCouponsData + */ + +public class UpdateCouponsData { + public static final String SERIALIZED_NAME_BATCH_I_D = "BatchID"; + @SerializedName(SERIALIZED_NAME_BATCH_I_D) + private String batchID; + + public static final String SERIALIZED_NAME_APPLICATION_I_D = "ApplicationID"; + @SerializedName(SERIALIZED_NAME_APPLICATION_I_D) + private Long applicationID; + + public static final String SERIALIZED_NAME_CAMPAIGN_I_D = "CampaignID"; + @SerializedName(SERIALIZED_NAME_CAMPAIGN_I_D) + private Long campaignID; + + public static final String SERIALIZED_NAME_TYPE_OF_CHANGE = "TypeOfChange"; + @SerializedName(SERIALIZED_NAME_TYPE_OF_CHANGE) + private String typeOfChange; + + public static final String SERIALIZED_NAME_OPERATION = "Operation"; + @SerializedName(SERIALIZED_NAME_OPERATION) + private String operation; + + public static final String SERIALIZED_NAME_EMPLOYEE_NAME = "EmployeeName"; + @SerializedName(SERIALIZED_NAME_EMPLOYEE_NAME) + private String employeeName; + + + public UpdateCouponsData batchID(String batchID) { + + this.batchID = batchID; + return this; + } + + /** + * Get batchID + * @return batchID + **/ + @ApiModelProperty(required = true, value = "") + + public String getBatchID() { + return batchID; + } + + + public void setBatchID(String batchID) { + this.batchID = batchID; + } + + + public UpdateCouponsData applicationID(Long applicationID) { + + this.applicationID = applicationID; + return this; + } + + /** + * Get applicationID + * @return applicationID + **/ + @ApiModelProperty(required = true, value = "") + + public Long getApplicationID() { + return applicationID; + } + + + public void setApplicationID(Long applicationID) { + this.applicationID = applicationID; + } + + + public UpdateCouponsData campaignID(Long campaignID) { + + this.campaignID = campaignID; + return this; + } + + /** + * Get campaignID + * @return campaignID + **/ + @ApiModelProperty(required = true, value = "") + + public Long getCampaignID() { + return campaignID; + } + + + public void setCampaignID(Long campaignID) { + this.campaignID = campaignID; + } + + + public UpdateCouponsData typeOfChange(String typeOfChange) { + + this.typeOfChange = typeOfChange; + return this; + } + + /** + * Get typeOfChange + * @return typeOfChange + **/ + @ApiModelProperty(required = true, value = "") + + public String getTypeOfChange() { + return typeOfChange; + } + + + public void setTypeOfChange(String typeOfChange) { + this.typeOfChange = typeOfChange; + } + + + public UpdateCouponsData operation(String operation) { + + this.operation = operation; + return this; + } + + /** + * Get operation + * @return operation + **/ + @ApiModelProperty(required = true, value = "") + + public String getOperation() { + return operation; + } + + + public void setOperation(String operation) { + this.operation = operation; + } + + + public UpdateCouponsData employeeName(String employeeName) { + + this.employeeName = employeeName; + return this; + } + + /** + * Get employeeName + * @return employeeName + **/ + @ApiModelProperty(required = true, value = "") + + public String getEmployeeName() { + return employeeName; + } + + + public void setEmployeeName(String employeeName) { + this.employeeName = employeeName; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateCouponsData updateCouponsData = (UpdateCouponsData) o; + return Objects.equals(this.batchID, updateCouponsData.batchID) && + Objects.equals(this.applicationID, updateCouponsData.applicationID) && + Objects.equals(this.campaignID, updateCouponsData.campaignID) && + Objects.equals(this.typeOfChange, updateCouponsData.typeOfChange) && + Objects.equals(this.operation, updateCouponsData.operation) && + Objects.equals(this.employeeName, updateCouponsData.employeeName); + } + + @Override + public int hashCode() { + return Objects.hash(batchID, applicationID, campaignID, typeOfChange, operation, employeeName); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateCouponsData {\n"); + sb.append(" batchID: ").append(toIndentedString(batchID)).append("\n"); + sb.append(" applicationID: ").append(toIndentedString(applicationID)).append("\n"); + sb.append(" campaignID: ").append(toIndentedString(campaignID)).append("\n"); + sb.append(" typeOfChange: ").append(toIndentedString(typeOfChange)).append("\n"); + sb.append(" operation: ").append(toIndentedString(operation)).append("\n"); + sb.append(" employeeName: ").append(toIndentedString(employeeName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/User.java b/src/main/java/one/talon/model/User.java index 66a3f827..048c4e0f 100644 --- a/src/main/java/one/talon/model/User.java +++ b/src/main/java/one/talon/model/User.java @@ -157,10 +157,10 @@ public User id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; diff --git a/src/main/java/one/talon/model/Webhook.java b/src/main/java/one/talon/model/Webhook.java index 11c17956..46c27ea2 100644 --- a/src/main/java/one/talon/model/Webhook.java +++ b/src/main/java/one/talon/model/Webhook.java @@ -57,6 +57,10 @@ public class Webhook { @SerializedName(SERIALIZED_NAME_DESCRIPTION) private String description; + public static final String SERIALIZED_NAME_DRAFT = "draft"; + @SerializedName(SERIALIZED_NAME_DRAFT) + private Boolean draft; + /** * API method for this webhook. */ @@ -134,6 +138,10 @@ public VerbEnum read(final JsonReader jsonReader) throws IOException { @SerializedName(SERIALIZED_NAME_ENABLED) private Boolean enabled; + public static final String SERIALIZED_NAME_AUTHENTICATION_ID = "authenticationId"; + @SerializedName(SERIALIZED_NAME_AUTHENTICATION_ID) + private Long authenticationId; + public Webhook id(Long id) { @@ -142,10 +150,10 @@ public Webhook id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; @@ -273,6 +281,28 @@ public void setDescription(String description) { } + public Webhook draft(Boolean draft) { + + this.draft = draft; + return this; + } + + /** + * Indicates if the webhook is a draft. + * @return draft + **/ + @ApiModelProperty(example = "false", required = true, value = "Indicates if the webhook is a draft.") + + public Boolean getDraft() { + return draft; + } + + + public void setDraft(Boolean draft) { + this.draft = draft; + } + + public Webhook verb(VerbEnum verb) { this.verb = verb; @@ -416,6 +446,29 @@ public void setEnabled(Boolean enabled) { } + public Webhook authenticationId(Long authenticationId) { + + this.authenticationId = authenticationId; + return this; + } + + /** + * The ID of the credential that this webhook is using. + * @return authenticationId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", value = "The ID of the credential that this webhook is using.") + + public Long getAuthenticationId() { + return authenticationId; + } + + + public void setAuthenticationId(Long authenticationId) { + this.authenticationId = authenticationId; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -431,17 +484,19 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.applicationIds, webhook.applicationIds) && Objects.equals(this.title, webhook.title) && Objects.equals(this.description, webhook.description) && + Objects.equals(this.draft, webhook.draft) && Objects.equals(this.verb, webhook.verb) && Objects.equals(this.url, webhook.url) && Objects.equals(this.headers, webhook.headers) && Objects.equals(this.payload, webhook.payload) && Objects.equals(this.params, webhook.params) && - Objects.equals(this.enabled, webhook.enabled); + Objects.equals(this.enabled, webhook.enabled) && + Objects.equals(this.authenticationId, webhook.authenticationId); } @Override public int hashCode() { - return Objects.hash(id, created, modified, applicationIds, title, description, verb, url, headers, payload, params, enabled); + return Objects.hash(id, created, modified, applicationIds, title, description, draft, verb, url, headers, payload, params, enabled, authenticationId); } @@ -455,12 +510,14 @@ public String toString() { sb.append(" applicationIds: ").append(toIndentedString(applicationIds)).append("\n"); sb.append(" title: ").append(toIndentedString(title)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" draft: ").append(toIndentedString(draft)).append("\n"); sb.append(" verb: ").append(toIndentedString(verb)).append("\n"); sb.append(" url: ").append(toIndentedString(url)).append("\n"); sb.append(" headers: ").append(toIndentedString(headers)).append("\n"); sb.append(" payload: ").append(toIndentedString(payload)).append("\n"); sb.append(" params: ").append(toIndentedString(params)).append("\n"); sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); + sb.append(" authenticationId: ").append(toIndentedString(authenticationId)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/one/talon/model/WebhookActivationLogEntry.java b/src/main/java/one/talon/model/WebhookActivationLogEntry.java index a2d21beb..45625dc7 100644 --- a/src/main/java/one/talon/model/WebhookActivationLogEntry.java +++ b/src/main/java/one/talon/model/WebhookActivationLogEntry.java @@ -37,15 +37,15 @@ public class WebhookActivationLogEntry { public static final String SERIALIZED_NAME_WEBHOOK_ID = "webhookId"; @SerializedName(SERIALIZED_NAME_WEBHOOK_ID) - private Long webhookId; + private Integer webhookId; public static final String SERIALIZED_NAME_APPLICATION_ID = "applicationId"; @SerializedName(SERIALIZED_NAME_APPLICATION_ID) - private Long applicationId; + private Integer applicationId; public static final String SERIALIZED_NAME_CAMPAIGN_ID = "campaignId"; @SerializedName(SERIALIZED_NAME_CAMPAIGN_ID) - private Long campaignId; + private Integer campaignId; public static final String SERIALIZED_NAME_CREATED = "created"; @SerializedName(SERIALIZED_NAME_CREATED) @@ -74,7 +74,7 @@ public void setIntegrationRequestUuid(String integrationRequestUuid) { } - public WebhookActivationLogEntry webhookId(Long webhookId) { + public WebhookActivationLogEntry webhookId(Integer webhookId) { this.webhookId = webhookId; return this; @@ -86,17 +86,17 @@ public WebhookActivationLogEntry webhookId(Long webhookId) { **/ @ApiModelProperty(example = "1", required = true, value = "ID of the webhook that triggered the request.") - public Long getWebhookId() { + public Integer getWebhookId() { return webhookId; } - public void setWebhookId(Long webhookId) { + public void setWebhookId(Integer webhookId) { this.webhookId = webhookId; } - public WebhookActivationLogEntry applicationId(Long applicationId) { + public WebhookActivationLogEntry applicationId(Integer applicationId) { this.applicationId = applicationId; return this; @@ -108,17 +108,17 @@ public WebhookActivationLogEntry applicationId(Long applicationId) { **/ @ApiModelProperty(example = "13", required = true, value = "ID of the application that triggered the webhook.") - public Long getApplicationId() { + public Integer getApplicationId() { return applicationId; } - public void setApplicationId(Long applicationId) { + public void setApplicationId(Integer applicationId) { this.applicationId = applicationId; } - public WebhookActivationLogEntry campaignId(Long campaignId) { + public WebhookActivationLogEntry campaignId(Integer campaignId) { this.campaignId = campaignId; return this; @@ -130,12 +130,12 @@ public WebhookActivationLogEntry campaignId(Long campaignId) { **/ @ApiModelProperty(example = "86", required = true, value = "ID of the campaign that triggered the webhook.") - public Long getCampaignId() { + public Integer getCampaignId() { return campaignId; } - public void setCampaignId(Long campaignId) { + public void setCampaignId(Integer campaignId) { this.campaignId = campaignId; } diff --git a/src/main/java/one/talon/model/WebhookAuthentication.java b/src/main/java/one/talon/model/WebhookAuthentication.java new file mode 100644 index 00000000..b69fa22f --- /dev/null +++ b/src/main/java/one/talon/model/WebhookAuthentication.java @@ -0,0 +1,378 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.WebhookAuthenticationWebhookRef; +import org.threeten.bp.OffsetDateTime; + +/** + * WebhookAuthentication + */ + +public class WebhookAuthentication { + public static final String SERIALIZED_NAME_CREATED_BY = "createdBy"; + @SerializedName(SERIALIZED_NAME_CREATED_BY) + private String createdBy; + + public static final String SERIALIZED_NAME_MODIFIED_BY = "modifiedBy"; + @SerializedName(SERIALIZED_NAME_MODIFIED_BY) + private String modifiedBy; + + public static final String SERIALIZED_NAME_WEBHOOKS = "webhooks"; + @SerializedName(SERIALIZED_NAME_WEBHOOKS) + private List webhooks = new ArrayList(); + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + BASIC("basic"), + + CUSTOM("custom"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TypeEnum type; + + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private Object data; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private Long id; + + public static final String SERIALIZED_NAME_CREATED = "created"; + @SerializedName(SERIALIZED_NAME_CREATED) + private OffsetDateTime created; + + public static final String SERIALIZED_NAME_MODIFIED = "modified"; + @SerializedName(SERIALIZED_NAME_MODIFIED) + private OffsetDateTime modified; + + + public WebhookAuthentication createdBy(String createdBy) { + + this.createdBy = createdBy; + return this; + } + + /** + * The name of the user who created the webhook authentication. + * @return createdBy + **/ + @ApiModelProperty(required = true, value = "The name of the user who created the webhook authentication.") + + public String getCreatedBy() { + return createdBy; + } + + + public void setCreatedBy(String createdBy) { + this.createdBy = createdBy; + } + + + public WebhookAuthentication modifiedBy(String modifiedBy) { + + this.modifiedBy = modifiedBy; + return this; + } + + /** + * The name of the user who last modified the webhook authentication. + * @return modifiedBy + **/ + @ApiModelProperty(required = true, value = "The name of the user who last modified the webhook authentication.") + + public String getModifiedBy() { + return modifiedBy; + } + + + public void setModifiedBy(String modifiedBy) { + this.modifiedBy = modifiedBy; + } + + + public WebhookAuthentication webhooks(List webhooks) { + + this.webhooks = webhooks; + return this; + } + + public WebhookAuthentication addWebhooksItem(WebhookAuthenticationWebhookRef webhooksItem) { + this.webhooks.add(webhooksItem); + return this; + } + + /** + * Get webhooks + * @return webhooks + **/ + @ApiModelProperty(required = true, value = "") + + public List getWebhooks() { + return webhooks; + } + + + public void setWebhooks(List webhooks) { + this.webhooks = webhooks; + } + + + public WebhookAuthentication name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the webhook authentication. + * @return name + **/ + @ApiModelProperty(example = "My basic auth", required = true, value = "The name of the webhook authentication.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public WebhookAuthentication type(TypeEnum type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public TypeEnum getType() { + return type; + } + + + public void setType(TypeEnum type) { + this.type = type; + } + + + public WebhookAuthentication data(Object data) { + + this.data = data; + return this; + } + + /** + * Get data + * @return data + **/ + @ApiModelProperty(required = true, value = "") + + public Object getData() { + return data; + } + + + public void setData(Object data) { + this.data = data; + } + + + public WebhookAuthentication id(Long id) { + + this.id = id; + return this; + } + + /** + * The internal ID of this entity. + * @return id + **/ + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") + + public Long getId() { + return id; + } + + + public void setId(Long id) { + this.id = id; + } + + + public WebhookAuthentication created(OffsetDateTime created) { + + this.created = created; + return this; + } + + /** + * The time this entity was created. + * @return created + **/ + @ApiModelProperty(example = "2020-06-10T09:05:27.993483Z", required = true, value = "The time this entity was created.") + + public OffsetDateTime getCreated() { + return created; + } + + + public void setCreated(OffsetDateTime created) { + this.created = created; + } + + + public WebhookAuthentication modified(OffsetDateTime modified) { + + this.modified = modified; + return this; + } + + /** + * The time this entity was last modified. + * @return modified + **/ + @ApiModelProperty(example = "2021-09-12T10:12:42Z", required = true, value = "The time this entity was last modified.") + + public OffsetDateTime getModified() { + return modified; + } + + + public void setModified(OffsetDateTime modified) { + this.modified = modified; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WebhookAuthentication webhookAuthentication = (WebhookAuthentication) o; + return Objects.equals(this.createdBy, webhookAuthentication.createdBy) && + Objects.equals(this.modifiedBy, webhookAuthentication.modifiedBy) && + Objects.equals(this.webhooks, webhookAuthentication.webhooks) && + Objects.equals(this.name, webhookAuthentication.name) && + Objects.equals(this.type, webhookAuthentication.type) && + Objects.equals(this.data, webhookAuthentication.data) && + Objects.equals(this.id, webhookAuthentication.id) && + Objects.equals(this.created, webhookAuthentication.created) && + Objects.equals(this.modified, webhookAuthentication.modified); + } + + @Override + public int hashCode() { + return Objects.hash(createdBy, modifiedBy, webhooks, name, type, data, id, created, modified); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WebhookAuthentication {\n"); + sb.append(" createdBy: ").append(toIndentedString(createdBy)).append("\n"); + sb.append(" modifiedBy: ").append(toIndentedString(modifiedBy)).append("\n"); + sb.append(" webhooks: ").append(toIndentedString(webhooks)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" created: ").append(toIndentedString(created)).append("\n"); + sb.append(" modified: ").append(toIndentedString(modified)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/WebhookAuthenticationBase.java b/src/main/java/one/talon/model/WebhookAuthenticationBase.java new file mode 100644 index 00000000..5652e48d --- /dev/null +++ b/src/main/java/one/talon/model/WebhookAuthenticationBase.java @@ -0,0 +1,201 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * WebhookAuthenticationBase + */ + +public class WebhookAuthenticationBase { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + BASIC("basic"), + + CUSTOM("custom"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private TypeEnum type; + + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + private Object data; + + + public WebhookAuthenticationBase name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the webhook authentication. + * @return name + **/ + @ApiModelProperty(example = "My basic auth", required = true, value = "The name of the webhook authentication.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public WebhookAuthenticationBase type(TypeEnum type) { + + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + + public TypeEnum getType() { + return type; + } + + + public void setType(TypeEnum type) { + this.type = type; + } + + + public WebhookAuthenticationBase data(Object data) { + + this.data = data; + return this; + } + + /** + * Get data + * @return data + **/ + @ApiModelProperty(required = true, value = "") + + public Object getData() { + return data; + } + + + public void setData(Object data) { + this.data = data; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WebhookAuthenticationBase webhookAuthenticationBase = (WebhookAuthenticationBase) o; + return Objects.equals(this.name, webhookAuthenticationBase.name) && + Objects.equals(this.type, webhookAuthenticationBase.type) && + Objects.equals(this.data, webhookAuthenticationBase.data); + } + + @Override + public int hashCode() { + return Objects.hash(name, type, data); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WebhookAuthenticationBase {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/WebhookAuthenticationDataBasic.java b/src/main/java/one/talon/model/WebhookAuthenticationDataBasic.java new file mode 100644 index 00000000..d97e32f6 --- /dev/null +++ b/src/main/java/one/talon/model/WebhookAuthenticationDataBasic.java @@ -0,0 +1,126 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * WebhookAuthenticationDataBasic + */ + +public class WebhookAuthenticationDataBasic { + public static final String SERIALIZED_NAME_USERNAME = "username"; + @SerializedName(SERIALIZED_NAME_USERNAME) + private String username; + + public static final String SERIALIZED_NAME_PASSWORD = "password"; + @SerializedName(SERIALIZED_NAME_PASSWORD) + private String password; + + + public WebhookAuthenticationDataBasic username(String username) { + + this.username = username; + return this; + } + + /** + * The Basic HTTP username. + * @return username + **/ + @ApiModelProperty(required = true, value = "The Basic HTTP username.") + + public String getUsername() { + return username; + } + + + public void setUsername(String username) { + this.username = username; + } + + + public WebhookAuthenticationDataBasic password(String password) { + + this.password = password; + return this; + } + + /** + * The Basic HTTP password. + * @return password + **/ + @ApiModelProperty(required = true, value = "The Basic HTTP password.") + + public String getPassword() { + return password; + } + + + public void setPassword(String password) { + this.password = password; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WebhookAuthenticationDataBasic webhookAuthenticationDataBasic = (WebhookAuthenticationDataBasic) o; + return Objects.equals(this.username, webhookAuthenticationDataBasic.username) && + Objects.equals(this.password, webhookAuthenticationDataBasic.password); + } + + @Override + public int hashCode() { + return Objects.hash(username, password); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WebhookAuthenticationDataBasic {\n"); + sb.append(" username: ").append(toIndentedString(username)).append("\n"); + sb.append(" password: ").append(toIndentedString(password)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/WebhookAuthenticationDataCustom.java b/src/main/java/one/talon/model/WebhookAuthenticationDataCustom.java new file mode 100644 index 00000000..00722576 --- /dev/null +++ b/src/main/java/one/talon/model/WebhookAuthenticationDataCustom.java @@ -0,0 +1,106 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * WebhookAuthenticationDataCustom + */ + +public class WebhookAuthenticationDataCustom { + public static final String SERIALIZED_NAME_HEADERS = "headers"; + @SerializedName(SERIALIZED_NAME_HEADERS) + private Map headers = new HashMap(); + + + public WebhookAuthenticationDataCustom headers(Map headers) { + + this.headers = headers; + return this; + } + + public WebhookAuthenticationDataCustom putHeadersItem(String key, String headersItem) { + this.headers.put(key, headersItem); + return this; + } + + /** + * Get headers + * @return headers + **/ + @ApiModelProperty(required = true, value = "") + + public Map getHeaders() { + return headers; + } + + + public void setHeaders(Map headers) { + this.headers = headers; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WebhookAuthenticationDataCustom webhookAuthenticationDataCustom = (WebhookAuthenticationDataCustom) o; + return Objects.equals(this.headers, webhookAuthenticationDataCustom.headers); + } + + @Override + public int hashCode() { + return Objects.hash(headers); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WebhookAuthenticationDataCustom {\n"); + sb.append(" headers: ").append(toIndentedString(headers)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/WebhookAuthenticationWebhookRef.java b/src/main/java/one/talon/model/WebhookAuthenticationWebhookRef.java new file mode 100644 index 00000000..9ebbbb94 --- /dev/null +++ b/src/main/java/one/talon/model/WebhookAuthenticationWebhookRef.java @@ -0,0 +1,155 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * WebhookAuthenticationWebhookRef + */ + +public class WebhookAuthenticationWebhookRef { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private Long id; + + public static final String SERIALIZED_NAME_TITLE = "title"; + @SerializedName(SERIALIZED_NAME_TITLE) + private String title; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + + public WebhookAuthenticationWebhookRef id(Long id) { + + this.id = id; + return this; + } + + /** + * The internal ID of this entity. + * @return id + **/ + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") + + public Long getId() { + return id; + } + + + public void setId(Long id) { + this.id = id; + } + + + public WebhookAuthenticationWebhookRef title(String title) { + + this.title = title; + return this; + } + + /** + * The title of the webhook authentication. + * @return title + **/ + @ApiModelProperty(example = "Send message", required = true, value = "The title of the webhook authentication.") + + public String getTitle() { + return title; + } + + + public void setTitle(String title) { + this.title = title; + } + + + public WebhookAuthenticationWebhookRef description(String description) { + + this.description = description; + return this; + } + + /** + * A description of the webhook authentication. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "A webhook to send a coupon to the user.", value = "A description of the webhook authentication.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WebhookAuthenticationWebhookRef webhookAuthenticationWebhookRef = (WebhookAuthenticationWebhookRef) o; + return Objects.equals(this.id, webhookAuthenticationWebhookRef.id) && + Objects.equals(this.title, webhookAuthenticationWebhookRef.title) && + Objects.equals(this.description, webhookAuthenticationWebhookRef.description); + } + + @Override + public int hashCode() { + return Objects.hash(id, title, description); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WebhookAuthenticationWebhookRef {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/one/talon/model/WebhookLogEntry.java b/src/main/java/one/talon/model/WebhookLogEntry.java index 26e71d0e..7afccda3 100644 --- a/src/main/java/one/talon/model/WebhookLogEntry.java +++ b/src/main/java/one/talon/model/WebhookLogEntry.java @@ -41,11 +41,11 @@ public class WebhookLogEntry { public static final String SERIALIZED_NAME_WEBHOOK_ID = "webhookId"; @SerializedName(SERIALIZED_NAME_WEBHOOK_ID) - private Long webhookId; + private Integer webhookId; public static final String SERIALIZED_NAME_APPLICATION_ID = "applicationId"; @SerializedName(SERIALIZED_NAME_APPLICATION_ID) - private Long applicationId; + private Integer applicationId; public static final String SERIALIZED_NAME_URL = "url"; @SerializedName(SERIALIZED_NAME_URL) @@ -61,7 +61,7 @@ public class WebhookLogEntry { public static final String SERIALIZED_NAME_STATUS = "status"; @SerializedName(SERIALIZED_NAME_STATUS) - private Long status; + private Integer status; public static final String SERIALIZED_NAME_REQUEST_TIME = "requestTime"; @SerializedName(SERIALIZED_NAME_REQUEST_TIME) @@ -116,7 +116,7 @@ public void setIntegrationRequestUuid(String integrationRequestUuid) { } - public WebhookLogEntry webhookId(Long webhookId) { + public WebhookLogEntry webhookId(Integer webhookId) { this.webhookId = webhookId; return this; @@ -128,17 +128,17 @@ public WebhookLogEntry webhookId(Long webhookId) { **/ @ApiModelProperty(example = "5", required = true, value = "ID of the webhook that triggered the request.") - public Long getWebhookId() { + public Integer getWebhookId() { return webhookId; } - public void setWebhookId(Long webhookId) { + public void setWebhookId(Integer webhookId) { this.webhookId = webhookId; } - public WebhookLogEntry applicationId(Long applicationId) { + public WebhookLogEntry applicationId(Integer applicationId) { this.applicationId = applicationId; return this; @@ -151,12 +151,12 @@ public WebhookLogEntry applicationId(Long applicationId) { @javax.annotation.Nullable @ApiModelProperty(example = "12", value = "ID of the application that triggered the webhook.") - public Long getApplicationId() { + public Integer getApplicationId() { return applicationId; } - public void setApplicationId(Long applicationId) { + public void setApplicationId(Integer applicationId) { this.applicationId = applicationId; } @@ -228,7 +228,7 @@ public void setResponse(String response) { } - public WebhookLogEntry status(Long status) { + public WebhookLogEntry status(Integer status) { this.status = status; return this; @@ -241,12 +241,12 @@ public WebhookLogEntry status(Long status) { @javax.annotation.Nullable @ApiModelProperty(example = "204", value = "HTTP status code of response.") - public Long getStatus() { + public Integer getStatus() { return status; } - public void setStatus(Long status) { + public void setStatus(Integer status) { this.status = status; } diff --git a/src/main/java/one/talon/model/WebhookWithOutgoingIntegrationDetails.java b/src/main/java/one/talon/model/WebhookWithOutgoingIntegrationDetails.java index 09e2a54d..75d5ead8 100644 --- a/src/main/java/one/talon/model/WebhookWithOutgoingIntegrationDetails.java +++ b/src/main/java/one/talon/model/WebhookWithOutgoingIntegrationDetails.java @@ -57,6 +57,10 @@ public class WebhookWithOutgoingIntegrationDetails { @SerializedName(SERIALIZED_NAME_DESCRIPTION) private String description; + public static final String SERIALIZED_NAME_DRAFT = "draft"; + @SerializedName(SERIALIZED_NAME_DRAFT) + private Boolean draft; + /** * API method for this webhook. */ @@ -134,6 +138,10 @@ public VerbEnum read(final JsonReader jsonReader) throws IOException { @SerializedName(SERIALIZED_NAME_ENABLED) private Boolean enabled; + public static final String SERIALIZED_NAME_AUTHENTICATION_ID = "authenticationId"; + @SerializedName(SERIALIZED_NAME_AUTHENTICATION_ID) + private Long authenticationId; + public static final String SERIALIZED_NAME_OUTGOING_INTEGRATION_TEMPLATE_ID = "outgoingIntegrationTemplateId"; @SerializedName(SERIALIZED_NAME_OUTGOING_INTEGRATION_TEMPLATE_ID) private Long outgoingIntegrationTemplateId; @@ -154,10 +162,10 @@ public WebhookWithOutgoingIntegrationDetails id(Long id) { } /** - * Internal ID of this entity. + * The internal ID of this entity. * @return id **/ - @ApiModelProperty(example = "6", required = true, value = "Internal ID of this entity.") + @ApiModelProperty(example = "6", required = true, value = "The internal ID of this entity.") public Long getId() { return id; @@ -285,6 +293,28 @@ public void setDescription(String description) { } + public WebhookWithOutgoingIntegrationDetails draft(Boolean draft) { + + this.draft = draft; + return this; + } + + /** + * Indicates if the webhook is a draft. + * @return draft + **/ + @ApiModelProperty(example = "false", required = true, value = "Indicates if the webhook is a draft.") + + public Boolean getDraft() { + return draft; + } + + + public void setDraft(Boolean draft) { + this.draft = draft; + } + + public WebhookWithOutgoingIntegrationDetails verb(VerbEnum verb) { this.verb = verb; @@ -428,6 +458,29 @@ public void setEnabled(Boolean enabled) { } + public WebhookWithOutgoingIntegrationDetails authenticationId(Long authenticationId) { + + this.authenticationId = authenticationId; + return this; + } + + /** + * The ID of the credential that this webhook is using. + * @return authenticationId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", value = "The ID of the credential that this webhook is using.") + + public Long getAuthenticationId() { + return authenticationId; + } + + + public void setAuthenticationId(Long authenticationId) { + this.authenticationId = authenticationId; + } + + public WebhookWithOutgoingIntegrationDetails outgoingIntegrationTemplateId(Long outgoingIntegrationTemplateId) { this.outgoingIntegrationTemplateId = outgoingIntegrationTemplateId; @@ -512,12 +565,14 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.applicationIds, webhookWithOutgoingIntegrationDetails.applicationIds) && Objects.equals(this.title, webhookWithOutgoingIntegrationDetails.title) && Objects.equals(this.description, webhookWithOutgoingIntegrationDetails.description) && + Objects.equals(this.draft, webhookWithOutgoingIntegrationDetails.draft) && Objects.equals(this.verb, webhookWithOutgoingIntegrationDetails.verb) && Objects.equals(this.url, webhookWithOutgoingIntegrationDetails.url) && Objects.equals(this.headers, webhookWithOutgoingIntegrationDetails.headers) && Objects.equals(this.payload, webhookWithOutgoingIntegrationDetails.payload) && Objects.equals(this.params, webhookWithOutgoingIntegrationDetails.params) && Objects.equals(this.enabled, webhookWithOutgoingIntegrationDetails.enabled) && + Objects.equals(this.authenticationId, webhookWithOutgoingIntegrationDetails.authenticationId) && Objects.equals(this.outgoingIntegrationTemplateId, webhookWithOutgoingIntegrationDetails.outgoingIntegrationTemplateId) && Objects.equals(this.outgoingIntegrationTypeId, webhookWithOutgoingIntegrationDetails.outgoingIntegrationTypeId) && Objects.equals(this.outgoingIntegrationTypeName, webhookWithOutgoingIntegrationDetails.outgoingIntegrationTypeName); @@ -525,7 +580,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(id, created, modified, applicationIds, title, description, verb, url, headers, payload, params, enabled, outgoingIntegrationTemplateId, outgoingIntegrationTypeId, outgoingIntegrationTypeName); + return Objects.hash(id, created, modified, applicationIds, title, description, draft, verb, url, headers, payload, params, enabled, authenticationId, outgoingIntegrationTemplateId, outgoingIntegrationTypeId, outgoingIntegrationTypeName); } @@ -539,12 +594,14 @@ public String toString() { sb.append(" applicationIds: ").append(toIndentedString(applicationIds)).append("\n"); sb.append(" title: ").append(toIndentedString(title)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" draft: ").append(toIndentedString(draft)).append("\n"); sb.append(" verb: ").append(toIndentedString(verb)).append("\n"); sb.append(" url: ").append(toIndentedString(url)).append("\n"); sb.append(" headers: ").append(toIndentedString(headers)).append("\n"); sb.append(" payload: ").append(toIndentedString(payload)).append("\n"); sb.append(" params: ").append(toIndentedString(params)).append("\n"); sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); + sb.append(" authenticationId: ").append(toIndentedString(authenticationId)).append("\n"); sb.append(" outgoingIntegrationTemplateId: ").append(toIndentedString(outgoingIntegrationTemplateId)).append("\n"); sb.append(" outgoingIntegrationTypeId: ").append(toIndentedString(outgoingIntegrationTypeId)).append("\n"); sb.append(" outgoingIntegrationTypeName: ").append(toIndentedString(outgoingIntegrationTypeName)).append("\n"); diff --git a/src/test/java/one/talon/api/IntegrationApiTest.java b/src/test/java/one/talon/api/IntegrationApiTest.java index bb0aae13..0407926b 100644 --- a/src/test/java/one/talon/api/IntegrationApiTest.java +++ b/src/test/java/one/talon/api/IntegrationApiTest.java @@ -516,7 +516,7 @@ public void syncCatalogTest() throws ApiException { /** * 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> * * @throws ApiException * if the Api call fails @@ -585,7 +585,7 @@ public void updateCustomerProfileAudiencesTest() throws ApiException { /** * 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> * * @throws ApiException * if the Api call fails @@ -621,7 +621,7 @@ public void updateCustomerProfilesV2Test() throws ApiException { /** * 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). * * @throws ApiException * if the Api call fails diff --git a/src/test/java/one/talon/api/ManagementApiTest.java b/src/test/java/one/talon/api/ManagementApiTest.java index c9c2099e..6c8586f6 100644 --- a/src/test/java/one/talon/api/ManagementApiTest.java +++ b/src/test/java/one/talon/api/ManagementApiTest.java @@ -99,6 +99,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; @@ -115,6 +116,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; @@ -323,6 +327,24 @@ public void createCampaignFromTemplateTest() throws ApiException { // TODO: test validations } + /** + * Create campaign store budget + * + * Create a new store budget for a given campaign. + * + * @throws ApiException + * if the Api call fails + */ + @Test + public void createCampaignStoreBudgetTest() throws ApiException { + Long applicationId = null; + Long campaignId = null; + NewCampaignStoreBudget body = null; + api.createCampaignStoreBudget(applicationId, campaignId, body); + + // TODO: test validations + } + /** * Create campaign-level collection * @@ -581,6 +603,25 @@ public void deleteCampaignTest() throws ApiException { // TODO: test validations } + /** + * Delete campaign store budgets + * + * Delete the store budgets for a given campaign. + * + * @throws ApiException + * if the Api call fails + */ + @Test + public void deleteCampaignStoreBudgetsTest() throws ApiException { + Long applicationId = null; + Long campaignId = null; + String action = null; + String period = null; + api.deleteCampaignStoreBudgets(applicationId, campaignId, action, period); + + // TODO: test validations + } + /** * Delete campaign-level collection * @@ -813,6 +854,25 @@ public void exportAudiencesMembershipsTest() throws ApiException { // TODO: test validations } + /** + * 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. + * + * @throws ApiException + * if the Api call fails + */ + @Test + public void exportCampaignStoreBudgetsTest() throws ApiException { + Long applicationId = null; + Long campaignId = null; + String action = null; + String period = null; + String response = api.exportCampaignStoreBudgets(applicationId, campaignId, action, period); + + // TODO: test validations + } + /** * Export stores * @@ -881,7 +941,7 @@ public void exportCouponsTest() throws ApiException { /** * 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. * * @throws ApiException * if the Api call fails @@ -1020,8 +1080,10 @@ public void exportLoyaltyCardLedgerTest() throws ApiException { public void exportLoyaltyCardsTest() throws ApiException { Long loyaltyProgramId = null; String batchId = null; + OffsetDateTime createdBefore = null; + OffsetDateTime createdAfter = null; String dateFormat = null; - String response = api.exportLoyaltyCards(loyaltyProgramId, batchId, dateFormat); + String response = api.exportLoyaltyCards(loyaltyProgramId, batchId, createdBefore, createdAfter, dateFormat); // TODO: test validations } @@ -1685,7 +1747,7 @@ public void getChangesTest() throws ApiException { Boolean withTotalResultSize = null; Long managementKeyId = null; Boolean includeOld = null; - InlineResponse20044 response = api.getChanges(pageSize, skip, sort, applicationId, entityPath, userId, createdBefore, createdAfter, withTotalResultSize, managementKeyId, includeOld); + InlineResponse20042 response = api.getChanges(pageSize, skip, sort, applicationId, entityPath, userId, createdBefore, createdAfter, withTotalResultSize, managementKeyId, includeOld); // TODO: test validations } @@ -1935,7 +1997,7 @@ public void getEventTypesTest() throws ApiException { Long pageSize = null; Long skip = null; String sort = null; - InlineResponse20042 response = api.getEventTypes(name, includeOldVersions, pageSize, skip, sort); + InlineResponse20040 response = api.getEventTypes(name, includeOldVersions, pageSize, skip, sort); // TODO: test validations } @@ -1955,7 +2017,7 @@ public void getExportsTest() throws ApiException { BigDecimal applicationId = null; Long campaignId = null; String entity = null; - InlineResponse20045 response = api.getExports(pageSize, skip, applicationId, campaignId, entity); + InlineResponse20043 response = api.getExports(pageSize, skip, applicationId, campaignId, entity); // TODO: test validations } @@ -2262,7 +2324,7 @@ public void getUsersTest() throws ApiException { Long pageSize = null; Long skip = null; String sort = null; - InlineResponse20043 response = api.getUsers(pageSize, skip, sort); + InlineResponse20041 response = api.getUsers(pageSize, skip, sort); // TODO: test validations } @@ -2283,55 +2345,6 @@ public void getWebhookTest() throws ApiException { // TODO: test validations } - /** - * 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). - * - * @throws ApiException - * if the Api call fails - */ - @Test - public void getWebhookActivationLogsTest() throws ApiException { - Long pageSize = null; - Long skip = null; - String sort = null; - String integrationRequestUuid = null; - BigDecimal webhookId = null; - BigDecimal applicationId = null; - BigDecimal campaignId = null; - OffsetDateTime createdBefore = null; - OffsetDateTime createdAfter = null; - InlineResponse20040 response = api.getWebhookActivationLogs(pageSize, skip, sort, integrationRequestUuid, webhookId, applicationId, campaignId, createdBefore, createdAfter); - - // TODO: test validations - } - - /** - * List webhook log entries - * - * Retrieve all webhook log entries. - * - * @throws ApiException - * if the Api call fails - */ - @Test - public void getWebhookLogsTest() throws ApiException { - Long pageSize = null; - Long skip = null; - String sort = null; - String status = null; - BigDecimal webhookId = null; - BigDecimal applicationId = null; - BigDecimal campaignId = null; - String requestUuid = null; - OffsetDateTime createdBefore = null; - OffsetDateTime createdAfter = null; - InlineResponse20041 response = api.getWebhookLogs(pageSize, skip, sort, status, webhookId, applicationId, campaignId, requestUuid, createdBefore, createdAfter); - - // TODO: test validations - } - /** * List webhooks * @@ -2406,6 +2419,26 @@ public void importAudiencesMembershipsTest() throws ApiException { // TODO: test validations } + /** + * 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. + * + * @throws ApiException + * if the Api call fails + */ + @Test + public void importCampaignStoreBudgetTest() throws ApiException { + Long applicationId = null; + Long campaignId = null; + String action = null; + String period = null; + String upFile = null; + ModelImport response = api.importCampaignStoreBudget(applicationId, campaignId, action, period, upFile); + + // TODO: test validations + } + /** * Import stores * @@ -2507,8 +2540,9 @@ public void importLoyaltyCustomersTiersTest() throws ApiException { @Test public void importLoyaltyPointsTest() throws ApiException { Long loyaltyProgramId = null; + Boolean notificationsEnabled = null; String upFile = null; - ModelImport response = api.importLoyaltyPoints(loyaltyProgramId, upFile); + ModelImport response = api.importLoyaltyPoints(loyaltyProgramId, notificationsEnabled, upFile); // TODO: test validations } @@ -2614,7 +2648,26 @@ public void listAchievementsTest() throws ApiException { */ @Test public void listAllRolesV2Test() throws ApiException { - InlineResponse20046 response = api.listAllRolesV2(); + InlineResponse20044 response = api.listAllRolesV2(); + + // TODO: test validations + } + + /** + * List campaign store budget limits + * + * Return the store budget limits for a given campaign. + * + * @throws ApiException + * if the Api call fails + */ + @Test + public void listCampaignStoreBudgetLimitsTest() throws ApiException { + Long applicationId = null; + Long campaignId = null; + String action = null; + String period = null; + InlineResponse20046 response = api.listCampaignStoreBudgetLimits(applicationId, campaignId, action, period); // TODO: test validations } @@ -2702,7 +2755,7 @@ public void listStoresTest() throws ApiException { String name = null; String integrationId = null; String query = null; - InlineResponse20047 response = api.listStores(applicationId, pageSize, skip, sort, withTotalResultSize, campaignId, name, integrationId, query); + InlineResponse20045 response = api.listStores(applicationId, pageSize, skip, sort, withTotalResultSize, campaignId, name, integrationId, query); // TODO: test validations } @@ -2756,6 +2809,22 @@ public void resetPasswordTest() throws ApiException { // TODO: test validations } + /** + * 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. + * + * @throws ApiException + * if the Api call fails + */ + @Test + public void scimCreateGroupTest() throws ApiException { + ScimBaseGroup body = null; + ScimGroup response = api.scimCreateGroup(body); + + // TODO: test validations + } + /** * Create SCIM user * @@ -2772,6 +2841,22 @@ public void scimCreateUserTest() throws ApiException { // TODO: test validations } + /** + * 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. + * + * @throws ApiException + * if the Api call fails + */ + @Test + public void scimDeleteGroupTest() throws ApiException { + Long groupId = null; + api.scimDeleteGroup(groupId); + + // TODO: test validations + } + /** * Delete SCIM user * @@ -2788,6 +2873,37 @@ public void scimDeleteUserTest() throws ApiException { // TODO: test validations } + /** + * Get SCIM group + * + * 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. + * + * @throws ApiException + * if the Api call fails + */ + @Test + public void scimGetGroupTest() throws ApiException { + Long groupId = null; + ScimGroup response = api.scimGetGroup(groupId); + + // TODO: test validations + } + + /** + * List SCIM groups + * + * 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. + * + * @throws ApiException + * if the Api call fails + */ + @Test + public void scimGetGroupsTest() throws ApiException { + ScimGroupsListResponse response = api.scimGetGroups(); + + // TODO: test validations + } + /** * List supported SCIM resource types * @@ -2864,6 +2980,23 @@ public void scimGetUsersTest() throws ApiException { // TODO: test validations } + /** + * 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. + * + * @throws ApiException + * if the Api call fails + */ + @Test + public void scimPatchGroupTest() throws ApiException { + Long groupId = null; + ScimPatchRequest body = null; + ScimGroup response = api.scimPatchGroup(groupId, body); + + // TODO: test validations + } + /** * Update SCIM user attributes * @@ -2881,6 +3014,23 @@ public void scimPatchUserTest() throws ApiException { // TODO: test validations } + /** + * 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. + * + * @throws ApiException + * if the Api call fails + */ + @Test + public void scimReplaceGroupAttributesTest() throws ApiException { + Long groupId = null; + ScimBaseGroup body = null; + ScimGroup response = api.scimReplaceGroupAttributes(groupId, body); + + // TODO: test validations + } + /** * Update SCIM user * @@ -2958,6 +3108,23 @@ public void searchCouponsAdvancedWithoutTotalCountTest() throws ApiException { // TODO: test validations } + /** + * Get summary of campaign store budgets + * + * Fetch a summary of all store budget information for a given campaign. + * + * @throws ApiException + * if the Api call fails + */ + @Test + public void summarizeCampaignStoreBudgetTest() throws ApiException { + Long applicationId = null; + Long campaignId = null; + InlineResponse20047 response = api.summarizeCampaignStoreBudget(applicationId, campaignId); + + // TODO: test validations + } + /** * Transfer card data * diff --git a/src/test/java/one/talon/model/AccountLimitsTest.java b/src/test/java/one/talon/model/AccountLimitsTest.java index 852fe0ba..fa5fcb1a 100644 --- a/src/test/java/one/talon/model/AccountLimitsTest.java +++ b/src/test/java/one/talon/model/AccountLimitsTest.java @@ -138,4 +138,20 @@ public void promotionTypesTest() { // TODO: test promotionTypes } + /** + * Test the property 'secondaryDeploymentPrice' + */ + @Test + public void secondaryDeploymentPriceTest() { + // TODO: test secondaryDeploymentPrice + } + + /** + * Test the property 'currencyCode' + */ + @Test + public void currencyCodeTest() { + // TODO: test currencyCode + } + } diff --git a/src/test/java/one/talon/model/AddPriceAdjustmentCatalogActionTest.java b/src/test/java/one/talon/model/AddPriceAdjustmentCatalogActionTest.java new file mode 100644 index 00000000..7439e82a --- /dev/null +++ b/src/test/java/one/talon/model/AddPriceAdjustmentCatalogActionTest.java @@ -0,0 +1,62 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.NewPriceAdjustment; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for AddPriceAdjustmentCatalogAction + */ +public class AddPriceAdjustmentCatalogActionTest { + private final AddPriceAdjustmentCatalogAction model = new AddPriceAdjustmentCatalogAction(); + + /** + * Model tests for AddPriceAdjustmentCatalogAction + */ + @Test + public void testAddPriceAdjustmentCatalogAction() { + // TODO: test AddPriceAdjustmentCatalogAction + } + + /** + * Test the property 'sku' + */ + @Test + public void skuTest() { + // TODO: test sku + } + + /** + * Test the property 'adjustments' + */ + @Test + public void adjustmentsTest() { + // TODO: test adjustments + } + +} diff --git a/src/test/java/one/talon/model/AddedDeductedPointsBalancesNotificationPolicyTest.java b/src/test/java/one/talon/model/AddedDeductedPointsBalancesNotificationPolicyTest.java new file mode 100644 index 00000000..23a28607 --- /dev/null +++ b/src/test/java/one/talon/model/AddedDeductedPointsBalancesNotificationPolicyTest.java @@ -0,0 +1,61 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for AddedDeductedPointsBalancesNotificationPolicy + */ +public class AddedDeductedPointsBalancesNotificationPolicyTest { + private final AddedDeductedPointsBalancesNotificationPolicy model = new AddedDeductedPointsBalancesNotificationPolicy(); + + /** + * Model tests for AddedDeductedPointsBalancesNotificationPolicy + */ + @Test + public void testAddedDeductedPointsBalancesNotificationPolicy() { + // TODO: test AddedDeductedPointsBalancesNotificationPolicy + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'scopes' + */ + @Test + public void scopesTest() { + // TODO: test scopes + } + +} diff --git a/src/test/java/one/talon/model/AddedDeductedPointsNotificationTest.java b/src/test/java/one/talon/model/AddedDeductedPointsNotificationTest.java new file mode 100644 index 00000000..379f93ae --- /dev/null +++ b/src/test/java/one/talon/model/AddedDeductedPointsNotificationTest.java @@ -0,0 +1,149 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import org.threeten.bp.OffsetDateTime; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for AddedDeductedPointsNotification + */ +public class AddedDeductedPointsNotificationTest { + private final AddedDeductedPointsNotification model = new AddedDeductedPointsNotification(); + + /** + * Model tests for AddedDeductedPointsNotification + */ + @Test + public void testAddedDeductedPointsNotification() { + // TODO: test AddedDeductedPointsNotification + } + + /** + * Test the property 'profileIntegrationID' + */ + @Test + public void profileIntegrationIDTest() { + // TODO: test profileIntegrationID + } + + /** + * Test the property 'loyaltyProgramID' + */ + @Test + public void loyaltyProgramIDTest() { + // TODO: test loyaltyProgramID + } + + /** + * Test the property 'subledgerID' + */ + @Test + public void subledgerIDTest() { + // TODO: test subledgerID + } + + /** + * Test the property 'amount' + */ + @Test + public void amountTest() { + // TODO: test amount + } + + /** + * Test the property 'reason' + */ + @Test + public void reasonTest() { + // TODO: test reason + } + + /** + * Test the property 'typeOfChange' + */ + @Test + public void typeOfChangeTest() { + // TODO: test typeOfChange + } + + /** + * Test the property 'employeeName' + */ + @Test + public void employeeNameTest() { + // TODO: test employeeName + } + + /** + * Test the property 'userID' + */ + @Test + public void userIDTest() { + // TODO: test userID + } + + /** + * Test the property 'operation' + */ + @Test + public void operationTest() { + // TODO: test operation + } + + /** + * Test the property 'startDate' + */ + @Test + public void startDateTest() { + // TODO: test startDate + } + + /** + * Test the property 'expiryDate' + */ + @Test + public void expiryDateTest() { + // TODO: test expiryDate + } + + /** + * Test the property 'sessionIntegrationID' + */ + @Test + public void sessionIntegrationIDTest() { + // TODO: test sessionIntegrationID + } + + /** + * Test the property 'notificationType' + */ + @Test + public void notificationTypeTest() { + // TODO: test notificationType + } + +} diff --git a/src/test/java/one/talon/model/AsyncCouponsDataTest.java b/src/test/java/one/talon/model/AsyncCouponsDataTest.java new file mode 100644 index 00000000..a579db47 --- /dev/null +++ b/src/test/java/one/talon/model/AsyncCouponsDataTest.java @@ -0,0 +1,75 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for AsyncCouponsData + */ +public class AsyncCouponsDataTest { + private final AsyncCouponsData model = new AsyncCouponsData(); + + /** + * Model tests for AsyncCouponsData + */ + @Test + public void testAsyncCouponsData() { + // TODO: test AsyncCouponsData + } + + /** + * Test the property 'batchID' + */ + @Test + public void batchIDTest() { + // TODO: test batchID + } + + /** + * Test the property 'typeOfChange' + */ + @Test + public void typeOfChangeTest() { + // TODO: test typeOfChange + } + + /** + * Test the property 'operation' + */ + @Test + public void operationTest() { + // TODO: test operation + } + + /** + * Test the property 'employeeName' + */ + @Test + public void employeeNameTest() { + // TODO: test employeeName + } + +} diff --git a/src/test/java/one/talon/model/BindingTest.java b/src/test/java/one/talon/model/BindingTest.java index 2027de5c..b95aca3b 100644 --- a/src/test/java/one/talon/model/BindingTest.java +++ b/src/test/java/one/talon/model/BindingTest.java @@ -21,6 +21,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import org.junit.Assert; @@ -74,4 +75,36 @@ public void valueTypeTest() { // TODO: test valueType } + /** + * Test the property 'minValue' + */ + @Test + public void minValueTest() { + // TODO: test minValue + } + + /** + * Test the property 'maxValue' + */ + @Test + public void maxValueTest() { + // TODO: test maxValue + } + + /** + * Test the property 'attributeId' + */ + @Test + public void attributeIdTest() { + // TODO: test attributeId + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + } diff --git a/src/test/java/one/talon/model/CampaignDeactivationRequestTest.java b/src/test/java/one/talon/model/CampaignDeactivationRequestTest.java new file mode 100644 index 00000000..5b7fd65a --- /dev/null +++ b/src/test/java/one/talon/model/CampaignDeactivationRequestTest.java @@ -0,0 +1,53 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for CampaignDeactivationRequest + */ +public class CampaignDeactivationRequestTest { + private final CampaignDeactivationRequest model = new CampaignDeactivationRequest(); + + /** + * Model tests for CampaignDeactivationRequest + */ + @Test + public void testCampaignDeactivationRequest() { + // TODO: test CampaignDeactivationRequest + } + + /** + * Test the property 'userIds' + */ + @Test + public void userIdsTest() { + // TODO: test userIds + } + +} diff --git a/src/test/java/one/talon/model/CampaignEvaluationTreeChangedMessageTest.java b/src/test/java/one/talon/model/CampaignEvaluationTreeChangedMessageTest.java new file mode 100644 index 00000000..fe69fca5 --- /dev/null +++ b/src/test/java/one/talon/model/CampaignEvaluationTreeChangedMessageTest.java @@ -0,0 +1,62 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.ApplicationNotification; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for CampaignEvaluationTreeChangedMessage + */ +public class CampaignEvaluationTreeChangedMessageTest { + private final CampaignEvaluationTreeChangedMessage model = new CampaignEvaluationTreeChangedMessage(); + + /** + * Model tests for CampaignEvaluationTreeChangedMessage + */ + @Test + public void testCampaignEvaluationTreeChangedMessage() { + // TODO: test CampaignEvaluationTreeChangedMessage + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + + /** + * Test the property 'totalResultSize' + */ + @Test + public void totalResultSizeTest() { + // TODO: test totalResultSize + } + +} diff --git a/src/test/java/one/talon/model/CampaignNotificationDataTest.java b/src/test/java/one/talon/model/CampaignNotificationDataTest.java new file mode 100644 index 00000000..67376760 --- /dev/null +++ b/src/test/java/one/talon/model/CampaignNotificationDataTest.java @@ -0,0 +1,68 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import one.talon.model.CampaignNotification; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for CampaignNotificationData + */ +public class CampaignNotificationDataTest { + private final CampaignNotificationData model = new CampaignNotificationData(); + + /** + * Model tests for CampaignNotificationData + */ + @Test + public void testCampaignNotificationData() { + // TODO: test CampaignNotificationData + } + + /** + * Test the property 'notification' + */ + @Test + public void notificationTest() { + // TODO: test notification + } + + /** + * Test the property 'accountID' + */ + @Test + public void accountIDTest() { + // TODO: test accountID + } + + /** + * Test the property 'applicationID' + */ + @Test + public void applicationIDTest() { + // TODO: test applicationID + } + +} diff --git a/src/test/java/one/talon/model/CampaignNotificationMessageTest.java b/src/test/java/one/talon/model/CampaignNotificationMessageTest.java new file mode 100644 index 00000000..be8c9e2b --- /dev/null +++ b/src/test/java/one/talon/model/CampaignNotificationMessageTest.java @@ -0,0 +1,62 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.CampaignNotificationData; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for CampaignNotificationMessage + */ +public class CampaignNotificationMessageTest { + private final CampaignNotificationMessage model = new CampaignNotificationMessage(); + + /** + * Model tests for CampaignNotificationMessage + */ + @Test + public void testCampaignNotificationMessage() { + // TODO: test CampaignNotificationMessage + } + + /** + * Test the property 'totalResultSize' + */ + @Test + public void totalResultSizeTest() { + // TODO: test totalResultSize + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/one/talon/model/CardAddedDeductedPointsBalancesNotificationPolicyTest.java b/src/test/java/one/talon/model/CardAddedDeductedPointsBalancesNotificationPolicyTest.java new file mode 100644 index 00000000..90816514 --- /dev/null +++ b/src/test/java/one/talon/model/CardAddedDeductedPointsBalancesNotificationPolicyTest.java @@ -0,0 +1,61 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for CardAddedDeductedPointsBalancesNotificationPolicy + */ +public class CardAddedDeductedPointsBalancesNotificationPolicyTest { + private final CardAddedDeductedPointsBalancesNotificationPolicy model = new CardAddedDeductedPointsBalancesNotificationPolicy(); + + /** + * Model tests for CardAddedDeductedPointsBalancesNotificationPolicy + */ + @Test + public void testCardAddedDeductedPointsBalancesNotificationPolicy() { + // TODO: test CardAddedDeductedPointsBalancesNotificationPolicy + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'scopes' + */ + @Test + public void scopesTest() { + // TODO: test scopes + } + +} diff --git a/src/test/java/one/talon/model/CardAddedDeductedPointsNotificationTest.java b/src/test/java/one/talon/model/CardAddedDeductedPointsNotificationTest.java new file mode 100644 index 00000000..42b7275e --- /dev/null +++ b/src/test/java/one/talon/model/CardAddedDeductedPointsNotificationTest.java @@ -0,0 +1,167 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; +import org.threeten.bp.OffsetDateTime; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for CardAddedDeductedPointsNotification + */ +public class CardAddedDeductedPointsNotificationTest { + private final CardAddedDeductedPointsNotification model = new CardAddedDeductedPointsNotification(); + + /** + * Model tests for CardAddedDeductedPointsNotification + */ + @Test + public void testCardAddedDeductedPointsNotification() { + // TODO: test CardAddedDeductedPointsNotification + } + + /** + * Test the property 'profileIntegrationIDs' + */ + @Test + public void profileIntegrationIDsTest() { + // TODO: test profileIntegrationIDs + } + + /** + * Test the property 'loyaltyProgramID' + */ + @Test + public void loyaltyProgramIDTest() { + // TODO: test loyaltyProgramID + } + + /** + * Test the property 'subledgerID' + */ + @Test + public void subledgerIDTest() { + // TODO: test subledgerID + } + + /** + * Test the property 'amount' + */ + @Test + public void amountTest() { + // TODO: test amount + } + + /** + * Test the property 'reason' + */ + @Test + public void reasonTest() { + // TODO: test reason + } + + /** + * Test the property 'typeOfChange' + */ + @Test + public void typeOfChangeTest() { + // TODO: test typeOfChange + } + + /** + * Test the property 'employeeName' + */ + @Test + public void employeeNameTest() { + // TODO: test employeeName + } + + /** + * Test the property 'userID' + */ + @Test + public void userIDTest() { + // TODO: test userID + } + + /** + * Test the property 'operation' + */ + @Test + public void operationTest() { + // TODO: test operation + } + + /** + * Test the property 'startDate' + */ + @Test + public void startDateTest() { + // TODO: test startDate + } + + /** + * Test the property 'expiryDate' + */ + @Test + public void expiryDateTest() { + // TODO: test expiryDate + } + + /** + * Test the property 'sessionIntegrationID' + */ + @Test + public void sessionIntegrationIDTest() { + // TODO: test sessionIntegrationID + } + + /** + * Test the property 'notificationType' + */ + @Test + public void notificationTypeTest() { + // TODO: test notificationType + } + + /** + * Test the property 'cardIdentifier' + */ + @Test + public void cardIdentifierTest() { + // TODO: test cardIdentifier + } + + /** + * Test the property 'usersPerCardLimit' + */ + @Test + public void usersPerCardLimitTest() { + // TODO: test usersPerCardLimit + } + +} diff --git a/src/test/java/one/talon/model/CartItemTest.java b/src/test/java/one/talon/model/CartItemTest.java index af16139f..16d7beee 100644 --- a/src/test/java/one/talon/model/CartItemTest.java +++ b/src/test/java/one/talon/model/CartItemTest.java @@ -25,8 +25,11 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.UUID; import one.talon.model.AdditionalCost; +import one.talon.model.PriceDetail; import one.talon.model.Product; +import org.threeten.bp.OffsetDateTime; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; @@ -174,4 +177,44 @@ public void catalogItemIDTest() { // TODO: test catalogItemID } + /** + * Test the property 'selectedPriceType' + */ + @Test + public void selectedPriceTypeTest() { + // TODO: test selectedPriceType + } + + /** + * Test the property 'adjustmentReferenceId' + */ + @Test + public void adjustmentReferenceIdTest() { + // TODO: test adjustmentReferenceId + } + + /** + * Test the property 'adjustmentEffectiveFrom' + */ + @Test + public void adjustmentEffectiveFromTest() { + // TODO: test adjustmentEffectiveFrom + } + + /** + * Test the property 'adjustmentEffectiveUntil' + */ + @Test + public void adjustmentEffectiveUntilTest() { + // TODO: test adjustmentEffectiveUntil + } + + /** + * Test the property 'prices' + */ + @Test + public void pricesTest() { + // TODO: test prices + } + } diff --git a/src/test/java/one/talon/model/CouponEntityTest.java b/src/test/java/one/talon/model/CouponEntityTest.java new file mode 100644 index 00000000..1d52c99b --- /dev/null +++ b/src/test/java/one/talon/model/CouponEntityTest.java @@ -0,0 +1,60 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import org.threeten.bp.OffsetDateTime; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for CouponEntity + */ +public class CouponEntityTest { + private final CouponEntity model = new CouponEntity(); + + /** + * Model tests for CouponEntity + */ + @Test + public void testCouponEntity() { + // TODO: test CouponEntity + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'created' + */ + @Test + public void createdTest() { + // TODO: test created + } + +} diff --git a/src/test/java/one/talon/model/CouponsNotificationDataTest.java b/src/test/java/one/talon/model/CouponsNotificationDataTest.java new file mode 100644 index 00000000..152d669a --- /dev/null +++ b/src/test/java/one/talon/model/CouponsNotificationDataTest.java @@ -0,0 +1,86 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.ExtendedCoupon; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for CouponsNotificationData + */ +public class CouponsNotificationDataTest { + private final CouponsNotificationData model = new CouponsNotificationData(); + + /** + * Model tests for CouponsNotificationData + */ + @Test + public void testCouponsNotificationData() { + // TODO: test CouponsNotificationData + } + + /** + * Test the property 'typeOfChange' + */ + @Test + public void typeOfChangeTest() { + // TODO: test typeOfChange + } + + /** + * Test the property 'operation' + */ + @Test + public void operationTest() { + // TODO: test operation + } + + /** + * Test the property 'employeeName' + */ + @Test + public void employeeNameTest() { + // TODO: test employeeName + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + + /** + * Test the property 'totalResultSize' + */ + @Test + public void totalResultSizeTest() { + // TODO: test totalResultSize + } + +} diff --git a/src/test/java/one/talon/model/CreateCouponDataTest.java b/src/test/java/one/talon/model/CreateCouponDataTest.java new file mode 100644 index 00000000..1c68d53c --- /dev/null +++ b/src/test/java/one/talon/model/CreateCouponDataTest.java @@ -0,0 +1,94 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.ExtendedCoupon; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for CreateCouponData + */ +public class CreateCouponDataTest { + private final CreateCouponData model = new CreateCouponData(); + + /** + * Model tests for CreateCouponData + */ + @Test + public void testCreateCouponData() { + // TODO: test CreateCouponData + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + + /** + * Test the property 'totalResultSize' + */ + @Test + public void totalResultSizeTest() { + // TODO: test totalResultSize + } + + /** + * Test the property 'batchID' + */ + @Test + public void batchIDTest() { + // TODO: test batchID + } + + /** + * Test the property 'typeOfChange' + */ + @Test + public void typeOfChangeTest() { + // TODO: test typeOfChange + } + + /** + * Test the property 'operation' + */ + @Test + public void operationTest() { + // TODO: test operation + } + + /** + * Test the property 'employeeName' + */ + @Test + public void employeeNameTest() { + // TODO: test employeeName + } + +} diff --git a/src/test/java/one/talon/model/CustomerProfileEntityTest.java b/src/test/java/one/talon/model/CustomerProfileEntityTest.java new file mode 100644 index 00000000..cb4791f2 --- /dev/null +++ b/src/test/java/one/talon/model/CustomerProfileEntityTest.java @@ -0,0 +1,60 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import org.threeten.bp.OffsetDateTime; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for CustomerProfileEntity + */ +public class CustomerProfileEntityTest { + private final CustomerProfileEntity model = new CustomerProfileEntity(); + + /** + * Model tests for CustomerProfileEntity + */ + @Test + public void testCustomerProfileEntity() { + // TODO: test CustomerProfileEntity + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'created' + */ + @Test + public void createdTest() { + // TODO: test created + } + +} diff --git a/src/test/java/one/talon/model/DeleteCouponsDataTest.java b/src/test/java/one/talon/model/DeleteCouponsDataTest.java new file mode 100644 index 00000000..8a193c0c --- /dev/null +++ b/src/test/java/one/talon/model/DeleteCouponsDataTest.java @@ -0,0 +1,99 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for DeleteCouponsData + */ +public class DeleteCouponsDataTest { + private final DeleteCouponsData model = new DeleteCouponsData(); + + /** + * Model tests for DeleteCouponsData + */ + @Test + public void testDeleteCouponsData() { + // TODO: test DeleteCouponsData + } + + /** + * Test the property 'typeOfChange' + */ + @Test + public void typeOfChangeTest() { + // TODO: test typeOfChange + } + + /** + * Test the property 'operation' + */ + @Test + public void operationTest() { + // TODO: test operation + } + + /** + * Test the property 'employeeName' + */ + @Test + public void employeeNameTest() { + // TODO: test employeeName + } + + /** + * Test the property 'batchID' + */ + @Test + public void batchIDTest() { + // TODO: test batchID + } + + /** + * Test the property 'applicationID' + */ + @Test + public void applicationIDTest() { + // TODO: test applicationID + } + + /** + * Test the property 'campaignID' + */ + @Test + public void campaignIDTest() { + // TODO: test campaignID + } + + /** + * Test the property 'totalResultSize' + */ + @Test + public void totalResultSizeTest() { + // TODO: test totalResultSize + } + +} diff --git a/src/test/java/one/talon/model/EffectEntityTest.java b/src/test/java/one/talon/model/EffectEntityTest.java index 1e80a8e3..5a96fdf4 100644 --- a/src/test/java/one/talon/model/EffectEntityTest.java +++ b/src/test/java/one/talon/model/EffectEntityTest.java @@ -21,6 +21,8 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; +import java.math.BigDecimal; +import java.util.UUID; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; @@ -136,4 +138,28 @@ public void campaignRevisionVersionIdTest() { // TODO: test campaignRevisionVersionId } + /** + * Test the property 'selectedPriceType' + */ + @Test + public void selectedPriceTypeTest() { + // TODO: test selectedPriceType + } + + /** + * Test the property 'selectedPrice' + */ + @Test + public void selectedPriceTest() { + // TODO: test selectedPrice + } + + /** + * Test the property 'adjustmentReferenceId' + */ + @Test + public void adjustmentReferenceIdTest() { + // TODO: test adjustmentReferenceId + } + } diff --git a/src/test/java/one/talon/model/EffectTest.java b/src/test/java/one/talon/model/EffectTest.java index f4f88303..f30aabe7 100644 --- a/src/test/java/one/talon/model/EffectTest.java +++ b/src/test/java/one/talon/model/EffectTest.java @@ -21,6 +21,8 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; +import java.math.BigDecimal; +import java.util.UUID; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; @@ -136,6 +138,30 @@ public void campaignRevisionVersionIdTest() { // TODO: test campaignRevisionVersionId } + /** + * Test the property 'selectedPriceType' + */ + @Test + public void selectedPriceTypeTest() { + // TODO: test selectedPriceType + } + + /** + * Test the property 'selectedPrice' + */ + @Test + public void selectedPriceTest() { + // TODO: test selectedPrice + } + + /** + * Test the property 'adjustmentReferenceId' + */ + @Test + public void adjustmentReferenceIdTest() { + // TODO: test adjustmentReferenceId + } + /** * Test the property 'props' */ diff --git a/src/test/java/one/talon/model/EnvironmentTest.java b/src/test/java/one/talon/model/EnvironmentTest.java index a67eff84..19d51fe0 100644 --- a/src/test/java/one/talon/model/EnvironmentTest.java +++ b/src/test/java/one/talon/model/EnvironmentTest.java @@ -32,6 +32,7 @@ import one.talon.model.FunctionDef; import one.talon.model.GiveawaysPool; import one.talon.model.LoyaltyProgram; +import one.talon.model.PriceType; import one.talon.model.SlotDef; import one.talon.model.TemplateDef; import org.threeten.bp.OffsetDateTime; @@ -174,4 +175,12 @@ public void applicationCartItemFiltersTest() { // TODO: test applicationCartItemFilters } + /** + * Test the property 'priceTypes' + */ + @Test + public void priceTypesTest() { + // TODO: test priceTypes + } + } diff --git a/src/test/java/one/talon/model/ExpiringCardPointsDataTest.java b/src/test/java/one/talon/model/ExpiringCardPointsDataTest.java new file mode 100644 index 00000000..0d3623ba --- /dev/null +++ b/src/test/java/one/talon/model/ExpiringCardPointsDataTest.java @@ -0,0 +1,103 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; +import org.threeten.bp.LocalDate; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for ExpiringCardPointsData + */ +public class ExpiringCardPointsDataTest { + private final ExpiringCardPointsData model = new ExpiringCardPointsData(); + + /** + * Model tests for ExpiringCardPointsData + */ + @Test + public void testExpiringCardPointsData() { + // TODO: test ExpiringCardPointsData + } + + /** + * Test the property 'expiryDate' + */ + @Test + public void expiryDateTest() { + // TODO: test expiryDate + } + + /** + * Test the property 'loyaltyProgramID' + */ + @Test + public void loyaltyProgramIDTest() { + // TODO: test loyaltyProgramID + } + + /** + * Test the property 'amountOfExpiringPoints' + */ + @Test + public void amountOfExpiringPointsTest() { + // TODO: test amountOfExpiringPoints + } + + /** + * Test the property 'subledgerID' + */ + @Test + public void subledgerIDTest() { + // TODO: test subledgerID + } + + /** + * Test the property 'cardIdentifier' + */ + @Test + public void cardIdentifierTest() { + // TODO: test cardIdentifier + } + + /** + * Test the property 'usersPerCardLimit' + */ + @Test + public void usersPerCardLimitTest() { + // TODO: test usersPerCardLimit + } + + /** + * Test the property 'profiles' + */ + @Test + public void profilesTest() { + // TODO: test profiles + } + +} diff --git a/src/test/java/one/talon/model/ExpiringCardPointsNotificationTest.java b/src/test/java/one/talon/model/ExpiringCardPointsNotificationTest.java new file mode 100644 index 00000000..8282fb64 --- /dev/null +++ b/src/test/java/one/talon/model/ExpiringCardPointsNotificationTest.java @@ -0,0 +1,70 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.ExpiringCardPointsData; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for ExpiringCardPointsNotification + */ +public class ExpiringCardPointsNotificationTest { + private final ExpiringCardPointsNotification model = new ExpiringCardPointsNotification(); + + /** + * Model tests for ExpiringCardPointsNotification + */ + @Test + public void testExpiringCardPointsNotification() { + // TODO: test ExpiringCardPointsNotification + } + + /** + * Test the property 'totalResultSize' + */ + @Test + public void totalResultSizeTest() { + // TODO: test totalResultSize + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + + /** + * Test the property 'notificationType' + */ + @Test + public void notificationTypeTest() { + // TODO: test notificationType + } + +} diff --git a/src/test/java/one/talon/model/ExpiringCouponsDataTest.java b/src/test/java/one/talon/model/ExpiringCouponsDataTest.java new file mode 100644 index 00000000..2c7934b8 --- /dev/null +++ b/src/test/java/one/talon/model/ExpiringCouponsDataTest.java @@ -0,0 +1,124 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import org.threeten.bp.OffsetDateTime; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for ExpiringCouponsData + */ +public class ExpiringCouponsDataTest { + private final ExpiringCouponsData model = new ExpiringCouponsData(); + + /** + * Model tests for ExpiringCouponsData + */ + @Test + public void testExpiringCouponsData() { + // TODO: test ExpiringCouponsData + } + + /** + * Test the property 'couponValue' + */ + @Test + public void couponValueTest() { + // TODO: test couponValue + } + + /** + * Test the property 'createdDate' + */ + @Test + public void createdDateTest() { + // TODO: test createdDate + } + + /** + * Test the property 'validFrom' + */ + @Test + public void validFromTest() { + // TODO: test validFrom + } + + /** + * Test the property 'validUntil' + */ + @Test + public void validUntilTest() { + // TODO: test validUntil + } + + /** + * Test the property 'campaignId' + */ + @Test + public void campaignIdTest() { + // TODO: test campaignId + } + + /** + * Test the property 'customerProfileId' + */ + @Test + public void customerProfileIdTest() { + // TODO: test customerProfileId + } + + /** + * Test the property 'usageLimit' + */ + @Test + public void usageLimitTest() { + // TODO: test usageLimit + } + + /** + * Test the property 'usageCounter' + */ + @Test + public void usageCounterTest() { + // TODO: test usageCounter + } + + /** + * Test the property 'batchId' + */ + @Test + public void batchIdTest() { + // TODO: test batchId + } + + /** + * Test the property 'attributes' + */ + @Test + public void attributesTest() { + // TODO: test attributes + } + +} diff --git a/src/test/java/one/talon/model/ExpiringCouponsNotificationTest.java b/src/test/java/one/talon/model/ExpiringCouponsNotificationTest.java new file mode 100644 index 00000000..3ad2b720 --- /dev/null +++ b/src/test/java/one/talon/model/ExpiringCouponsNotificationTest.java @@ -0,0 +1,70 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.ExpiringCouponsData; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for ExpiringCouponsNotification + */ +public class ExpiringCouponsNotificationTest { + private final ExpiringCouponsNotification model = new ExpiringCouponsNotification(); + + /** + * Model tests for ExpiringCouponsNotification + */ + @Test + public void testExpiringCouponsNotification() { + // TODO: test ExpiringCouponsNotification + } + + /** + * Test the property 'totalResultSize' + */ + @Test + public void totalResultSizeTest() { + // TODO: test totalResultSize + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + + /** + * Test the property 'notificationType' + */ + @Test + public void notificationTypeTest() { + // TODO: test notificationType + } + +} diff --git a/src/test/java/one/talon/model/ExpiringPointsDataTest.java b/src/test/java/one/talon/model/ExpiringPointsDataTest.java new file mode 100644 index 00000000..888e3836 --- /dev/null +++ b/src/test/java/one/talon/model/ExpiringPointsDataTest.java @@ -0,0 +1,85 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import org.threeten.bp.LocalDate; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for ExpiringPointsData + */ +public class ExpiringPointsDataTest { + private final ExpiringPointsData model = new ExpiringPointsData(); + + /** + * Model tests for ExpiringPointsData + */ + @Test + public void testExpiringPointsData() { + // TODO: test ExpiringPointsData + } + + /** + * Test the property 'expiryDate' + */ + @Test + public void expiryDateTest() { + // TODO: test expiryDate + } + + /** + * Test the property 'loyaltyProgramID' + */ + @Test + public void loyaltyProgramIDTest() { + // TODO: test loyaltyProgramID + } + + /** + * Test the property 'customerProfileID' + */ + @Test + public void customerProfileIDTest() { + // TODO: test customerProfileID + } + + /** + * Test the property 'amountOfExpiringPoints' + */ + @Test + public void amountOfExpiringPointsTest() { + // TODO: test amountOfExpiringPoints + } + + /** + * Test the property 'subledgerID' + */ + @Test + public void subledgerIDTest() { + // TODO: test subledgerID + } + +} diff --git a/src/test/java/one/talon/model/ExpiringPointsNotificationTest.java b/src/test/java/one/talon/model/ExpiringPointsNotificationTest.java new file mode 100644 index 00000000..55728fd2 --- /dev/null +++ b/src/test/java/one/talon/model/ExpiringPointsNotificationTest.java @@ -0,0 +1,70 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.ExpiringPointsData; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for ExpiringPointsNotification + */ +public class ExpiringPointsNotificationTest { + private final ExpiringPointsNotification model = new ExpiringPointsNotification(); + + /** + * Model tests for ExpiringPointsNotification + */ + @Test + public void testExpiringPointsNotification() { + // TODO: test ExpiringPointsNotification + } + + /** + * Test the property 'totalResultSize' + */ + @Test + public void totalResultSizeTest() { + // TODO: test totalResultSize + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + + /** + * Test the property 'notificationType' + */ + @Test + public void notificationTypeTest() { + // TODO: test notificationType + } + +} diff --git a/src/test/java/one/talon/model/ExtendLoyaltyPointsExpiryDateEffectPropsTest.java b/src/test/java/one/talon/model/ExtendLoyaltyPointsExpiryDateEffectPropsTest.java new file mode 100644 index 00000000..fa70ad38 --- /dev/null +++ b/src/test/java/one/talon/model/ExtendLoyaltyPointsExpiryDateEffectPropsTest.java @@ -0,0 +1,86 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import org.threeten.bp.OffsetDateTime; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for ExtendLoyaltyPointsExpiryDateEffectProps + */ +public class ExtendLoyaltyPointsExpiryDateEffectPropsTest { + private final ExtendLoyaltyPointsExpiryDateEffectProps model = new ExtendLoyaltyPointsExpiryDateEffectProps(); + + /** + * Model tests for ExtendLoyaltyPointsExpiryDateEffectProps + */ + @Test + public void testExtendLoyaltyPointsExpiryDateEffectProps() { + // TODO: test ExtendLoyaltyPointsExpiryDateEffectProps + } + + /** + * Test the property 'programId' + */ + @Test + public void programIdTest() { + // TODO: test programId + } + + /** + * Test the property 'subLedgerId' + */ + @Test + public void subLedgerIdTest() { + // TODO: test subLedgerId + } + + /** + * Test the property 'extensionDuration' + */ + @Test + public void extensionDurationTest() { + // TODO: test extensionDuration + } + + /** + * Test the property 'transactionUUIDs' + */ + @Test + public void transactionUUIDsTest() { + // TODO: test transactionUUIDs + } + + /** + * Test the property 'previousExpirationDate' + */ + @Test + public void previousExpirationDateTest() { + // TODO: test previousExpirationDate + } + +} diff --git a/src/test/java/one/talon/model/ExtendedCouponTest.java b/src/test/java/one/talon/model/ExtendedCouponTest.java new file mode 100644 index 00000000..595e29d1 --- /dev/null +++ b/src/test/java/one/talon/model/ExtendedCouponTest.java @@ -0,0 +1,232 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.LimitConfig; +import org.threeten.bp.OffsetDateTime; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for ExtendedCoupon + */ +public class ExtendedCouponTest { + private final ExtendedCoupon model = new ExtendedCoupon(); + + /** + * Model tests for ExtendedCoupon + */ + @Test + public void testExtendedCoupon() { + // TODO: test ExtendedCoupon + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'created' + */ + @Test + public void createdTest() { + // TODO: test created + } + + /** + * Test the property 'campaignId' + */ + @Test + public void campaignIdTest() { + // TODO: test campaignId + } + + /** + * Test the property 'value' + */ + @Test + public void valueTest() { + // TODO: test value + } + + /** + * Test the property 'usageLimit' + */ + @Test + public void usageLimitTest() { + // TODO: test usageLimit + } + + /** + * Test the property 'discountLimit' + */ + @Test + public void discountLimitTest() { + // TODO: test discountLimit + } + + /** + * Test the property 'reservationLimit' + */ + @Test + public void reservationLimitTest() { + // TODO: test reservationLimit + } + + /** + * Test the property 'startDate' + */ + @Test + public void startDateTest() { + // TODO: test startDate + } + + /** + * Test the property 'expiryDate' + */ + @Test + public void expiryDateTest() { + // TODO: test expiryDate + } + + /** + * Test the property 'limits' + */ + @Test + public void limitsTest() { + // TODO: test limits + } + + /** + * Test the property 'usageCounter' + */ + @Test + public void usageCounterTest() { + // TODO: test usageCounter + } + + /** + * Test the property 'discountCounter' + */ + @Test + public void discountCounterTest() { + // TODO: test discountCounter + } + + /** + * Test the property 'discountRemainder' + */ + @Test + public void discountRemainderTest() { + // TODO: test discountRemainder + } + + /** + * Test the property 'reservationCounter' + */ + @Test + public void reservationCounterTest() { + // TODO: test reservationCounter + } + + /** + * Test the property 'attributes' + */ + @Test + public void attributesTest() { + // TODO: test attributes + } + + /** + * Test the property 'referralId' + */ + @Test + public void referralIdTest() { + // TODO: test referralId + } + + /** + * Test the property 'recipientIntegrationId' + */ + @Test + public void recipientIntegrationIdTest() { + // TODO: test recipientIntegrationId + } + + /** + * Test the property 'importId' + */ + @Test + public void importIdTest() { + // TODO: test importId + } + + /** + * Test the property 'reservation' + */ + @Test + public void reservationTest() { + // TODO: test reservation + } + + /** + * Test the property 'batchId' + */ + @Test + public void batchIdTest() { + // TODO: test batchId + } + + /** + * Test the property 'isReservationMandatory' + */ + @Test + public void isReservationMandatoryTest() { + // TODO: test isReservationMandatory + } + + /** + * Test the property 'implicitlyReserved' + */ + @Test + public void implicitlyReservedTest() { + // TODO: test implicitlyReserved + } + + /** + * Test the property 'applicationId' + */ + @Test + public void applicationIdTest() { + // TODO: test applicationId + } + +} diff --git a/src/test/java/one/talon/model/InlineResponse20040Test.java b/src/test/java/one/talon/model/InlineResponse20040Test.java index fb52ef32..1241e489 100644 --- a/src/test/java/one/talon/model/InlineResponse20040Test.java +++ b/src/test/java/one/talon/model/InlineResponse20040Test.java @@ -23,7 +23,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import one.talon.model.WebhookActivationLogEntry; +import one.talon.model.EventType; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; diff --git a/src/test/java/one/talon/model/InlineResponse20041Test.java b/src/test/java/one/talon/model/InlineResponse20041Test.java index 4b9e653c..bfeed8f2 100644 --- a/src/test/java/one/talon/model/InlineResponse20041Test.java +++ b/src/test/java/one/talon/model/InlineResponse20041Test.java @@ -23,7 +23,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import one.talon.model.WebhookLogEntry; +import one.talon.model.User; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; diff --git a/src/test/java/one/talon/model/InlineResponse20042Test.java b/src/test/java/one/talon/model/InlineResponse20042Test.java index a421bf32..ecc183c2 100644 --- a/src/test/java/one/talon/model/InlineResponse20042Test.java +++ b/src/test/java/one/talon/model/InlineResponse20042Test.java @@ -23,7 +23,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import one.talon.model.EventType; +import one.talon.model.Change; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; @@ -51,6 +51,14 @@ public void totalResultSizeTest() { // TODO: test totalResultSize } + /** + * Test the property 'hasMore' + */ + @Test + public void hasMoreTest() { + // TODO: test hasMore + } + /** * Test the property 'data' */ diff --git a/src/test/java/one/talon/model/InlineResponse20043Test.java b/src/test/java/one/talon/model/InlineResponse20043Test.java index af548870..b1f70342 100644 --- a/src/test/java/one/talon/model/InlineResponse20043Test.java +++ b/src/test/java/one/talon/model/InlineResponse20043Test.java @@ -23,7 +23,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import one.talon.model.User; +import one.talon.model.Export; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; diff --git a/src/test/java/one/talon/model/InlineResponse20044Test.java b/src/test/java/one/talon/model/InlineResponse20044Test.java index 868de340..1ca99950 100644 --- a/src/test/java/one/talon/model/InlineResponse20044Test.java +++ b/src/test/java/one/talon/model/InlineResponse20044Test.java @@ -23,7 +23,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import one.talon.model.Change; +import one.talon.model.RoleV2; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; @@ -51,14 +51,6 @@ public void totalResultSizeTest() { // TODO: test totalResultSize } - /** - * Test the property 'hasMore' - */ - @Test - public void hasMoreTest() { - // TODO: test hasMore - } - /** * Test the property 'data' */ diff --git a/src/test/java/one/talon/model/InlineResponse20045Test.java b/src/test/java/one/talon/model/InlineResponse20045Test.java index 88c19434..0c05afc5 100644 --- a/src/test/java/one/talon/model/InlineResponse20045Test.java +++ b/src/test/java/one/talon/model/InlineResponse20045Test.java @@ -23,7 +23,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import one.talon.model.Export; +import one.talon.model.Store; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; @@ -43,6 +43,14 @@ public void testInlineResponse20045() { // TODO: test InlineResponse20045 } + /** + * Test the property 'hasMore' + */ + @Test + public void hasMoreTest() { + // TODO: test hasMore + } + /** * Test the property 'totalResultSize' */ diff --git a/src/test/java/one/talon/model/InlineResponse20046Test.java b/src/test/java/one/talon/model/InlineResponse20046Test.java index d6c8fffc..6f70fcd1 100644 --- a/src/test/java/one/talon/model/InlineResponse20046Test.java +++ b/src/test/java/one/talon/model/InlineResponse20046Test.java @@ -23,7 +23,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import one.talon.model.RoleV2; +import one.talon.model.ListCampaignStoreBudgets; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; @@ -43,14 +43,6 @@ public void testInlineResponse20046() { // TODO: test InlineResponse20046 } - /** - * Test the property 'totalResultSize' - */ - @Test - public void totalResultSizeTest() { - // TODO: test totalResultSize - } - /** * Test the property 'data' */ diff --git a/src/test/java/one/talon/model/InlineResponse20047Test.java b/src/test/java/one/talon/model/InlineResponse20047Test.java index 5966f421..b0ba3d18 100644 --- a/src/test/java/one/talon/model/InlineResponse20047Test.java +++ b/src/test/java/one/talon/model/InlineResponse20047Test.java @@ -23,7 +23,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import one.talon.model.Store; +import one.talon.model.SummaryCampaignStoreBudget; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; @@ -43,22 +43,6 @@ public void testInlineResponse20047() { // TODO: test InlineResponse20047 } - /** - * Test the property 'hasMore' - */ - @Test - public void hasMoreTest() { - // TODO: test hasMore - } - - /** - * Test the property 'totalResultSize' - */ - @Test - public void totalResultSizeTest() { - // TODO: test totalResultSize - } - /** * Test the property 'data' */ diff --git a/src/test/java/one/talon/model/InlineResponse20050Test.java b/src/test/java/one/talon/model/InlineResponse20050Test.java new file mode 100644 index 00000000..eea11f28 --- /dev/null +++ b/src/test/java/one/talon/model/InlineResponse20050Test.java @@ -0,0 +1,62 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.Achievement; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for InlineResponse20050 + */ +public class InlineResponse20050Test { + private final InlineResponse20050 model = new InlineResponse20050(); + + /** + * Model tests for InlineResponse20050 + */ + @Test + public void testInlineResponse20050() { + // TODO: test InlineResponse20050 + } + + /** + * Test the property 'hasMore' + */ + @Test + public void hasMoreTest() { + // TODO: test hasMore + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/one/talon/model/InlineResponse20051Test.java b/src/test/java/one/talon/model/InlineResponse20051Test.java new file mode 100644 index 00000000..cff4dce4 --- /dev/null +++ b/src/test/java/one/talon/model/InlineResponse20051Test.java @@ -0,0 +1,62 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.AchievementProgressWithDefinition; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for InlineResponse20051 + */ +public class InlineResponse20051Test { + private final InlineResponse20051 model = new InlineResponse20051(); + + /** + * Model tests for InlineResponse20051 + */ + @Test + public void testInlineResponse20051() { + // TODO: test InlineResponse20051 + } + + /** + * Test the property 'hasMore' + */ + @Test + public void hasMoreTest() { + // TODO: test hasMore + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/one/talon/model/IntegrationCustomerProfileAudienceRequestItemTest.java b/src/test/java/one/talon/model/IntegrationCustomerProfileAudienceRequestItemTest.java new file mode 100644 index 00000000..9549295c --- /dev/null +++ b/src/test/java/one/talon/model/IntegrationCustomerProfileAudienceRequestItemTest.java @@ -0,0 +1,67 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for IntegrationCustomerProfileAudienceRequestItem + */ +public class IntegrationCustomerProfileAudienceRequestItemTest { + private final IntegrationCustomerProfileAudienceRequestItem model = new IntegrationCustomerProfileAudienceRequestItem(); + + /** + * Model tests for IntegrationCustomerProfileAudienceRequestItem + */ + @Test + public void testIntegrationCustomerProfileAudienceRequestItem() { + // TODO: test IntegrationCustomerProfileAudienceRequestItem + } + + /** + * Test the property 'action' + */ + @Test + public void actionTest() { + // TODO: test action + } + + /** + * Test the property 'profileIntegrationId' + */ + @Test + public void profileIntegrationIdTest() { + // TODO: test profileIntegrationId + } + + /** + * Test the property 'integrationId' + */ + @Test + public void integrationIdTest() { + // TODO: test integrationId + } + +} diff --git a/src/test/java/one/talon/model/IntegrationCustomerProfileAudienceRequestTest.java b/src/test/java/one/talon/model/IntegrationCustomerProfileAudienceRequestTest.java new file mode 100644 index 00000000..c9a90524 --- /dev/null +++ b/src/test/java/one/talon/model/IntegrationCustomerProfileAudienceRequestTest.java @@ -0,0 +1,54 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.IntegrationCustomerProfileAudienceRequestItem; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for IntegrationCustomerProfileAudienceRequest + */ +public class IntegrationCustomerProfileAudienceRequestTest { + private final IntegrationCustomerProfileAudienceRequest model = new IntegrationCustomerProfileAudienceRequest(); + + /** + * Model tests for IntegrationCustomerProfileAudienceRequest + */ + @Test + public void testIntegrationCustomerProfileAudienceRequest() { + // TODO: test IntegrationCustomerProfileAudienceRequest + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/one/talon/model/IntegrationEventV2RequestTest.java b/src/test/java/one/talon/model/IntegrationEventV2RequestTest.java index 3b149e02..b4bf8762 100644 --- a/src/test/java/one/talon/model/IntegrationEventV2RequestTest.java +++ b/src/test/java/one/talon/model/IntegrationEventV2RequestTest.java @@ -82,6 +82,14 @@ public void attributesTest() { // TODO: test attributes } + /** + * Test the property 'loyaltyCards' + */ + @Test + public void loyaltyCardsTest() { + // TODO: test loyaltyCards + } + /** * Test the property 'responseContent' */ diff --git a/src/test/java/one/talon/model/NewPriceAdjustmentTest.java b/src/test/java/one/talon/model/NewPriceAdjustmentTest.java new file mode 100644 index 00000000..606ec708 --- /dev/null +++ b/src/test/java/one/talon/model/NewPriceAdjustmentTest.java @@ -0,0 +1,93 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import org.threeten.bp.OffsetDateTime; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for NewPriceAdjustment + */ +public class NewPriceAdjustmentTest { + private final NewPriceAdjustment model = new NewPriceAdjustment(); + + /** + * Model tests for NewPriceAdjustment + */ + @Test + public void testNewPriceAdjustment() { + // TODO: test NewPriceAdjustment + } + + /** + * Test the property 'priceType' + */ + @Test + public void priceTypeTest() { + // TODO: test priceType + } + + /** + * Test the property 'price' + */ + @Test + public void priceTest() { + // TODO: test price + } + + /** + * Test the property 'referenceId' + */ + @Test + public void referenceIdTest() { + // TODO: test referenceId + } + + /** + * Test the property 'calculatedAt' + */ + @Test + public void calculatedAtTest() { + // TODO: test calculatedAt + } + + /** + * Test the property 'effectiveFrom' + */ + @Test + public void effectiveFromTest() { + // TODO: test effectiveFrom + } + + /** + * Test the property 'effectiveUntil' + */ + @Test + public void effectiveUntilTest() { + // TODO: test effectiveUntil + } + +} diff --git a/src/test/java/one/talon/model/NewPriceTypeTest.java b/src/test/java/one/talon/model/NewPriceTypeTest.java new file mode 100644 index 00000000..d53cc810 --- /dev/null +++ b/src/test/java/one/talon/model/NewPriceTypeTest.java @@ -0,0 +1,77 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for NewPriceType + */ +public class NewPriceTypeTest { + private final NewPriceType model = new NewPriceType(); + + /** + * Model tests for NewPriceType + */ + @Test + public void testNewPriceType() { + // TODO: test NewPriceType + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'title' + */ + @Test + public void titleTest() { + // TODO: test title + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'targetedAudiencesIds' + */ + @Test + public void targetedAudiencesIdsTest() { + // TODO: test targetedAudiencesIds + } + +} diff --git a/src/test/java/one/talon/model/NewSecondaryDeploymentTest.java b/src/test/java/one/talon/model/NewSecondaryDeploymentTest.java new file mode 100644 index 00000000..d472fc3c --- /dev/null +++ b/src/test/java/one/talon/model/NewSecondaryDeploymentTest.java @@ -0,0 +1,51 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for NewSecondaryDeployment + */ +public class NewSecondaryDeploymentTest { + private final NewSecondaryDeployment model = new NewSecondaryDeployment(); + + /** + * Model tests for NewSecondaryDeployment + */ + @Test + public void testNewSecondaryDeployment() { + // TODO: test NewSecondaryDeployment + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + +} diff --git a/src/test/java/one/talon/model/NewWebhookTest.java b/src/test/java/one/talon/model/NewWebhookTest.java index d878228b..0245f22a 100644 --- a/src/test/java/one/talon/model/NewWebhookTest.java +++ b/src/test/java/one/talon/model/NewWebhookTest.java @@ -67,6 +67,14 @@ public void descriptionTest() { // TODO: test description } + /** + * Test the property 'draft' + */ + @Test + public void draftTest() { + // TODO: test draft + } + /** * Test the property 'verb' */ @@ -115,4 +123,12 @@ public void enabledTest() { // TODO: test enabled } + /** + * Test the property 'authenticationId' + */ + @Test + public void authenticationIdTest() { + // TODO: test authenticationId + } + } diff --git a/src/test/java/one/talon/model/PendingActivePointsDataTest.java b/src/test/java/one/talon/model/PendingActivePointsDataTest.java new file mode 100644 index 00000000..0039e146 --- /dev/null +++ b/src/test/java/one/talon/model/PendingActivePointsDataTest.java @@ -0,0 +1,101 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import org.threeten.bp.OffsetDateTime; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for PendingActivePointsData + */ +public class PendingActivePointsDataTest { + private final PendingActivePointsData model = new PendingActivePointsData(); + + /** + * Model tests for PendingActivePointsData + */ + @Test + public void testPendingActivePointsData() { + // TODO: test PendingActivePointsData + } + + /** + * Test the property 'loyaltyProgramID' + */ + @Test + public void loyaltyProgramIDTest() { + // TODO: test loyaltyProgramID + } + + /** + * Test the property 'subledgerID' + */ + @Test + public void subledgerIDTest() { + // TODO: test subledgerID + } + + /** + * Test the property 'customerProfileID' + */ + @Test + public void customerProfileIDTest() { + // TODO: test customerProfileID + } + + /** + * Test the property 'points' + */ + @Test + public void pointsTest() { + // TODO: test points + } + + /** + * Test the property 'activeOn' + */ + @Test + public void activeOnTest() { + // TODO: test activeOn + } + + /** + * Test the property 'expireOn' + */ + @Test + public void expireOnTest() { + // TODO: test expireOn + } + + /** + * Test the property 'sessionIntegrationID' + */ + @Test + public void sessionIntegrationIDTest() { + // TODO: test sessionIntegrationID + } + +} diff --git a/src/test/java/one/talon/model/PendingActivePointsNotificationTest.java b/src/test/java/one/talon/model/PendingActivePointsNotificationTest.java new file mode 100644 index 00000000..c1d65aa8 --- /dev/null +++ b/src/test/java/one/talon/model/PendingActivePointsNotificationTest.java @@ -0,0 +1,70 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.PendingActivePointsData; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for PendingActivePointsNotification + */ +public class PendingActivePointsNotificationTest { + private final PendingActivePointsNotification model = new PendingActivePointsNotification(); + + /** + * Model tests for PendingActivePointsNotification + */ + @Test + public void testPendingActivePointsNotification() { + // TODO: test PendingActivePointsNotification + } + + /** + * Test the property 'totalResultSize' + */ + @Test + public void totalResultSizeTest() { + // TODO: test totalResultSize + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + + /** + * Test the property 'notificationType' + */ + @Test + public void notificationTypeTest() { + // TODO: test notificationType + } + +} diff --git a/src/test/java/one/talon/model/PriceDetailTest.java b/src/test/java/one/talon/model/PriceDetailTest.java new file mode 100644 index 00000000..343e1bc5 --- /dev/null +++ b/src/test/java/one/talon/model/PriceDetailTest.java @@ -0,0 +1,77 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.UUID; +import org.threeten.bp.OffsetDateTime; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for PriceDetail + */ +public class PriceDetailTest { + private final PriceDetail model = new PriceDetail(); + + /** + * Model tests for PriceDetail + */ + @Test + public void testPriceDetail() { + // TODO: test PriceDetail + } + + /** + * Test the property 'price' + */ + @Test + public void priceTest() { + // TODO: test price + } + + /** + * Test the property 'adjustmentReferenceId' + */ + @Test + public void adjustmentReferenceIdTest() { + // TODO: test adjustmentReferenceId + } + + /** + * Test the property 'adjustmentEffectiveFrom' + */ + @Test + public void adjustmentEffectiveFromTest() { + // TODO: test adjustmentEffectiveFrom + } + + /** + * Test the property 'adjustmentEffectiveUntil' + */ + @Test + public void adjustmentEffectiveUntilTest() { + // TODO: test adjustmentEffectiveUntil + } + +} diff --git a/src/test/java/one/talon/model/PriceTypeTest.java b/src/test/java/one/talon/model/PriceTypeTest.java new file mode 100644 index 00000000..b4d4967d --- /dev/null +++ b/src/test/java/one/talon/model/PriceTypeTest.java @@ -0,0 +1,118 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import org.threeten.bp.OffsetDateTime; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for PriceType + */ +public class PriceTypeTest { + private final PriceType model = new PriceType(); + + /** + * Model tests for PriceType + */ + @Test + public void testPriceType() { + // TODO: test PriceType + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'created' + */ + @Test + public void createdTest() { + // TODO: test created + } + + /** + * Test the property 'accountId' + */ + @Test + public void accountIdTest() { + // TODO: test accountId + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'title' + */ + @Test + public void titleTest() { + // TODO: test title + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'modified' + */ + @Test + public void modifiedTest() { + // TODO: test modified + } + + /** + * Test the property 'subscribedCatalogsIds' + */ + @Test + public void subscribedCatalogsIdsTest() { + // TODO: test subscribedCatalogsIds + } + + /** + * Test the property 'targetedAudiencesIds' + */ + @Test + public void targetedAudiencesIdsTest() { + // TODO: test targetedAudiencesIds + } + +} diff --git a/src/test/java/one/talon/model/ScimBaseGroupTest.java b/src/test/java/one/talon/model/ScimBaseGroupTest.java new file mode 100644 index 00000000..fe5a75f9 --- /dev/null +++ b/src/test/java/one/talon/model/ScimBaseGroupTest.java @@ -0,0 +1,62 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.ScimGroupMember; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for ScimBaseGroup + */ +public class ScimBaseGroupTest { + private final ScimBaseGroup model = new ScimBaseGroup(); + + /** + * Model tests for ScimBaseGroup + */ + @Test + public void testScimBaseGroup() { + // TODO: test ScimBaseGroup + } + + /** + * Test the property 'displayName' + */ + @Test + public void displayNameTest() { + // TODO: test displayName + } + + /** + * Test the property 'members' + */ + @Test + public void membersTest() { + // TODO: test members + } + +} diff --git a/src/test/java/one/talon/model/ScimGroupMemberTest.java b/src/test/java/one/talon/model/ScimGroupMemberTest.java new file mode 100644 index 00000000..d378f468 --- /dev/null +++ b/src/test/java/one/talon/model/ScimGroupMemberTest.java @@ -0,0 +1,59 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for ScimGroupMember + */ +public class ScimGroupMemberTest { + private final ScimGroupMember model = new ScimGroupMember(); + + /** + * Model tests for ScimGroupMember + */ + @Test + public void testScimGroupMember() { + // TODO: test ScimGroupMember + } + + /** + * Test the property 'value' + */ + @Test + public void valueTest() { + // TODO: test value + } + + /** + * Test the property 'display' + */ + @Test + public void displayTest() { + // TODO: test display + } + +} diff --git a/src/test/java/one/talon/model/ScimGroupTest.java b/src/test/java/one/talon/model/ScimGroupTest.java new file mode 100644 index 00000000..d9424bee --- /dev/null +++ b/src/test/java/one/talon/model/ScimGroupTest.java @@ -0,0 +1,70 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.ScimGroupMember; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for ScimGroup + */ +public class ScimGroupTest { + private final ScimGroup model = new ScimGroup(); + + /** + * Model tests for ScimGroup + */ + @Test + public void testScimGroup() { + // TODO: test ScimGroup + } + + /** + * Test the property 'displayName' + */ + @Test + public void displayNameTest() { + // TODO: test displayName + } + + /** + * Test the property 'members' + */ + @Test + public void membersTest() { + // TODO: test members + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + +} diff --git a/src/test/java/one/talon/model/ScimGroupsListResponseTest.java b/src/test/java/one/talon/model/ScimGroupsListResponseTest.java new file mode 100644 index 00000000..4b9ba5bf --- /dev/null +++ b/src/test/java/one/talon/model/ScimGroupsListResponseTest.java @@ -0,0 +1,70 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.ScimGroup; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for ScimGroupsListResponse + */ +public class ScimGroupsListResponseTest { + private final ScimGroupsListResponse model = new ScimGroupsListResponse(); + + /** + * Model tests for ScimGroupsListResponse + */ + @Test + public void testScimGroupsListResponse() { + // TODO: test ScimGroupsListResponse + } + + /** + * Test the property 'resources' + */ + @Test + public void resourcesTest() { + // TODO: test resources + } + + /** + * Test the property 'schemas' + */ + @Test + public void schemasTest() { + // TODO: test schemas + } + + /** + * Test the property 'totalResults' + */ + @Test + public void totalResultsTest() { + // TODO: test totalResults + } + +} diff --git a/src/test/java/one/talon/model/SecondaryDeploymentTest.java b/src/test/java/one/talon/model/SecondaryDeploymentTest.java new file mode 100644 index 00000000..71b4bf2b --- /dev/null +++ b/src/test/java/one/talon/model/SecondaryDeploymentTest.java @@ -0,0 +1,108 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import org.threeten.bp.OffsetDateTime; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for SecondaryDeployment + */ +public class SecondaryDeploymentTest { + private final SecondaryDeployment model = new SecondaryDeployment(); + + /** + * Model tests for SecondaryDeployment + */ + @Test + public void testSecondaryDeployment() { + // TODO: test SecondaryDeployment + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'userId' + */ + @Test + public void userIdTest() { + // TODO: test userId + } + + /** + * Test the property 'status' + */ + @Test + public void statusTest() { + // TODO: test status + } + + /** + * Test the property 'createdAt' + */ + @Test + public void createdAtTest() { + // TODO: test createdAt + } + + /** + * Test the property 'activeAt' + */ + @Test + public void activeAtTest() { + // TODO: test activeAt + } + + /** + * Test the property 'failedAt' + */ + @Test + public void failedAtTest() { + // TODO: test failedAt + } + + /** + * Test the property 'deletedAt' + */ + @Test + public void deletedAtTest() { + // TODO: test deletedAt + } + +} diff --git a/src/test/java/one/talon/model/TierDowngradeDataTest.java b/src/test/java/one/talon/model/TierDowngradeDataTest.java new file mode 100644 index 00000000..5c2f7c9d --- /dev/null +++ b/src/test/java/one/talon/model/TierDowngradeDataTest.java @@ -0,0 +1,109 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import org.threeten.bp.OffsetDateTime; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for TierDowngradeData + */ +public class TierDowngradeDataTest { + private final TierDowngradeData model = new TierDowngradeData(); + + /** + * Model tests for TierDowngradeData + */ + @Test + public void testTierDowngradeData() { + // TODO: test TierDowngradeData + } + + /** + * Test the property 'customerProfileID' + */ + @Test + public void customerProfileIDTest() { + // TODO: test customerProfileID + } + + /** + * Test the property 'loyaltyProgramID' + */ + @Test + public void loyaltyProgramIDTest() { + // TODO: test loyaltyProgramID + } + + /** + * Test the property 'subledgerID' + */ + @Test + public void subledgerIDTest() { + // TODO: test subledgerID + } + + /** + * Test the property 'currentTier' + */ + @Test + public void currentTierTest() { + // TODO: test currentTier + } + + /** + * Test the property 'currentPoints' + */ + @Test + public void currentPointsTest() { + // TODO: test currentPoints + } + + /** + * Test the property 'oldTier' + */ + @Test + public void oldTierTest() { + // TODO: test oldTier + } + + /** + * Test the property 'tierExpirationDate' + */ + @Test + public void tierExpirationDateTest() { + // TODO: test tierExpirationDate + } + + /** + * Test the property 'timestampOfTierChange' + */ + @Test + public void timestampOfTierChangeTest() { + // TODO: test timestampOfTierChange + } + +} diff --git a/src/test/java/one/talon/model/TierDowngradeNotificationTest.java b/src/test/java/one/talon/model/TierDowngradeNotificationTest.java new file mode 100644 index 00000000..73f75af9 --- /dev/null +++ b/src/test/java/one/talon/model/TierDowngradeNotificationTest.java @@ -0,0 +1,70 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.TierDowngradeData; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for TierDowngradeNotification + */ +public class TierDowngradeNotificationTest { + private final TierDowngradeNotification model = new TierDowngradeNotification(); + + /** + * Model tests for TierDowngradeNotification + */ + @Test + public void testTierDowngradeNotification() { + // TODO: test TierDowngradeNotification + } + + /** + * Test the property 'totalResultSize' + */ + @Test + public void totalResultSizeTest() { + // TODO: test totalResultSize + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + + /** + * Test the property 'notificationType' + */ + @Test + public void notificationTypeTest() { + // TODO: test notificationType + } + +} diff --git a/src/test/java/one/talon/model/TierUpgradeDataTest.java b/src/test/java/one/talon/model/TierUpgradeDataTest.java new file mode 100644 index 00000000..a26d906c --- /dev/null +++ b/src/test/java/one/talon/model/TierUpgradeDataTest.java @@ -0,0 +1,125 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import org.threeten.bp.OffsetDateTime; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for TierUpgradeData + */ +public class TierUpgradeDataTest { + private final TierUpgradeData model = new TierUpgradeData(); + + /** + * Model tests for TierUpgradeData + */ + @Test + public void testTierUpgradeData() { + // TODO: test TierUpgradeData + } + + /** + * Test the property 'customerProfileID' + */ + @Test + public void customerProfileIDTest() { + // TODO: test customerProfileID + } + + /** + * Test the property 'loyaltyProgramID' + */ + @Test + public void loyaltyProgramIDTest() { + // TODO: test loyaltyProgramID + } + + /** + * Test the property 'subledgerID' + */ + @Test + public void subledgerIDTest() { + // TODO: test subledgerID + } + + /** + * Test the property 'currentTier' + */ + @Test + public void currentTierTest() { + // TODO: test currentTier + } + + /** + * Test the property 'currentPoints' + */ + @Test + public void currentPointsTest() { + // TODO: test currentPoints + } + + /** + * Test the property 'oldTier' + */ + @Test + public void oldTierTest() { + // TODO: test oldTier + } + + /** + * Test the property 'pointsRequiredToTheNextTier' + */ + @Test + public void pointsRequiredToTheNextTierTest() { + // TODO: test pointsRequiredToTheNextTier + } + + /** + * Test the property 'nextTier' + */ + @Test + public void nextTierTest() { + // TODO: test nextTier + } + + /** + * Test the property 'tierExpirationDate' + */ + @Test + public void tierExpirationDateTest() { + // TODO: test tierExpirationDate + } + + /** + * Test the property 'timestampOfTierChange' + */ + @Test + public void timestampOfTierChangeTest() { + // TODO: test timestampOfTierChange + } + +} diff --git a/src/test/java/one/talon/model/TierUpgradeNotificationTest.java b/src/test/java/one/talon/model/TierUpgradeNotificationTest.java new file mode 100644 index 00000000..1e72de68 --- /dev/null +++ b/src/test/java/one/talon/model/TierUpgradeNotificationTest.java @@ -0,0 +1,70 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.TierUpgradeData; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for TierUpgradeNotification + */ +public class TierUpgradeNotificationTest { + private final TierUpgradeNotification model = new TierUpgradeNotification(); + + /** + * Model tests for TierUpgradeNotification + */ + @Test + public void testTierUpgradeNotification() { + // TODO: test TierUpgradeNotification + } + + /** + * Test the property 'totalResultSize' + */ + @Test + public void totalResultSizeTest() { + // TODO: test totalResultSize + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + + /** + * Test the property 'notificationType' + */ + @Test + public void notificationTypeTest() { + // TODO: test notificationType + } + +} diff --git a/src/test/java/one/talon/model/TierWillDowngradeDataTest.java b/src/test/java/one/talon/model/TierWillDowngradeDataTest.java new file mode 100644 index 00000000..f2bbb501 --- /dev/null +++ b/src/test/java/one/talon/model/TierWillDowngradeDataTest.java @@ -0,0 +1,109 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.math.BigDecimal; +import org.threeten.bp.OffsetDateTime; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for TierWillDowngradeData + */ +public class TierWillDowngradeDataTest { + private final TierWillDowngradeData model = new TierWillDowngradeData(); + + /** + * Model tests for TierWillDowngradeData + */ + @Test + public void testTierWillDowngradeData() { + // TODO: test TierWillDowngradeData + } + + /** + * Test the property 'customerProfileID' + */ + @Test + public void customerProfileIDTest() { + // TODO: test customerProfileID + } + + /** + * Test the property 'loyaltyProgramID' + */ + @Test + public void loyaltyProgramIDTest() { + // TODO: test loyaltyProgramID + } + + /** + * Test the property 'subledgerID' + */ + @Test + public void subledgerIDTest() { + // TODO: test subledgerID + } + + /** + * Test the property 'currentTier' + */ + @Test + public void currentTierTest() { + // TODO: test currentTier + } + + /** + * Test the property 'currentPoints' + */ + @Test + public void currentPointsTest() { + // TODO: test currentPoints + } + + /** + * Test the property 'pointsRequiredToRemain' + */ + @Test + public void pointsRequiredToRemainTest() { + // TODO: test pointsRequiredToRemain + } + + /** + * Test the property 'nextTier' + */ + @Test + public void nextTierTest() { + // TODO: test nextTier + } + + /** + * Test the property 'tierExpirationDate' + */ + @Test + public void tierExpirationDateTest() { + // TODO: test tierExpirationDate + } + +} diff --git a/src/test/java/one/talon/model/TierWillDowngradeNotificationTest.java b/src/test/java/one/talon/model/TierWillDowngradeNotificationTest.java new file mode 100644 index 00000000..2e9f510b --- /dev/null +++ b/src/test/java/one/talon/model/TierWillDowngradeNotificationTest.java @@ -0,0 +1,70 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.TierWillDowngradeData; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for TierWillDowngradeNotification + */ +public class TierWillDowngradeNotificationTest { + private final TierWillDowngradeNotification model = new TierWillDowngradeNotification(); + + /** + * Model tests for TierWillDowngradeNotification + */ + @Test + public void testTierWillDowngradeNotification() { + // TODO: test TierWillDowngradeNotification + } + + /** + * Test the property 'totalResultSize' + */ + @Test + public void totalResultSizeTest() { + // TODO: test totalResultSize + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + + /** + * Test the property 'notificationType' + */ + @Test + public void notificationTypeTest() { + // TODO: test notificationType + } + +} diff --git a/src/test/java/one/talon/model/UpdateCouponsDataTest.java b/src/test/java/one/talon/model/UpdateCouponsDataTest.java new file mode 100644 index 00000000..247ec338 --- /dev/null +++ b/src/test/java/one/talon/model/UpdateCouponsDataTest.java @@ -0,0 +1,91 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for UpdateCouponsData + */ +public class UpdateCouponsDataTest { + private final UpdateCouponsData model = new UpdateCouponsData(); + + /** + * Model tests for UpdateCouponsData + */ + @Test + public void testUpdateCouponsData() { + // TODO: test UpdateCouponsData + } + + /** + * Test the property 'batchID' + */ + @Test + public void batchIDTest() { + // TODO: test batchID + } + + /** + * Test the property 'applicationID' + */ + @Test + public void applicationIDTest() { + // TODO: test applicationID + } + + /** + * Test the property 'campaignID' + */ + @Test + public void campaignIDTest() { + // TODO: test campaignID + } + + /** + * Test the property 'typeOfChange' + */ + @Test + public void typeOfChangeTest() { + // TODO: test typeOfChange + } + + /** + * Test the property 'operation' + */ + @Test + public void operationTest() { + // TODO: test operation + } + + /** + * Test the property 'employeeName' + */ + @Test + public void employeeNameTest() { + // TODO: test employeeName + } + +} diff --git a/src/test/java/one/talon/model/WebhookAuthenticationBaseTest.java b/src/test/java/one/talon/model/WebhookAuthenticationBaseTest.java new file mode 100644 index 00000000..a6f6b95e --- /dev/null +++ b/src/test/java/one/talon/model/WebhookAuthenticationBaseTest.java @@ -0,0 +1,67 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for WebhookAuthenticationBase + */ +public class WebhookAuthenticationBaseTest { + private final WebhookAuthenticationBase model = new WebhookAuthenticationBase(); + + /** + * Model tests for WebhookAuthenticationBase + */ + @Test + public void testWebhookAuthenticationBase() { + // TODO: test WebhookAuthenticationBase + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/one/talon/model/WebhookAuthenticationDataBasicTest.java b/src/test/java/one/talon/model/WebhookAuthenticationDataBasicTest.java new file mode 100644 index 00000000..cf97611a --- /dev/null +++ b/src/test/java/one/talon/model/WebhookAuthenticationDataBasicTest.java @@ -0,0 +1,59 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for WebhookAuthenticationDataBasic + */ +public class WebhookAuthenticationDataBasicTest { + private final WebhookAuthenticationDataBasic model = new WebhookAuthenticationDataBasic(); + + /** + * Model tests for WebhookAuthenticationDataBasic + */ + @Test + public void testWebhookAuthenticationDataBasic() { + // TODO: test WebhookAuthenticationDataBasic + } + + /** + * Test the property 'username' + */ + @Test + public void usernameTest() { + // TODO: test username + } + + /** + * Test the property 'password' + */ + @Test + public void passwordTest() { + // TODO: test password + } + +} diff --git a/src/test/java/one/talon/model/WebhookAuthenticationDataCustomTest.java b/src/test/java/one/talon/model/WebhookAuthenticationDataCustomTest.java new file mode 100644 index 00000000..171f4d31 --- /dev/null +++ b/src/test/java/one/talon/model/WebhookAuthenticationDataCustomTest.java @@ -0,0 +1,54 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for WebhookAuthenticationDataCustom + */ +public class WebhookAuthenticationDataCustomTest { + private final WebhookAuthenticationDataCustom model = new WebhookAuthenticationDataCustom(); + + /** + * Model tests for WebhookAuthenticationDataCustom + */ + @Test + public void testWebhookAuthenticationDataCustom() { + // TODO: test WebhookAuthenticationDataCustom + } + + /** + * Test the property 'headers' + */ + @Test + public void headersTest() { + // TODO: test headers + } + +} diff --git a/src/test/java/one/talon/model/WebhookAuthenticationTest.java b/src/test/java/one/talon/model/WebhookAuthenticationTest.java new file mode 100644 index 00000000..546c99b9 --- /dev/null +++ b/src/test/java/one/talon/model/WebhookAuthenticationTest.java @@ -0,0 +1,119 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import one.talon.model.WebhookAuthenticationWebhookRef; +import org.threeten.bp.OffsetDateTime; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for WebhookAuthentication + */ +public class WebhookAuthenticationTest { + private final WebhookAuthentication model = new WebhookAuthentication(); + + /** + * Model tests for WebhookAuthentication + */ + @Test + public void testWebhookAuthentication() { + // TODO: test WebhookAuthentication + } + + /** + * Test the property 'createdBy' + */ + @Test + public void createdByTest() { + // TODO: test createdBy + } + + /** + * Test the property 'modifiedBy' + */ + @Test + public void modifiedByTest() { + // TODO: test modifiedBy + } + + /** + * Test the property 'webhooks' + */ + @Test + public void webhooksTest() { + // TODO: test webhooks + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'created' + */ + @Test + public void createdTest() { + // TODO: test created + } + + /** + * Test the property 'modified' + */ + @Test + public void modifiedTest() { + // TODO: test modified + } + +} diff --git a/src/test/java/one/talon/model/WebhookAuthenticationWebhookRefTest.java b/src/test/java/one/talon/model/WebhookAuthenticationWebhookRefTest.java new file mode 100644 index 00000000..533c018b --- /dev/null +++ b/src/test/java/one/talon/model/WebhookAuthenticationWebhookRefTest.java @@ -0,0 +1,67 @@ +/* + * Talon.One API + * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}` + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package one.talon.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for WebhookAuthenticationWebhookRef + */ +public class WebhookAuthenticationWebhookRefTest { + private final WebhookAuthenticationWebhookRef model = new WebhookAuthenticationWebhookRef(); + + /** + * Model tests for WebhookAuthenticationWebhookRef + */ + @Test + public void testWebhookAuthenticationWebhookRef() { + // TODO: test WebhookAuthenticationWebhookRef + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'title' + */ + @Test + public void titleTest() { + // TODO: test title + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + +} diff --git a/src/test/java/one/talon/model/WebhookTest.java b/src/test/java/one/talon/model/WebhookTest.java index c4f738b0..41a0a3b7 100644 --- a/src/test/java/one/talon/model/WebhookTest.java +++ b/src/test/java/one/talon/model/WebhookTest.java @@ -92,6 +92,14 @@ public void descriptionTest() { // TODO: test description } + /** + * Test the property 'draft' + */ + @Test + public void draftTest() { + // TODO: test draft + } + /** * Test the property 'verb' */ @@ -140,4 +148,12 @@ public void enabledTest() { // TODO: test enabled } + /** + * Test the property 'authenticationId' + */ + @Test + public void authenticationIdTest() { + // TODO: test authenticationId + } + } diff --git a/src/test/java/one/talon/model/WebhookWithOutgoingIntegrationDetailsTest.java b/src/test/java/one/talon/model/WebhookWithOutgoingIntegrationDetailsTest.java index 2a66f88f..e423ddc1 100644 --- a/src/test/java/one/talon/model/WebhookWithOutgoingIntegrationDetailsTest.java +++ b/src/test/java/one/talon/model/WebhookWithOutgoingIntegrationDetailsTest.java @@ -92,6 +92,14 @@ public void descriptionTest() { // TODO: test description } + /** + * Test the property 'draft' + */ + @Test + public void draftTest() { + // TODO: test draft + } + /** * Test the property 'verb' */ @@ -140,6 +148,14 @@ public void enabledTest() { // TODO: test enabled } + /** + * Test the property 'authenticationId' + */ + @Test + public void authenticationIdTest() { + // TODO: test authenticationId + } + /** * Test the property 'outgoingIntegrationTemplateId' */