From b07ac893835d9474c0b2594d61cf49bb207c0f0e Mon Sep 17 00:00:00 2001 From: Talon-One SDK Generator Date: Tue, 10 Feb 2026 13:58:08 +0000 Subject: [PATCH] update to 14.2.0 --- README.md | 29 +- api/openapi.yaml | 1101 +++++++++++++++-- build.gradle | 2 +- build.sbt | 2 +- docs/AdditionalCampaignProperties.md | 1 + docs/AdjustmentDetails.md | 15 + docs/BaseCampaign.md | 1 + docs/BestPriorPriceMetadata.md | 4 +- docs/Campaign.md | 2 + docs/CampaignTemplate.md | 1 + docs/CartItemFilterTemplate.md | 14 + docs/CatalogRule.md | 16 + docs/CollectionsCatalog.md | 44 + docs/CouponCreationJob.md | 1 + docs/CouponFailureSummary.md | 3 +- docs/CustomerSessionV2.md | 1 + docs/Effect.md | 1 + docs/EffectEntity.md | 1 + docs/Experiment.md | 29 + docs/ExperimentResults.md | 13 + docs/ExperimentVariant.md | 18 + docs/ExperimentVariantAllocation.md | 13 + docs/ExperimentVariantResult.md | 21 + docs/ExperimentVariantResultConfidence.md | 14 + docs/FuncArgDef.md | 1 + docs/InfluencingCampaignDetails.md | 14 + docs/InlineResponse20050.md | 3 +- docs/IntegrationApi.md | 79 ++ docs/ManagementApi.md | 95 +- docs/NewCampaign.md | 1 + docs/NewCampaignTemplate.md | 1 + docs/NewCollectionsCatalog.md | 27 + docs/NewCouponCreationJob.md | 1 + docs/NewCustomerSessionV2.md | 1 + docs/NewExperiment.md | 24 + docs/NewExperimentVariant.md | 15 + docs/NewExperimentVariantArray.md | 12 + docs/NewRevisionVersion.md | 7 +- docs/PrismaticFlowConfig.md | 3 + docs/RevisionVersion.md | 7 +- docs/TemplateArgDef.md | 1 + docs/UpdateCampaign.md | 1 + docs/UpdateCampaignTemplate.md | 1 + docs/UpdateCollectionsCatalog.md | 27 + docs/UpdateExperiment.md | 13 + docs/UpdateExperimentVariant.md | 15 + docs/UpdateExperimentVariantArray.md | 12 + pom.xml | 2 +- src/main/java/one/talon/ApiClient.java | 2 +- .../java/one/talon/api/IntegrationApi.java | 139 +++ .../java/one/talon/api/ManagementApi.java | 147 ++- .../model/AdditionalCampaignProperties.java | 33 +- .../one/talon/model/AdjustmentDetails.java | 156 +++ .../java/one/talon/model/BaseCampaign.java | 31 +- .../talon/model/BestPriorPriceMetadata.java | 68 +- src/main/java/one/talon/model/Campaign.java | 59 +- .../one/talon/model/CampaignTemplate.java | 30 +- .../talon/model/CartItemFilterTemplate.java | 134 ++ .../java/one/talon/model/CatalogRule.java | 205 +++ .../one/talon/model/CollectionsCatalog.java | 550 ++++++++ .../one/talon/model/CouponCreationJob.java | 31 +- .../one/talon/model/CouponFailureSummary.java | 54 +- .../one/talon/model/CustomerSessionV2.java | 40 +- src/main/java/one/talon/model/Effect.java | 33 +- .../java/one/talon/model/EffectEntity.java | 33 +- src/main/java/one/talon/model/Experiment.java | 388 ++++++ .../one/talon/model/ExperimentResults.java | 139 +++ .../one/talon/model/ExperimentVariant.java | 271 ++++ .../model/ExperimentVariantAllocation.java | 126 ++ .../talon/model/ExperimentVariantResult.java | 361 ++++++ .../ExperimentVariantResultConfidence.java | 155 +++ src/main/java/one/talon/model/FuncArgDef.java | 4 +- .../model/InfluencingCampaignDetails.java | 128 ++ .../one/talon/model/InlineResponse20050.java | 45 +- .../java/one/talon/model/NewCampaign.java | 31 +- .../one/talon/model/NewCampaignTemplate.java | 31 +- .../talon/model/NewCollectionsCatalog.java | 285 +++++ .../one/talon/model/NewCouponCreationJob.java | 33 +- .../one/talon/model/NewCustomerSessionV2.java | 40 +- .../java/one/talon/model/NewExperiment.java | 233 ++++ .../one/talon/model/NewExperimentVariant.java | 184 +++ .../model/NewExperimentVariantArray.java | 106 ++ .../one/talon/model/NewRevisionVersion.java | 43 +- .../one/talon/model/PrismaticFlowConfig.java | 95 +- .../java/one/talon/model/RevisionVersion.java | 43 +- .../java/one/talon/model/TemplateArgDef.java | 4 +- .../java/one/talon/model/UpdateCampaign.java | 31 +- .../talon/model/UpdateCampaignTemplate.java | 31 +- .../talon/model/UpdateCollectionsCatalog.java | 286 +++++ .../one/talon/model/UpdateExperiment.java | 127 ++ .../talon/model/UpdateExperimentVariant.java | 183 +++ .../model/UpdateExperimentVariantArray.java | 106 ++ .../one/talon/api/IntegrationApiTest.java | 19 + .../java/one/talon/api/ManagementApiTest.java | 20 + .../AdditionalCampaignPropertiesTest.java | 8 + .../talon/model/AdjustmentDetailsTest.java | 68 + .../one/talon/model/BaseCampaignTest.java | 8 + .../model/BestPriorPriceMetadataTest.java | 14 +- .../one/talon/model/CampaignTemplateTest.java | 8 + .../java/one/talon/model/CampaignTest.java | 16 + .../model/CartItemFilterTemplateTest.java | 61 + .../java/one/talon/model/CatalogRuleTest.java | 78 ++ .../talon/model/CollectionsCatalogTest.java | 152 +++ .../talon/model/CouponCreationJobTest.java | 8 + .../talon/model/CouponFailureSummaryTest.java | 14 +- .../talon/model/CustomerSessionV2Test.java | 9 + .../one/talon/model/EffectEntityTest.java | 8 + src/test/java/one/talon/model/EffectTest.java | 8 + .../talon/model/ExperimentResultsTest.java | 63 + .../java/one/talon/model/ExperimentTest.java | 120 ++ .../ExperimentVariantAllocationTest.java | 59 + ...ExperimentVariantResultConfidenceTest.java | 68 + .../model/ExperimentVariantResultTest.java | 124 ++ .../talon/model/ExperimentVariantTest.java | 101 ++ .../model/InfluencingCampaignDetailsTest.java | 60 + .../talon/model/InlineResponse20050Test.java | 10 +- .../talon/model/NewCampaignTemplateTest.java | 8 + .../java/one/talon/model/NewCampaignTest.java | 8 + .../model/NewCollectionsCatalogTest.java | 87 ++ .../talon/model/NewCouponCreationJobTest.java | 8 + .../talon/model/NewCustomerSessionV2Test.java | 9 + .../one/talon/model/NewExperimentTest.java | 77 ++ .../model/NewExperimentVariantArrayTest.java | 54 + .../talon/model/NewExperimentVariantTest.java | 76 ++ .../talon/model/NewRevisionVersionTest.java | 8 + .../talon/model/PrismaticFlowConfigTest.java | 24 + .../one/talon/model/RevisionVersionTest.java | 8 + .../model/UpdateCampaignTemplateTest.java | 8 + .../one/talon/model/UpdateCampaignTest.java | 8 + .../model/UpdateCollectionsCatalogTest.java | 87 ++ .../one/talon/model/UpdateExperimentTest.java | 60 + .../UpdateExperimentVariantArrayTest.java | 54 + .../model/UpdateExperimentVariantTest.java | 76 ++ 133 files changed, 8411 insertions(+), 317 deletions(-) create mode 100644 docs/AdjustmentDetails.md create mode 100644 docs/CartItemFilterTemplate.md create mode 100644 docs/CatalogRule.md create mode 100644 docs/CollectionsCatalog.md create mode 100644 docs/Experiment.md create mode 100644 docs/ExperimentResults.md create mode 100644 docs/ExperimentVariant.md create mode 100644 docs/ExperimentVariantAllocation.md create mode 100644 docs/ExperimentVariantResult.md create mode 100644 docs/ExperimentVariantResultConfidence.md create mode 100644 docs/InfluencingCampaignDetails.md create mode 100644 docs/NewCollectionsCatalog.md create mode 100644 docs/NewExperiment.md create mode 100644 docs/NewExperimentVariant.md create mode 100644 docs/NewExperimentVariantArray.md create mode 100644 docs/UpdateCollectionsCatalog.md create mode 100644 docs/UpdateExperiment.md create mode 100644 docs/UpdateExperimentVariant.md create mode 100644 docs/UpdateExperimentVariantArray.md create mode 100644 src/main/java/one/talon/model/AdjustmentDetails.java create mode 100644 src/main/java/one/talon/model/CartItemFilterTemplate.java create mode 100644 src/main/java/one/talon/model/CatalogRule.java create mode 100644 src/main/java/one/talon/model/CollectionsCatalog.java create mode 100644 src/main/java/one/talon/model/Experiment.java create mode 100644 src/main/java/one/talon/model/ExperimentResults.java create mode 100644 src/main/java/one/talon/model/ExperimentVariant.java create mode 100644 src/main/java/one/talon/model/ExperimentVariantAllocation.java create mode 100644 src/main/java/one/talon/model/ExperimentVariantResult.java create mode 100644 src/main/java/one/talon/model/ExperimentVariantResultConfidence.java create mode 100644 src/main/java/one/talon/model/InfluencingCampaignDetails.java create mode 100644 src/main/java/one/talon/model/NewCollectionsCatalog.java create mode 100644 src/main/java/one/talon/model/NewExperiment.java create mode 100644 src/main/java/one/talon/model/NewExperimentVariant.java create mode 100644 src/main/java/one/talon/model/NewExperimentVariantArray.java create mode 100644 src/main/java/one/talon/model/UpdateCollectionsCatalog.java create mode 100644 src/main/java/one/talon/model/UpdateExperiment.java create mode 100644 src/main/java/one/talon/model/UpdateExperimentVariant.java create mode 100644 src/main/java/one/talon/model/UpdateExperimentVariantArray.java create mode 100644 src/test/java/one/talon/model/AdjustmentDetailsTest.java create mode 100644 src/test/java/one/talon/model/CartItemFilterTemplateTest.java create mode 100644 src/test/java/one/talon/model/CatalogRuleTest.java create mode 100644 src/test/java/one/talon/model/CollectionsCatalogTest.java create mode 100644 src/test/java/one/talon/model/ExperimentResultsTest.java create mode 100644 src/test/java/one/talon/model/ExperimentTest.java create mode 100644 src/test/java/one/talon/model/ExperimentVariantAllocationTest.java create mode 100644 src/test/java/one/talon/model/ExperimentVariantResultConfidenceTest.java create mode 100644 src/test/java/one/talon/model/ExperimentVariantResultTest.java create mode 100644 src/test/java/one/talon/model/ExperimentVariantTest.java create mode 100644 src/test/java/one/talon/model/InfluencingCampaignDetailsTest.java create mode 100644 src/test/java/one/talon/model/NewCollectionsCatalogTest.java create mode 100644 src/test/java/one/talon/model/NewExperimentTest.java create mode 100644 src/test/java/one/talon/model/NewExperimentVariantArrayTest.java create mode 100644 src/test/java/one/talon/model/NewExperimentVariantTest.java create mode 100644 src/test/java/one/talon/model/UpdateCollectionsCatalogTest.java create mode 100644 src/test/java/one/talon/model/UpdateExperimentTest.java create mode 100644 src/test/java/one/talon/model/UpdateExperimentVariantArrayTest.java create mode 100644 src/test/java/one/talon/model/UpdateExperimentVariantTest.java diff --git a/README.md b/README.md index 5e4f43aa..41058929 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ Add this dependency to your project's POM: one.talon talon-one-client - 14.1.1 + 14.2.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:14.1.1" +compile "one.talon:talon-one-client:14.2.0" ``` ### Others @@ -201,6 +201,7 @@ Class | Method | HTTP request | Description *IntegrationApi* | [**deleteAudienceV2**](docs/IntegrationApi.md#deleteAudienceV2) | **DELETE** /v2/audiences/{audienceId} | Delete audience *IntegrationApi* | [**deleteCouponReservation**](docs/IntegrationApi.md#deleteCouponReservation) | **DELETE** /v1/coupon_reservations/{couponValue} | Delete coupon reservations *IntegrationApi* | [**deleteCustomerData**](docs/IntegrationApi.md#deleteCustomerData) | **DELETE** /v1/customer_data/{integrationId} | Delete customer's personal data +*IntegrationApi* | [**deleteLoyaltyTransactionsFromLedgers**](docs/IntegrationApi.md#deleteLoyaltyTransactionsFromLedgers) | **POST** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/delete_transactions | Delete customer's transactions from loyalty ledgers *IntegrationApi* | [**generateLoyaltyCard**](docs/IntegrationApi.md#generateLoyaltyCard) | **POST** /v1/loyalty_programs/{loyaltyProgramId}/cards | Generate loyalty card *IntegrationApi* | [**getCustomerAchievementHistory**](docs/IntegrationApi.md#getCustomerAchievementHistory) | **GET** /v1/customer_profiles/{integrationId}/achievements/{achievementId} | List customer's achievement history *IntegrationApi* | [**getCustomerAchievements**](docs/IntegrationApi.md#getCustomerAchievements) | **GET** /v1/customer_profiles/{integrationId}/achievements | List customer's available achievements @@ -280,6 +281,7 @@ Class | Method | HTTP request | Description *ManagementApi* | [**exportLoyaltyLedger**](docs/ManagementApi.md#exportLoyaltyLedger) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/export_log | Export customer's transaction logs *ManagementApi* | [**exportPoolGiveaways**](docs/ManagementApi.md#exportPoolGiveaways) | **GET** /v1/giveaways/pools/{poolId}/export | Export giveaway codes of a giveaway pool *ManagementApi* | [**exportReferrals**](docs/ManagementApi.md#exportReferrals) | **GET** /v1/applications/{applicationId}/export_referrals | Export referrals +*ManagementApi* | [**generateCouponRejections**](docs/ManagementApi.md#generateCouponRejections) | **GET** /v1/coupon_rejections | Summarize coupon redemption failures in session *ManagementApi* | [**getAccessLogsWithoutTotalCount**](docs/ManagementApi.md#getAccessLogsWithoutTotalCount) | **GET** /v1/applications/{applicationId}/access_logs/no_total | Get access logs for Application *ManagementApi* | [**getAccount**](docs/ManagementApi.md#getAccount) | **GET** /v1/accounts/{accountId} | Get account details *ManagementApi* | [**getAccountAnalytics**](docs/ManagementApi.md#getAccountAnalytics) | **GET** /v1/accounts/{accountId}/analytics | Get account analytics @@ -439,6 +441,7 @@ Class | Method | HTTP request | Description - [AddedDeductedPointsNotificationPolicy](docs/AddedDeductedPointsNotificationPolicy.md) - [AdditionalCampaignProperties](docs/AdditionalCampaignProperties.md) - [AdditionalCost](docs/AdditionalCost.md) +- [AdjustmentDetails](docs/AdjustmentDetails.md) - [AnalyticsDataPoint](docs/AnalyticsDataPoint.md) - [AnalyticsDataPointWithTrend](docs/AnalyticsDataPointWithTrend.md) - [AnalyticsDataPointWithTrendAndInfluencedRate](docs/AnalyticsDataPointWithTrendAndInfluencedRate.md) @@ -545,10 +548,12 @@ Class | Method | HTTP request | Description - [CardLedgerTransactionLogEntry](docs/CardLedgerTransactionLogEntry.md) - [CardLedgerTransactionLogEntryIntegrationAPI](docs/CardLedgerTransactionLogEntryIntegrationAPI.md) - [CartItem](docs/CartItem.md) +- [CartItemFilterTemplate](docs/CartItemFilterTemplate.md) - [Catalog](docs/Catalog.md) - [CatalogAction](docs/CatalogAction.md) - [CatalogActionFilter](docs/CatalogActionFilter.md) - [CatalogItem](docs/CatalogItem.md) +- [CatalogRule](docs/CatalogRule.md) - [CatalogSyncRequest](docs/CatalogSyncRequest.md) - [CatalogsStrikethroughNotificationPolicy](docs/CatalogsStrikethroughNotificationPolicy.md) - [Change](docs/Change.md) @@ -558,6 +563,7 @@ Class | Method | HTTP request | Description - [Collection](docs/Collection.md) - [CollectionItem](docs/CollectionItem.md) - [CollectionWithoutPayload](docs/CollectionWithoutPayload.md) +- [CollectionsCatalog](docs/CollectionsCatalog.md) - [Coupon](docs/Coupon.md) - [CouponConstraints](docs/CouponConstraints.md) - [CouponCreatedEffectProps](docs/CouponCreatedEffectProps.md) @@ -568,7 +574,6 @@ Class | Method | HTTP request | Description - [CouponFailureSummary](docs/CouponFailureSummary.md) - [CouponLimitConfigs](docs/CouponLimitConfigs.md) - [CouponRejectionReason](docs/CouponRejectionReason.md) -- [CouponRejections](docs/CouponRejections.md) - [CouponReservations](docs/CouponReservations.md) - [CouponSearch](docs/CouponSearch.md) - [CouponValue](docs/CouponValue.md) @@ -616,6 +621,12 @@ Class | Method | HTTP request | Description - [EventType](docs/EventType.md) - [EventV2](docs/EventV2.md) - [EventV3](docs/EventV3.md) +- [Experiment](docs/Experiment.md) +- [ExperimentResults](docs/ExperimentResults.md) +- [ExperimentVariant](docs/ExperimentVariant.md) +- [ExperimentVariantAllocation](docs/ExperimentVariantAllocation.md) +- [ExperimentVariantResult](docs/ExperimentVariantResult.md) +- [ExperimentVariantResultConfidence](docs/ExperimentVariantResultConfidence.md) - [ExpiringCardPointsData](docs/ExpiringCardPointsData.md) - [ExpiringCardPointsNotification](docs/ExpiringCardPointsNotification.md) - [ExpiringCouponsData](docs/ExpiringCouponsData.md) @@ -651,6 +662,7 @@ Class | Method | HTTP request | Description - [IdentifiableEntity](docs/IdentifiableEntity.md) - [ImportEntity](docs/ImportEntity.md) - [IncreaseAchievementProgressEffectProps](docs/IncreaseAchievementProgressEffectProps.md) +- [InfluencingCampaignDetails](docs/InfluencingCampaignDetails.md) - [InlineResponse200](docs/InlineResponse200.md) - [InlineResponse2001](docs/InlineResponse2001.md) - [InlineResponse20010](docs/InlineResponse20010.md) @@ -697,6 +709,7 @@ Class | Method | HTTP request | Description - [InlineResponse20048](docs/InlineResponse20048.md) - [InlineResponse20049](docs/InlineResponse20049.md) - [InlineResponse2005](docs/InlineResponse2005.md) +- [InlineResponse20050](docs/InlineResponse20050.md) - [InlineResponse2006](docs/InlineResponse2006.md) - [InlineResponse2007](docs/InlineResponse2007.md) - [InlineResponse2008](docs/InlineResponse2008.md) @@ -799,6 +812,7 @@ Class | Method | HTTP request | Description - [NewCampaignTemplate](docs/NewCampaignTemplate.md) - [NewCatalog](docs/NewCatalog.md) - [NewCollection](docs/NewCollection.md) +- [NewCollectionsCatalog](docs/NewCollectionsCatalog.md) - [NewCouponCreationJob](docs/NewCouponCreationJob.md) - [NewCouponDeletionJob](docs/NewCouponDeletionJob.md) - [NewCoupons](docs/NewCoupons.md) @@ -809,6 +823,9 @@ Class | Method | HTTP request | Description - [NewCustomerSessionV2](docs/NewCustomerSessionV2.md) - [NewEvent](docs/NewEvent.md) - [NewEventType](docs/NewEventType.md) +- [NewExperiment](docs/NewExperiment.md) +- [NewExperimentVariant](docs/NewExperimentVariant.md) +- [NewExperimentVariantArray](docs/NewExperimentVariantArray.md) - [NewExternalInvitation](docs/NewExternalInvitation.md) - [NewGiveawaysPool](docs/NewGiveawaysPool.md) - [NewInternalAudience](docs/NewInternalAudience.md) @@ -948,7 +965,6 @@ Class | Method | HTTP request | Description - [ScimUsersListResponse](docs/ScimUsersListResponse.md) - [SecondaryDeployment](docs/SecondaryDeployment.md) - [Session](docs/Session.md) -- [SessionCoupons](docs/SessionCoupons.md) - [SetDiscountEffectProps](docs/SetDiscountEffectProps.md) - [SetDiscountPerAdditionalCostEffectProps](docs/SetDiscountPerAdditionalCostEffectProps.md) - [SetDiscountPerAdditionalCostPerItemEffectProps](docs/SetDiscountPerAdditionalCostPerItemEffectProps.md) @@ -1004,9 +1020,13 @@ Class | Method | HTTP request | Description - [UpdateCampaignTemplate](docs/UpdateCampaignTemplate.md) - [UpdateCatalog](docs/UpdateCatalog.md) - [UpdateCollection](docs/UpdateCollection.md) +- [UpdateCollectionsCatalog](docs/UpdateCollectionsCatalog.md) - [UpdateCoupon](docs/UpdateCoupon.md) - [UpdateCouponBatch](docs/UpdateCouponBatch.md) - [UpdateCouponsData](docs/UpdateCouponsData.md) +- [UpdateExperiment](docs/UpdateExperiment.md) +- [UpdateExperimentVariant](docs/UpdateExperimentVariant.md) +- [UpdateExperimentVariantArray](docs/UpdateExperimentVariantArray.md) - [UpdateLoyaltyCard](docs/UpdateLoyaltyCard.md) - [UpdateLoyaltyProgram](docs/UpdateLoyaltyProgram.md) - [UpdateLoyaltyProgramTier](docs/UpdateLoyaltyProgramTier.md) @@ -1022,7 +1042,6 @@ Class | Method | HTTP request | Description - [ValueMap](docs/ValueMap.md) - [Webhook](docs/Webhook.md) - [WebhookAuthentication](docs/WebhookAuthentication.md) -- [WebhookAuthenticationBase](docs/WebhookAuthenticationBase.md) - [WebhookAuthenticationDataBasic](docs/WebhookAuthenticationDataBasic.md) - [WebhookAuthenticationDataCustom](docs/WebhookAuthenticationDataCustom.md) - [WebhookAuthenticationWebhookRef](docs/WebhookAuthenticationWebhookRef.md) diff --git a/api/openapi.yaml b/api/openapi.yaml index b22de642..b51bd393 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -2462,6 +2462,70 @@ paths: tags: - management x-accepts: application/json + /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/delete_transactions: + post: + description: | + Delete a customer's transactions in all loyalty ledgers or a specified ledger. + + **Note:** To retrieve loyalty transaction logs for a specific customer in a given + loyalty program, use the [List customer's loyalty transactions](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions) + endpoint. + operationId: deleteLoyaltyTransactionsFromLedgers + parameters: + - description: | + Identifier of the profile-based loyalty program. You can get the ID with + the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + in: path + name: loyaltyProgramId + required: true + schema: + format: int64 + type: integer + - description: | + The integration ID of the customer profile. You can get the `integrationId` of a profile using: + - A customer session integration ID with the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. + - The Management API with the [List application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. + in: path + name: integrationId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteLoyaltyTransactionsRequest' + required: true + responses: + "204": + content: {} + description: No Content + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseWithStatus' + description: Bad request + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseWithStatus' + description: Unauthorized + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseWithStatus' + description: Not found + security: + - api_key_v1: [] + summary: Delete customer's transactions from loyalty ledgers + tags: + - integration + x-codegen-request-body-name: body + x-contentType: application/json + x-accepts: application/json /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/points: get: description: | @@ -5248,13 +5312,15 @@ paths: required: true schema: type: string - - description: | - Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. - - **Note:** - - - It must be an RFC3339 timestamp string. - - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + - description: "Used to return expired, active, and pending loyalty balances\ + \ before this\ntimestamp. You can enter any past, present, or future timestamp\ + \ value.\n\n**Note:**\n\n- It must be an RFC3339 timestamp string.\n- You\ + \ can include a time component in your string, for example,\n`T23:59:59`\ + \ to specify the end of the day. The time zone setting\nconsidered is `UTC`.\ + \ If you do not include a time component, a default\ntime value of `T00:00:00`\ + \ (midnight) in `UTC` is considered.\n- This parameter does not affect the\ + \ `currentTier` field in the CSV file, \nwhich shows the customer's tier\ + \ at the time of export.\n" in: query name: endDate schema: @@ -12578,6 +12644,46 @@ paths: tags: - management x-accepts: application/json + /v1/coupon_rejections: + get: + description: | + Create a summary of the reasons for coupon redemption failures in a given customer session. + operationId: generateCouponRejections + parameters: + - description: The integration ID of the session to summarize. + in: query + name: sessionIntegrationId + required: true + schema: + type: string + - description: Filter results by Application ID. + in: query + name: applicationId + schema: + type: number + - description: | + The [ISO-639](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) code of the language + in which the summary will be generated. + in: query + name: language + schema: + type: string + - description: The coupon code for which to get the rejection reason. + in: query + name: couponCode + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/inline_response_200_50' + description: OK + summary: Summarize coupon redemption failures in session + tags: + - management + x-accepts: application/json components: schemas: ApplicationNotification: @@ -12933,6 +13039,12 @@ components: description: Arbitrary properties associated with coupons. properties: {} type: object + isReservationMandatory: + default: false + description: An indication of whether the code can be redeemed only if it + has been reserved first. + example: false + type: boolean batchId: description: The batch ID coupons created by this job will bear. example: tqyrgahe @@ -13637,6 +13749,25 @@ components: - quantity - sku type: object + ExperimentVariantAllocation: + example: + experimentID: 1 + variantID: 2 + properties: + experimentID: + description: The ID of the experiment. + example: 1 + format: int64 + type: integer + variantID: + description: The ID of the variant to be allocated. + example: 2 + format: int64 + type: integer + required: + - experimentID + - variantID + type: object NewCustomerSessionV2: description: The representation of the customer session. example: @@ -13725,6 +13856,11 @@ components: base: price: 100 height: 0.8008281904610115 + experimentVariantAllocations: + - experimentID: 1 + variantID: 2 + - experimentID: 1 + variantID: 2 properties: profileId: description: | @@ -13817,6 +13953,13 @@ components: $ref: '#/components/schemas/CartItem' title: Customer session's cart items type: array + experimentVariantAllocations: + description: | + The experiment variant allocations to add to this session. + items: + $ref: '#/components/schemas/ExperimentVariantAllocation' + title: Experiment variant allocations + type: array additionalCosts: additionalProperties: $ref: '#/components/schemas/AdditionalCost' @@ -13869,6 +14012,11 @@ components: identifiers: - d41306257915f83fe01e54092ae470f631161ea16fcf4415842eed41470386ea integrationId: URNGV8294NV + experimentVariantAllocations: + - experimentID: 1 + variantID: 2 + - experimentID: 1 + variantID: 2 total: 119.99 loyaltyCards: - loyalty-card-1 @@ -14070,6 +14218,13 @@ components: $ref: '#/components/schemas/CartItem' title: Customer session's cart items type: array + experimentVariantAllocations: + description: | + The experiment variant allocations to add to this session. + items: + $ref: '#/components/schemas/ExperimentVariantAllocation' + title: Experiment variant allocations + type: array additionalCosts: additionalProperties: $ref: '#/components/schemas/AdditionalCost' @@ -14160,6 +14315,11 @@ components: description: Definition of all properties that are present on all effects, independent of their type. properties: + experimentId: + description: The ID of the experiment that campaign belongs to. + example: 12 + format: int64 + type: integer campaignId: description: The ID of the campaign that triggered this effect. example: 244 @@ -15290,8 +15450,14 @@ components: selectedPriceType: member campaignRevisionId: 1 ruleName: Give 20% discount + experimentId: 12 triggeredByCoupon: 4928 properties: + experimentId: + description: The ID of the experiment that campaign belongs to. + example: 12 + format: int64 + type: integer campaignId: description: The ID of the campaign that triggered this effect. example: 244 @@ -15401,6 +15567,7 @@ components: selectedPriceType: member campaignRevisionId: 1 ruleName: Give 20% discount + experimentId: 12 triggeredByCoupon: 4928 - rulesetId: 73 ruleIndex: 2 @@ -15417,6 +15584,7 @@ components: selectedPriceType: member campaignRevisionId: 1 ruleName: Give 20% discount + experimentId: 12 triggeredByCoupon: 4928 customerSession: couponCodes: @@ -15425,6 +15593,11 @@ components: identifiers: - d41306257915f83fe01e54092ae470f631161ea16fcf4415842eed41470386ea integrationId: URNGV8294NV + experimentVariantAllocations: + - experimentID: 1 + variantID: 2 + - experimentID: 1 + variantID: 2 total: 119.99 loyaltyCards: - loyalty-card-1 @@ -15675,6 +15848,11 @@ components: base: price: 100 height: 0.8008281904610115 + experimentVariantAllocations: + - experimentID: 1 + variantID: 2 + - experimentID: 1 + variantID: 2 responseContent: - customerSession - customerProfile @@ -17844,6 +18022,12 @@ components: type: string maxItems: 50 type: array + reevaluateOnReturn: + description: Indicates whether this campaign should be reevaluated when + a customer returns an item. + example: true + title: Reevaluate on return + type: boolean features: description: The features enabled in this campaign. example: @@ -18106,6 +18290,11 @@ components: format: int64 type: integer type: array + experimentId: + description: The ID of the Experiment this Campaign is part of. + example: 1 + format: int64 + type: integer required: - frontendState - storesImported @@ -18206,6 +18395,7 @@ components: - "7" - "8" - "9" + experimentId: 1 id: 4 state: enabled reservecouponEffectCount: 9 @@ -18258,6 +18448,7 @@ components: limit: 1000.0 action: createCoupon activeRulesetId: 6 + reevaluateOnReturn: true userId: 388 awardedGiveawaysCount: 9 redeemedLoyaltyPointsEffectCount: 9 @@ -18383,6 +18574,12 @@ components: type: string maxItems: 50 type: array + reevaluateOnReturn: + description: Indicates whether this campaign should be reevaluated when + a customer returns an item. + example: true + title: Reevaluate on return + type: boolean features: description: The features enabled in this campaign. example: @@ -18605,6 +18802,11 @@ components: format: int64 type: integer type: array + experimentId: + description: The ID of the Experiment this Campaign is part of. + example: 1 + format: int64 + type: integer revisionFrontendState: description: The campaign revision state displayed in the Campaign Manager. enum: @@ -18657,6 +18859,7 @@ components: - id - limits - name + - reevaluateOnReturn - state - storesImported - tags @@ -19266,6 +19469,7 @@ components: selectedPriceType: member campaignRevisionId: 1 ruleName: Give 20% discount + experimentId: 12 triggeredByCoupon: 4928 - rulesetId: 73 ruleIndex: 2 @@ -19282,6 +19486,7 @@ components: selectedPriceType: member campaignRevisionId: 1 ruleName: Give 20% discount + experimentId: 12 triggeredByCoupon: 4928 referral: code: 27G47Y54VH9L @@ -19350,6 +19555,7 @@ components: - "7" - "8" - "9" + experimentId: 1 id: 4 state: enabled reservecouponEffectCount: 9 @@ -19402,6 +19608,7 @@ components: limit: 1000.0 action: createCoupon activeRulesetId: 6 + reevaluateOnReturn: true userId: 388 awardedGiveawaysCount: 9 redeemedLoyaltyPointsEffectCount: 9 @@ -19502,6 +19709,7 @@ components: - "7" - "8" - "9" + experimentId: 1 id: 4 state: enabled reservecouponEffectCount: 9 @@ -19554,6 +19762,7 @@ components: limit: 1000.0 action: createCoupon activeRulesetId: 6 + reevaluateOnReturn: true userId: 388 awardedGiveawaysCount: 9 redeemedLoyaltyPointsEffectCount: 9 @@ -19680,6 +19889,11 @@ components: identifiers: - d41306257915f83fe01e54092ae470f631161ea16fcf4415842eed41470386ea integrationId: URNGV8294NV + experimentVariantAllocations: + - experimentID: 1 + variantID: 2 + - experimentID: 1 + variantID: 2 total: 119.99 loyaltyCards: - loyalty-card-1 @@ -20009,6 +20223,7 @@ components: selectedPriceType: member campaignRevisionId: 1 ruleName: Give 20% discount + experimentId: 12 triggeredByCoupon: 4928 - rulesetId: 73 ruleIndex: 2 @@ -20025,6 +20240,7 @@ components: selectedPriceType: member campaignRevisionId: 1 ruleName: Give 20% discount + experimentId: 12 triggeredByCoupon: 4928 properties: effects: @@ -20148,6 +20364,7 @@ components: selectedPriceType: member campaignRevisionId: 1 ruleName: Give 20% discount + experimentId: 12 triggeredByCoupon: 4928 - rulesetId: 73 ruleIndex: 2 @@ -20164,6 +20381,7 @@ components: selectedPriceType: member campaignRevisionId: 1 ruleName: Give 20% discount + experimentId: 12 triggeredByCoupon: 4928 triggeredCampaigns: - type: advanced @@ -20214,6 +20432,7 @@ components: - "7" - "8" - "9" + experimentId: 1 id: 4 state: enabled reservecouponEffectCount: 9 @@ -20266,6 +20485,7 @@ components: limit: 1000.0 action: createCoupon activeRulesetId: 6 + reevaluateOnReturn: true userId: 388 awardedGiveawaysCount: 9 redeemedLoyaltyPointsEffectCount: 9 @@ -20366,6 +20586,7 @@ components: - "7" - "8" - "9" + experimentId: 1 id: 4 state: enabled reservecouponEffectCount: 9 @@ -20418,6 +20639,7 @@ components: limit: 1000.0 action: createCoupon activeRulesetId: 6 + reevaluateOnReturn: true userId: 388 awardedGiveawaysCount: 9 redeemedLoyaltyPointsEffectCount: 9 @@ -23396,6 +23618,7 @@ components: selectedPriceType: member campaignRevisionId: 1 ruleName: Give 20% discount + experimentId: 12 triggeredByCoupon: 4928 - rulesetId: 73 ruleIndex: 2 @@ -23412,6 +23635,7 @@ components: selectedPriceType: member campaignRevisionId: 1 ruleName: Give 20% discount + experimentId: 12 triggeredByCoupon: 4928 triggeredCampaigns: - type: advanced @@ -23462,6 +23686,7 @@ components: - "7" - "8" - "9" + experimentId: 1 id: 4 state: enabled reservecouponEffectCount: 9 @@ -23514,6 +23739,7 @@ components: limit: 1000.0 action: createCoupon activeRulesetId: 6 + reevaluateOnReturn: true userId: 388 awardedGiveawaysCount: 9 redeemedLoyaltyPointsEffectCount: 9 @@ -23614,6 +23840,7 @@ components: - "7" - "8" - "9" + experimentId: 1 id: 4 state: enabled reservecouponEffectCount: 9 @@ -23666,6 +23893,7 @@ components: limit: 1000.0 action: createCoupon activeRulesetId: 6 + reevaluateOnReturn: true userId: 388 awardedGiveawaysCount: 9 redeemedLoyaltyPointsEffectCount: 9 @@ -25699,6 +25927,11 @@ components: type: object DeleteLoyaltyTransactionsRequest: description: Request to delete transactions based on the specified scope. + example: + subledgerIds: + - subledger1 + - subledger2 + scope: SelectedSubledgers properties: scope: description: | @@ -26042,6 +26275,12 @@ components: type: string maxItems: 50 type: array + reevaluateOnReturn: + description: Indicates whether this campaign should be reevaluated when + a customer returns an item. + example: true + title: Reevaluate on return + type: boolean features: description: The features enabled in this campaign. example: @@ -26166,12 +26405,12 @@ components: title: Campaign Description type: string activeRulesetId: - description: The ID of the ruleset this campaign template will use. + description: The ID of the ruleset this campaign will use. example: 5 nullable: true type: integer tags: - description: A list of tags for the campaign template. + description: A list of tags for the campaign. items: maxLength: 50 minLength: 1 @@ -26187,8 +26426,14 @@ components: items: $ref: '#/components/schemas/LimitConfig' type: array + reevaluateOnReturn: + description: Indicates whether this campaign should be reevaluated when + a customer returns an item. + example: true + title: Reevaluate on return + type: boolean features: - description: A list of features for the campaign template. + description: A list of features for the campaign. items: enum: - coupons @@ -26258,12 +26503,12 @@ components: title: Campaign Description type: string activeRulesetId: - description: The ID of the ruleset this campaign template will use. + description: The ID of the ruleset this campaign will use. example: 5 nullable: true type: integer tags: - description: A list of tags for the campaign template. + description: A list of tags for the campaign. items: maxLength: 50 minLength: 1 @@ -26279,8 +26524,14 @@ components: items: $ref: '#/components/schemas/LimitConfig' type: array + reevaluateOnReturn: + description: Indicates whether this campaign should be reevaluated when + a customer returns an item. + example: true + title: Reevaluate on return + type: boolean features: - description: A list of features for the campaign template. + description: A list of features for the campaign. items: enum: - coupons @@ -26651,6 +26902,7 @@ components: example: activeRulesetId: 2 description: Campaign for all summer 2021 promotions + reevaluateOnReturn: true type: advanced campaignGroups: - 1 @@ -26817,6 +27069,12 @@ components: type: string maxItems: 50 type: array + reevaluateOnReturn: + description: Indicates whether this campaign should be reevaluated when + a customer returns an item. + example: true + title: Reevaluate on return + type: boolean features: description: A list of features for the campaign. example: @@ -27341,6 +27599,7 @@ components: - number - time - (list string) + - (list number) minLength: 1 type: string description: @@ -27360,6 +27619,7 @@ components: - number - time - (list string) + - (list number) minLength: 1 type: string description: @@ -29410,6 +29670,7 @@ components: attributes: '{}' discountLimit: 30.0 startDate: 2020-01-24T14:15:22Z + isReservationMandatory: false properties: usageLimit: description: | @@ -29458,6 +29719,12 @@ components: description: Arbitrary properties associated with coupons. properties: {} type: object + isReservationMandatory: + default: false + description: An indication of whether the code can be redeemed only if it + has been reserved first. + example: false + type: boolean required: - attributes - numberOfCoupons @@ -30189,6 +30456,11 @@ components: type: string maxItems: 50 type: array + reevaluateOnReturn: + description: Indicates whether campaigns created from this template should + be reevaluated when a customer returns an item. + example: true + type: boolean features: description: A list of features for the campaign template. items: @@ -30350,6 +30622,7 @@ components: updatedBy: Jane Doe created: 2020-06-10T09:05:27.993483Z isUserFavorite: false + reevaluateOnReturn: true userId: 388 tags: - discount @@ -30470,6 +30743,11 @@ components: type: string maxItems: 50 type: array + reevaluateOnReturn: + description: Indicates whether campaigns created from this template should + be reevaluated when a customer returns an item. + example: true + type: boolean features: description: A list of features for the campaign template. items: @@ -30575,6 +30853,7 @@ components: - id - instructions - name + - reevaluateOnReturn - state - userId - validApplicationIds @@ -30620,6 +30899,11 @@ components: type: string maxItems: 50 type: array + reevaluateOnReturn: + description: Indicates whether campaigns created from this template should + be reevaluated when a customer returns an item. + example: true + type: boolean features: description: A list of features for the campaign template. items: @@ -30677,6 +30961,275 @@ components: - name - state type: object + ExperimentVariant: + 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 + name: + example: Variant A + type: string + experimentId: + example: 10 + format: int64 + type: integer + ruleset: + $ref: '#/components/schemas/Ruleset' + weight: + example: 12 + format: int64 + type: integer + isPrimary: + example: true + type: boolean + required: + - created + - id + - isPrimary + - name + type: object + Experiment: + 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 + applicationId: + description: The ID of the Application that owns this entity. + example: 322 + format: int64 + type: integer + isVariantAssignmentExternal: + description: | + The source of the assignment. - false - The assignment to the variant is handled internally by the Talon.Oneandled internally by the Talon.One. - true - The assignment to the variant handled externally. + type: boolean + campaign: + $ref: '#/components/schemas/Campaign' + activated: + description: | + The date and time the experiment was activated. + format: date-time + type: string + state: + default: disabled + description: | + A disabled experiment is not evaluated for rules or coupons. + enum: + - enabled + - disabled + example: enabled + type: string + variants: + items: + $ref: '#/components/schemas/ExperimentVariant' + type: array + deletedat: + description: | + The date and time the experiment was deleted. + format: date-time + type: string + required: + - applicationId + - created + - id + type: object + NewExperiment: + properties: + isVariantAssignmentExternal: + description: | + The source of the assignment. - false - The assignment to the variant is handled internally by the Talon.Oneandled internally by the Talon.One. - true - The assignment to the variant handled externally. + type: boolean + activated: + description: | + The date and time the experiment was activated. + format: date-time + type: string + state: + default: disabled + description: | + A disabled experiment is not evaluated for rules or coupons. + enum: + - enabled + - disabled + example: enabled + type: string + campaign: + $ref: '#/components/schemas/NewCampaign' + required: + - campaign + - isVariantAssignmentExternal + type: object + UpdateExperiment: + properties: + isVariantAssignmentExternal: + description: "The source of the assignment. - false - The assignment to\ + \ the variant is handled internally by the Talon.Oneandled internally\ + \ by the Talon.One. - true - The assignment to the variant handled externally.\ + \ \n" + type: boolean + campaign: + $ref: '#/components/schemas/UpdateCampaign' + required: + - campaign + - isVariantAssignmentExternal + type: object + UpdateExperimentVariant: + properties: + id: + example: 10 + format: int64 + type: integer + name: + example: Variant A + type: string + ruleset: + $ref: '#/components/schemas/NewRuleset' + weight: + example: 12 + format: int64 + type: integer + required: + - id + - name + - ruleset + - weight + type: object + UpdateExperimentVariantArray: + properties: + variants: + description: Array of experiment variants to update + items: + $ref: '#/components/schemas/UpdateExperimentVariant' + type: array + required: + - variants + type: object + NewExperimentVariant: + properties: + name: + description: The name of this variant. + minLength: 1 + pattern: ^[A-Za-z](\w|\s)*$ + type: string + weight: + example: 13 + format: int64 + type: integer + ruleset: + $ref: '#/components/schemas/NewRuleset' + isPrimary: + example: true + type: boolean + required: + - isPrimary + - name + - ruleset + type: object + NewExperimentVariantArray: + properties: + variants: + description: Array of experiment variants to create + items: + $ref: '#/components/schemas/NewExperimentVariant' + type: array + required: + - variants + type: object + ExperimentVariantResult: + properties: + variantId: + description: The ID of the variant. + example: 1 + format: int64 + type: integer + variantName: + description: The name of the variant. + example: Variant A + type: string + variantWeight: + description: The weight of the variant. + example: 50 + format: int64 + type: integer + totalRevenue: + description: The total, pre-discount value of all items purchased in a customer + session. + example: 100.0 + type: number + sessionsCount: + description: The number of all closed sessions. + example: 100.0 + type: number + avgItemsPerSession: + description: The number of items from sessions divided by the number of + sessions. + example: 100.0 + type: number + avgSessionValue: + description: The average customer session value, calculated by dividing + the revenue value by the number of sessions. + example: 100.0 + type: number + avgDiscountedSessionValue: + description: The average customer session value, calculated by dividing + the revenue value by the number of sessions. + example: 100.0 + type: number + totalDiscounts: + description: The total value of discounts given for cart items in sessions. + example: 10.0 + type: number + couponsCount: + description: The number of times a coupon was successfully redeemed in sessions. + example: 12.0 + type: number + type: object + ExperimentVariantResultConfidence: + properties: + avgSessionValue: + description: The calculated confidence value of the average customer session + value. + example: 100.0 + type: number + avgDiscountedSessionValue: + description: The calculated confidence value of the average customer discounted + session value. + example: 100.0 + type: number + avgItemsPerSession: + description: The calculated confidence value of the number of items from + sessions value. + example: 100.0 + type: number + required: + - avgDiscountedSessionValue + - avgItemsPerSession + - avgSessionValue + type: object + ExperimentResults: + properties: + variants: + items: + $ref: '#/components/schemas/ExperimentVariantResult' + type: array + confidence: + $ref: '#/components/schemas/ExperimentVariantResultConfidence' + required: + - confidence + type: object CreateTemplateCampaign: example: campaignAttributesOverrides: '{}' @@ -31305,6 +31858,7 @@ components: - "7" - "8" - "9" + experimentId: 1 id: 4 state: enabled reservecouponEffectCount: 9 @@ -31357,6 +31911,7 @@ components: limit: 1000.0 action: createCoupon activeRulesetId: 6 + reevaluateOnReturn: true userId: 388 awardedGiveawaysCount: 9 redeemedLoyaltyPointsEffectCount: 9 @@ -34608,6 +35163,7 @@ components: selectedPriceType: member campaignRevisionId: 1 ruleName: Give 20% discount + experimentId: 12 triggeredByCoupon: 4928 - rulesetId: 73 ruleIndex: 2 @@ -34624,6 +35180,7 @@ components: selectedPriceType: member campaignRevisionId: 1 ruleName: Give 20% discount + experimentId: 12 triggeredByCoupon: 4928 storeIntegrationId: STORE-001 created: 2020-06-10T09:05:27.993483Z @@ -35699,31 +36256,82 @@ components: - timeframe - timeframeEndDate type: object + InfluencingCampaignDetails: + description: Details about a campaign that influenced the final price. + example: + campaignId: 0 + discountValue: 6.027456183070403 + properties: + campaignId: + description: Identifier of the campaign that influenced the final price. + format: int64 + type: integer + discountValue: + description: Discount value applied by the campaign. + type: number + required: + - campaignId + - discountValue + type: object + AdjustmentDetails: + description: Details about an applied price adjustment. + example: + selectedPriceType: member + value: 1.4658129805029452 + referenceId: 68851723-e6fa-488f-ace9-112581e6c19b + properties: + referenceId: + description: The reference identifier used during an `ADD_PRICE_ADJUSTMENT` + action. + example: 68851723-e6fa-488f-ace9-112581e6c19b + type: string + selectedPriceType: + description: The selected price type for the SKU targeted by this effect. + example: member + type: string + value: + description: The value of the applied price adjustment. + type: number + required: + - referenceId + - selectedPriceType + - value + type: object BestPriorPriceMetadata: description: Auxiliary data for found price observation. example: - influencingCampaignIDs: - - 0 - - 0 - adjustmentReferenceID: adjustmentReferenceID + adjustmentDetails: + selectedPriceType: member + value: 1.4658129805029452 + referenceId: 68851723-e6fa-488f-ace9-112581e6c19b + influencingCampaignDetails: + - campaignId: 0 + discountValue: 6.027456183070403 + - campaignId: 0 + discountValue: 6.027456183070403 properties: - influencingCampaignIDs: + influencingCampaignDetails: + description: Details about campaigns that influenced the final price. items: - format: int64 - type: integer + $ref: '#/components/schemas/InfluencingCampaignDetails' type: array - adjustmentReferenceID: - description: Identifier related to the `referenceId` used during a `ADD_PRICE_ADJUSTMENT` - action using the [Sync cart item catalog endpoint](https://docs.talon.one/integration-api#tag/Catalogs/operation/syncCatalog). - type: string + adjustmentDetails: + $ref: '#/components/schemas/AdjustmentDetails' + required: + - influencingCampaignDetails type: object BestPriorPrice: example: metadata: - influencingCampaignIDs: - - 0 - - 0 - adjustmentReferenceID: adjustmentReferenceID + adjustmentDetails: + selectedPriceType: member + value: 1.4658129805029452 + referenceId: 68851723-e6fa-488f-ace9-112581e6c19b + influencingCampaignDetails: + - campaignId: 0 + discountValue: 6.027456183070403 + - campaignId: 0 + discountValue: 6.027456183070403 observedAt: 2020-11-10T23:00:00Z price: 99.99 contextId: Summer Sale 2007 @@ -36439,24 +37047,6 @@ components: required: - headers type: object - WebhookAuthenticationBase: - properties: - name: - description: The name of the webhook authentication. - example: My basic auth - type: string - type: - enum: - - basic - - custom - type: string - data: - type: object - required: - - data - - name - - type - type: object WebhookAuthentication: properties: createdBy: @@ -36506,6 +37096,8 @@ components: - type - webhooks type: object + WebhookAuthenticationBase: + type: object MessageLogRequest: description: Details of the request. example: @@ -39460,6 +40052,231 @@ components: - created - id type: object + CatalogRule: + description: A rule template stored in a catalog entry. Rules in catalog entries + only contain title (no description, as description is at the catalog entry + level). + properties: + title: + description: A short description of the rule. + example: Give discount via coupon + type: string + bindings: + description: An array that provides objects with variable names (name) and + talang expressions to whose result they are bound (expression) during + rule evaluation. The order of the evaluation is decided by the position + in the array. + items: + $ref: '#/components/schemas/Binding' + type: array + condition: + description: A Talang expression that will be evaluated in the context of + the given event. + example: + - and + - - couponValid + items: + type: object + minItems: 1 + type: array + effects: + description: An array of effectful Talang expressions in arrays that will + be evaluated when a rule matches. + example: + - catch + - - noop + - - setDiscount + - 10% off + - - '*' + - - "." + - Session + - Total + - - / + - 10 + - 100 + items: + properties: {} + type: object + type: array + required: + - condition + - effects + - title + type: object + CartItemFilterTemplate: + description: A cart item filter template stored in a library entry. Cart item + filters in library entries only contain name (no description, as description + is at the library entry level). + properties: + name: + description: The name of the Application cart item filter. + example: Filter items by product + type: string + expression: + description: The Talang expression for the cart item filter. + example: + - filter + - - "." + - Session + - CartItems + - - - Item + - - catch + - false + - - = + - - "." + - Item + - Category + - Kitchen + items: + type: object + type: array + required: + - expression + - name + type: object + CollectionsCatalog: + properties: + id: + description: The internal ID of this collection. + format: int64 + type: integer + accountId: + description: The ID of the account that owns this collection. + format: int64 + type: integer + applicationId: + description: The ID of the Application that owns this collection. + format: int64 + type: integer + title: + description: A short description of the collection catalog. + example: High value cart discount + type: string + description: + description: A longer, more detailed description of the collection catalog. + type: string + category: + description: Category used to group collection catalogs. + enum: + - promotions + - pricing + - loyalty + - custom + type: string + source: + description: Indicates whether the collection is custom or shipped by Talon.One. + enum: + - custom + - default + type: string + rules: + description: Array of rule templates in this collection catalog. Rules only + contain title (no description, as description is at the collection catalog + level). + items: + $ref: '#/components/schemas/CatalogRule' + type: array + cartItemFilters: + description: Array of cart item filter templates in this collection catalog. + Cart item filters only contain name (no description, as description is + at the collection catalog level). + items: + $ref: '#/components/schemas/CartItemFilterTemplate' + type: array + created: + description: Timestamp when the collection was created. + format: date-time + type: string + createdBy: + description: ID of the user who created the collection. + format: int64 + type: integer + modified: + description: Timestamp when the collection was last updated. + format: date-time + type: string + modifiedBy: + description: ID of the user who last updated the collection. + format: int64 + type: integer + required: + - accountId + - applicationId + - cartItemFilters + - category + - created + - createdBy + - id + - rules + - source + - title + type: object + NewCollectionsCatalog: + properties: + title: + description: The display name for the collection catalog. + example: Customer loyalty boost + type: string + description: + description: A longer, more detailed description of the collection catalog. + type: string + category: + default: custom + description: Category used to group collection catalogs. + enum: + - promotions + - pricing + - loyalty + - custom + type: string + rules: + description: Array of rules to store in this collection catalog. Rules should + only contain title (no description, as description is at the collection + catalog level). At least one rule or cart item filter is required. + items: + $ref: '#/components/schemas/CatalogRule' + type: array + cartItemFilters: + description: Array of cart item filters to store in this collection catalog. + If not provided, will be extracted from the rules. Cart item filters should + only contain name (no description, as description is at the collection + catalog level). + items: + $ref: '#/components/schemas/CartItemFilterTemplate' + type: array + required: + - title + type: object + UpdateCollectionsCatalog: + properties: + title: + description: The display name for the collection catalog. + type: string + description: + description: A longer, more detailed description of the collection catalog. + type: string + category: + description: Category used to group collection catalogs. + enum: + - promotions + - pricing + - loyalty + - custom + type: string + rules: + description: Replaces the stored rules. Rules should only contain title + (no description, as description is at the collection catalog level). + items: + $ref: '#/components/schemas/CatalogRule' + type: array + cartItemFilters: + description: Replaces the stored cart item filters. Cart item filters should + only contain name (no description, as description is at the collection + catalog level). + items: + $ref: '#/components/schemas/CartItemFilterTemplate' + type: array + type: object ListCampaignStoreBudgetsStore: example: name: name @@ -40126,6 +40943,17 @@ components: type: object CouponFailureSummary: description: Summary of the reasons for coupon redemption failure. + example: + summary: Session total was less than the required total. + eventID: 1011 + createdAt: 2021-07-20T21:59:00Z + profileID: a48f10dddb5c9493aad194e49bb9c1dac + language: en + id: 1 + sessionID: "1" + couponCode: ABC123 + status: rejected + updatedAt: 2021-07-20T21:59:00Z properties: id: description: ID of the evaluation record. @@ -40157,16 +40985,10 @@ components: description: Language of the summary. example: en type: string - shortSummary: + summary: description: A summary of the reasons for coupon redemption failure. example: Session total was less than the required total. type: string - longSummary: - description: A detailed summary of the reasons for coupon redemption failure - based on events of the entire session. - example: There were 5 items in the cart with SKUs 1,2,3,4,5 and the total - is $60 which is less than the required cart total. - type: string createdAt: description: Timestamp when the request was made. example: 2021-07-20T21:59:00Z @@ -40183,9 +41005,8 @@ components: - eventID - id - language - - longSummary - - shortSummary - status + - summary - updatedAt type: object GenerateCouponFailureDetailedSummary: @@ -40250,45 +41071,31 @@ components: - name - summary type: object - SessionCoupons: - properties: - sessionIntegrationId: - description: The integration ID of the session in which the coupons were - applied. - example: cc53e4fa-547f-4f5e-8333-76e05c381f67 - type: string - couponCode: - description: The coupon codes for which rejection reason is needed. - example: SUMMER2025 - type: string - required: - - sessionIntegrationId - type: object - CouponRejections: - properties: - sessionDetails: - description: Array containing details from session like session id and optional - coupon code used in the session. Only the first 15 entries will be processed. - items: - $ref: '#/components/schemas/SessionCoupons' - type: array - applicationId: - description: The application ID for which the coupon was used. - example: 123 - format: int64 - type: integer - language: - description: The language the summary will be generated in. - example: en - type: string - required: - - applicationId - - sessionDetails - type: object PrismaticFlowConfig: properties: ApiKey: type: string + WorkerCount: + default: 10 + description: Number of Prismatic workers to run in parallel for this flow + (maximum 500). + format: int64 + maximum: 5E+2 + minimum: 1 + type: integer + MaxEventsPerMessage: + default: 1000 + description: Maximum number of events to send in a single message to Prismatic. + format: int64 + minimum: 1 + type: integer + MaxRetries: + default: 10 + description: Maximum number of retries for a Prismatic event before it is + ignored. + format: int64 + minimum: 0 + type: integer required: - ApiKey type: object @@ -40981,6 +41788,7 @@ components: items: $ref: '#/components/schemas/StrikethroughEffect' type: array + x-omit-if-zero: true required: - catalogId - evaluatedAt @@ -43237,6 +44045,7 @@ components: - "7" - "8" - "9" + experimentId: 1 id: 4 state: enabled reservecouponEffectCount: 9 @@ -43289,6 +44098,7 @@ components: limit: 1000.0 action: createCoupon activeRulesetId: 6 + reevaluateOnReturn: true userId: 388 awardedGiveawaysCount: 9 redeemedLoyaltyPointsEffectCount: 9 @@ -43389,6 +44199,7 @@ components: - "7" - "8" - "9" + experimentId: 1 id: 4 state: enabled reservecouponEffectCount: 9 @@ -43441,6 +44252,7 @@ components: limit: 1000.0 action: createCoupon activeRulesetId: 6 + reevaluateOnReturn: true userId: 388 awardedGiveawaysCount: 9 redeemedLoyaltyPointsEffectCount: 9 @@ -44207,6 +45019,7 @@ components: updatedBy: Jane Doe created: 2020-06-10T09:05:27.993483Z isUserFavorite: false + reevaluateOnReturn: true userId: 388 tags: - discount @@ -44348,6 +45161,7 @@ components: updatedBy: Jane Doe created: 2020-06-10T09:05:27.993483Z isUserFavorite: false + reevaluateOnReturn: true userId: 388 tags: - discount @@ -45494,6 +46308,7 @@ components: selectedPriceType: member campaignRevisionId: 1 ruleName: Give 20% discount + experimentId: 12 triggeredByCoupon: 4928 - rulesetId: 73 ruleIndex: 2 @@ -45510,6 +46325,7 @@ components: selectedPriceType: member campaignRevisionId: 1 ruleName: Give 20% discount + experimentId: 12 triggeredByCoupon: 4928 storeIntegrationId: STORE-001 created: 2020-06-10T09:05:27.993483Z @@ -45565,6 +46381,7 @@ components: selectedPriceType: member campaignRevisionId: 1 ruleName: Give 20% discount + experimentId: 12 triggeredByCoupon: 4928 - rulesetId: 73 ruleIndex: 2 @@ -45581,6 +46398,7 @@ components: selectedPriceType: member campaignRevisionId: 1 ruleName: Give 20% discount + experimentId: 12 triggeredByCoupon: 4928 storeIntegrationId: STORE-001 created: 2020-06-10T09:05:27.993483Z @@ -46467,6 +47285,36 @@ components: required: - data - hasMore + inline_response_200_50: + example: + data: + - summary: Session total was less than the required total. + eventID: 1011 + createdAt: 2021-07-20T21:59:00Z + profileID: a48f10dddb5c9493aad194e49bb9c1dac + language: en + id: 1 + sessionID: "1" + couponCode: ABC123 + status: rejected + updatedAt: 2021-07-20T21:59:00Z + - summary: Session total was less than the required total. + eventID: 1011 + createdAt: 2021-07-20T21:59:00Z + profileID: a48f10dddb5c9493aad194e49bb9c1dac + language: en + id: 1 + sessionID: "1" + couponCode: ABC123 + status: rejected + updatedAt: 2021-07-20T21:59:00Z + properties: + data: + items: + $ref: '#/components/schemas/CouponFailureSummary' + type: array + required: + - data GenerateRuleTitle_rule: properties: effects: @@ -46567,19 +47415,32 @@ components: $ref: '#/components/schemas/AnalyticsDataPointWithTrend' securitySchemes: api_key_v1: - description: "To authenticate with the Integration API, generate an API key\ - \ in the Campaign Manager\nand prefix it with `ApiKey-v1`.\n\nTo generate\ - \ an API key:\n\n1. Sign in to the Campaign Manager and open the Application\ - \ of your choice, or create one.\n1. Click **Settings** > **Integration API\ - \ Keys**.\n1. Click **Create API Key** and give it a name and an expiration\ - \ date, then click **Create API Key**.\n \n **Tip**: Avoid choosing expiration\ - \ dates that fall at the end of\n the year or during other high-traffic\ - \ periods.\n\n\nYou can now use the API key in the HTTP header, prefixing\ - \ it with `ApiKey-v1`:\n\n```\nAuthorization: ApiKey-v1 dbc644d33aa74d582bd9479c59e16f970fe13bf3\n\ - ```\n\nOr use it inside [an SDK](https://docs.talon.one/docs/dev/sdks/overview),\ - \ for example, with the JAVA SDK:\n\n```\niApi.getApiClient().setApiKeyPrefix(\"\ - ApiKey-v1\");\niApi.getApiClient().setApiKey(\"dbc644d33aa74d582bd9479c59e16f970fe13bf3\"\ - );\n```\n" + description: | + To authenticate with the Integration API, generate an API key in the Campaign Manager + and prefix it with `ApiKey-v1`. + + To generate an API key: + + 1. Sign in to the Campaign Manager and open the Application of your choice, or create one. + 1. Click **Settings** > **Integration API Keys**. + 1. Click **Create API Key** and give it a name and an expiration date, then click **Create API Key**. + + **Tip**: Avoid choosing expiration dates that fall at the end of + the year or during other high-traffic periods. + + + You can now use the API key in the HTTP header, prefixing it with `ApiKey-v1`: + + ``` + Authorization: ApiKey-v1 dbc644d33aa74d582bd9479c59e16f970fe13bf3 + ``` + + Or use it inside [an SDK](https://docs.talon.one/docs/dev/sdks/overview), for example, with the JAVA SDK: + + ``` + iApi.getApiClient().setApiKeyPrefix("ApiKey-v1"); + iApi.getApiClient().setApiKey("dbc644d33aa74d582bd9479c59e16f970fe13bf3"); + ``` in: header name: Authorization type: apiKey @@ -46602,18 +47463,28 @@ components: name: Authorization type: apiKey management_key: - description: "The API key authentication gives you access to the endpoints selected\ - \ by the admin who created the key.\nUsing an API key is the recommended authentication\ - \ method.\n\nThe key must be generated by an admin and given to the developer\ - \ that requires it:\n\n1. Sign in to the Campaign Manager and click **Account**\ - \ > **Tools** > **Management API Keys**.\n1. Click **Create Key** and give\ - \ it a name.\n1. Set an expiration date. \n \n **Tip**: Avoid choosing\ - \ expiration dates that fall at the end of\n the year or during other high-traffic\ - \ periods.\n\n1. Choose the endpoints the key should give access to.\n1. Click\ - \ **Create Key**.\n1. Share it with your developer.\n\nThe developer can now\ - \ use the API key in the HTTP header, prefixing it with `ManagementKey-v1`:\n\ - \n```\nAuthorization: ManagementKey-v1 bd9479c59e16f9dbc644d33aa74d58270fe13bf3\n\ - ```\n" + description: | + The API key authentication gives you access to the endpoints selected by the admin who created the key. + Using an API key is the recommended authentication method. + + The key must be generated by an admin and given to the developer that requires it: + + 1. Sign in to the Campaign Manager and click **Account** > **Tools** > **Management API Keys**. + 1. Click **Create Key** and give it a name. + 1. Set an expiration date. + + **Tip**: Avoid choosing expiration dates that fall at the end of + the year or during other high-traffic periods. + + 1. Choose the endpoints the key should give access to. + 1. Click **Create Key**. + 1. Share it with your developer. + + The developer can now use the API key in the HTTP header, prefixing it with `ManagementKey-v1`: + + ``` + Authorization: ManagementKey-v1 bd9479c59e16f9dbc644d33aa74d58270fe13bf3 + ``` in: header name: Authorization type: apiKey diff --git a/build.gradle b/build.gradle index 979274c0..745e216b 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'eclipse' apply plugin: 'java' group = 'one.talon' -version = '14.1.1' +version = '14.2.0' buildscript { repositories { diff --git a/build.sbt b/build.sbt index 05d198a6..ef6c515f 100644 --- a/build.sbt +++ b/build.sbt @@ -2,7 +2,7 @@ lazy val root = (project in file(".")). settings( organization := "one.talon", name := "talon-one-client", - version := "14.1.1", + version := "14.2.0", scalaVersion := "2.11.4", scalacOptions ++= Seq("-feature"), javacOptions in compile ++= Seq("-Xlint:deprecation"), diff --git a/docs/AdditionalCampaignProperties.md b/docs/AdditionalCampaignProperties.md index 341deb1a..2589a0fc 100644 --- a/docs/AdditionalCampaignProperties.md +++ b/docs/AdditionalCampaignProperties.md @@ -30,6 +30,7 @@ Name | Type | Description | Notes **frontendState** | [**FrontendStateEnum**](#FrontendStateEnum) | The campaign state displayed in the Campaign Manager. | **storesImported** | **Boolean** | Indicates whether the linked stores were imported via a CSV file. | **valueMapsIds** | **List<Long>** | A list of value map IDs for the campaign. | [optional] +**experimentId** | **Long** | The ID of the Experiment this Campaign is part of. | [optional] diff --git a/docs/AdjustmentDetails.md b/docs/AdjustmentDetails.md new file mode 100644 index 00000000..13520787 --- /dev/null +++ b/docs/AdjustmentDetails.md @@ -0,0 +1,15 @@ + + +# AdjustmentDetails + +Details about an applied price adjustment. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**referenceId** | **String** | The reference identifier used during an `ADD_PRICE_ADJUSTMENT` action. | +**selectedPriceType** | **String** | The selected price type for the SKU targeted by this effect. | +**value** | [**BigDecimal**](BigDecimal.md) | The value of the applied price adjustment. | + + + diff --git a/docs/BaseCampaign.md b/docs/BaseCampaign.md index cb1bf76c..d1cf47ac 100644 --- a/docs/BaseCampaign.md +++ b/docs/BaseCampaign.md @@ -14,6 +14,7 @@ Name | Type | Description | Notes **state** | [**StateEnum**](#StateEnum) | A disabled or archived campaign is not evaluated for rules or coupons. | **activeRulesetId** | **Long** | [ID of Ruleset](https://docs.talon.one/management-api#operation/getRulesets) this campaign applies on customer session evaluation. | [optional] **tags** | **List<String>** | A list of tags for the campaign. | +**reevaluateOnReturn** | **Boolean** | Indicates whether this campaign should be reevaluated when a customer returns an item. | [optional] **features** | [**List<FeaturesEnum>**](#List<FeaturesEnum>) | The features enabled in this campaign. | **couponSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional] **referralSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional] diff --git a/docs/BestPriorPriceMetadata.md b/docs/BestPriorPriceMetadata.md index 16a5f465..a9285338 100644 --- a/docs/BestPriorPriceMetadata.md +++ b/docs/BestPriorPriceMetadata.md @@ -7,8 +7,8 @@ Auxiliary data for found price observation. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**influencingCampaignIDs** | **List<Long>** | | [optional] -**adjustmentReferenceID** | **String** | Identifier related to the `referenceId` used during a `ADD_PRICE_ADJUSTMENT` action using the [Sync cart item catalog endpoint](https://docs.talon.one/integration-api#tag/Catalogs/operation/syncCatalog). | [optional] +**influencingCampaignDetails** | [**List<InfluencingCampaignDetails>**](InfluencingCampaignDetails.md) | Details about campaigns that influenced the final price. | +**adjustmentDetails** | [**AdjustmentDetails**](AdjustmentDetails.md) | | [optional] diff --git a/docs/Campaign.md b/docs/Campaign.md index b4db452e..4ea226d0 100644 --- a/docs/Campaign.md +++ b/docs/Campaign.md @@ -18,6 +18,7 @@ Name | Type | Description | Notes **state** | [**StateEnum**](#StateEnum) | A disabled or archived campaign is not evaluated for rules or coupons. | **activeRulesetId** | **Long** | [ID of Ruleset](https://docs.talon.one/management-api#operation/getRulesets) this campaign applies on customer session evaluation. | [optional] **tags** | **List<String>** | A list of tags for the campaign. | +**reevaluateOnReturn** | **Boolean** | Indicates whether this campaign should be reevaluated when a customer returns an item. | **features** | [**List<FeaturesEnum>**](#List<FeaturesEnum>) | The features enabled in this campaign. | **couponSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional] **referralSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional] @@ -49,6 +50,7 @@ Name | Type | Description | Notes **frontendState** | [**FrontendStateEnum**](#FrontendStateEnum) | The campaign state displayed in the Campaign Manager. | **storesImported** | **Boolean** | Indicates whether the linked stores were imported via a CSV file. | **valueMapsIds** | **List<Long>** | A list of value map IDs for the campaign. | [optional] +**experimentId** | **Long** | The ID of the Experiment this Campaign is part of. | [optional] **revisionFrontendState** | [**RevisionFrontendStateEnum**](#RevisionFrontendStateEnum) | The campaign revision state displayed in the Campaign Manager. | [optional] **activeRevisionId** | **Long** | ID of the revision that was last activated on this campaign. | [optional] **activeRevisionVersionId** | **Long** | ID of the revision version that is active on the campaign. | [optional] diff --git a/docs/CampaignTemplate.md b/docs/CampaignTemplate.md index 143432e2..981b042a 100644 --- a/docs/CampaignTemplate.md +++ b/docs/CampaignTemplate.md @@ -18,6 +18,7 @@ Name | Type | Description | Notes **state** | [**StateEnum**](#StateEnum) | Only campaign templates in 'available' state may be used to create campaigns. | **activeRulesetId** | **Long** | The ID of the ruleset this campaign template will use. | [optional] **tags** | **List<String>** | A list of tags for the campaign template. | [optional] +**reevaluateOnReturn** | **Boolean** | Indicates whether campaigns created from this template should be reevaluated when a customer returns an item. | **features** | [**List<FeaturesEnum>**](#List<FeaturesEnum>) | A list of features for the campaign template. | [optional] **couponSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional] **couponReservationSettings** | [**CampaignTemplateCouponReservationSettings**](CampaignTemplateCouponReservationSettings.md) | | [optional] diff --git a/docs/CartItemFilterTemplate.md b/docs/CartItemFilterTemplate.md new file mode 100644 index 00000000..27dd3ba0 --- /dev/null +++ b/docs/CartItemFilterTemplate.md @@ -0,0 +1,14 @@ + + +# CartItemFilterTemplate + +A cart item filter template stored in a library entry. Cart item filters in library entries only contain name (no description, as description is at the library entry level). +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | The name of the Application cart item filter. | +**expression** | **List<Object>** | The Talang expression for the cart item filter. | + + + diff --git a/docs/CatalogRule.md b/docs/CatalogRule.md new file mode 100644 index 00000000..8023f0fd --- /dev/null +++ b/docs/CatalogRule.md @@ -0,0 +1,16 @@ + + +# CatalogRule + +A rule template stored in a catalog entry. Rules in catalog entries only contain title (no description, as description is at the catalog entry level). +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**title** | **String** | A short description of the rule. | +**bindings** | [**List<Binding>**](Binding.md) | An array that provides objects with variable names (name) and talang expressions to whose result they are bound (expression) during rule evaluation. The order of the evaluation is decided by the position in the array. | [optional] +**condition** | **List<Object>** | A Talang expression that will be evaluated in the context of the given event. | +**effects** | **List<Object>** | An array of effectful Talang expressions in arrays that will be evaluated when a rule matches. | + + + diff --git a/docs/CollectionsCatalog.md b/docs/CollectionsCatalog.md new file mode 100644 index 00000000..566225cd --- /dev/null +++ b/docs/CollectionsCatalog.md @@ -0,0 +1,44 @@ + + +# CollectionsCatalog + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **Long** | The internal ID of this collection. | +**accountId** | **Long** | The ID of the account that owns this collection. | +**applicationId** | **Long** | The ID of the Application that owns this collection. | +**title** | **String** | A short description of the collection catalog. | +**description** | **String** | A longer, more detailed description of the collection catalog. | [optional] +**category** | [**CategoryEnum**](#CategoryEnum) | Category used to group collection catalogs. | +**source** | [**SourceEnum**](#SourceEnum) | Indicates whether the collection is custom or shipped by Talon.One. | +**rules** | [**List<CatalogRule>**](CatalogRule.md) | Array of rule templates in this collection catalog. Rules only contain title (no description, as description is at the collection catalog level). | +**cartItemFilters** | [**List<CartItemFilterTemplate>**](CartItemFilterTemplate.md) | Array of cart item filter templates in this collection catalog. Cart item filters only contain name (no description, as description is at the collection catalog level). | +**created** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp when the collection was created. | +**createdBy** | **Long** | ID of the user who created the collection. | +**modified** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp when the collection was last updated. | [optional] +**modifiedBy** | **Long** | ID of the user who last updated the collection. | [optional] + + + +## Enum: CategoryEnum + +Name | Value +---- | ----- +PROMOTIONS | "promotions" +PRICING | "pricing" +LOYALTY | "loyalty" +CUSTOM | "custom" + + + +## Enum: SourceEnum + +Name | Value +---- | ----- +CUSTOM | "custom" +DEFAULT | "default" + + + diff --git a/docs/CouponCreationJob.md b/docs/CouponCreationJob.md index 12858022..35e77dcf 100644 --- a/docs/CouponCreationJob.md +++ b/docs/CouponCreationJob.md @@ -19,6 +19,7 @@ Name | Type | Description | Notes **numberOfCoupons** | **Long** | The number of new coupon codes to generate for the campaign. | **couponSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional] **attributes** | [**Object**](.md) | Arbitrary properties associated with coupons. | +**isReservationMandatory** | **Boolean** | An indication of whether the code can be redeemed only if it has been reserved first. | [optional] **batchId** | **String** | The batch ID coupons created by this job will bear. | **status** | **String** | The current status of this request. Possible values: - `pending verification` - `pending` - `completed` - `failed` - `coupon pattern full` | **createdAmount** | **Long** | The number of coupon codes that were already created for this request. | diff --git a/docs/CouponFailureSummary.md b/docs/CouponFailureSummary.md index 22355f1b..4bb697da 100644 --- a/docs/CouponFailureSummary.md +++ b/docs/CouponFailureSummary.md @@ -14,8 +14,7 @@ Name | Type | Description | Notes **status** | **String** | Status defines if the coupon code was applied or rejected. | **couponCode** | **String** | Coupon code passed for evaluation. | **language** | **String** | Language of the summary. | -**shortSummary** | **String** | A summary of the reasons for coupon redemption failure. | -**longSummary** | **String** | A detailed summary of the reasons for coupon redemption failure based on events of the entire session. | +**summary** | **String** | A summary of the reasons for coupon redemption failure. | **createdAt** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp when the request was made. | **updatedAt** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp when the request was last updated. | diff --git a/docs/CustomerSessionV2.md b/docs/CustomerSessionV2.md index fdfdcee8..19e8f12f 100644 --- a/docs/CustomerSessionV2.md +++ b/docs/CustomerSessionV2.md @@ -19,6 +19,7 @@ Name | Type | Description | Notes **loyaltyCards** | **List<String>** | Identifier of a loyalty card. | [optional] **state** | [**StateEnum**](#StateEnum) | 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). | **cartItems** | [**List<CartItem>**](CartItem.md) | 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. | +**experimentVariantAllocations** | [**List<ExperimentVariantAllocation>**](ExperimentVariantAllocation.md) | The experiment variant allocations to add to this session. | [optional] **additionalCosts** | [**Map<String, AdditionalCost>**](AdditionalCost.md) | 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). | [optional] **identifiers** | **List<String>** | 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. | [optional] **attributes** | [**Object**](.md) | 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. | diff --git a/docs/Effect.md b/docs/Effect.md index 7a01c903..9922c6cd 100644 --- a/docs/Effect.md +++ b/docs/Effect.md @@ -7,6 +7,7 @@ A generic effect that is fired by a triggered campaign. The props property will Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**experimentId** | **Long** | The ID of the experiment that campaign belongs to. | [optional] **campaignId** | **Long** | The ID of the campaign that triggered this effect. | **rulesetId** | **Long** | The ID of the ruleset that was active in the campaign when this effect was triggered. | **ruleIndex** | **Long** | The position of the rule that triggered this effect within the ruleset. | diff --git a/docs/EffectEntity.md b/docs/EffectEntity.md index b16fd2ef..6a3f73d7 100644 --- a/docs/EffectEntity.md +++ b/docs/EffectEntity.md @@ -7,6 +7,7 @@ Definition of all properties that are present on all effects, independent of the Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**experimentId** | **Long** | The ID of the experiment that campaign belongs to. | [optional] **campaignId** | **Long** | The ID of the campaign that triggered this effect. | **rulesetId** | **Long** | The ID of the ruleset that was active in the campaign when this effect was triggered. | **ruleIndex** | **Long** | The position of the rule that triggered this effect within the ruleset. | diff --git a/docs/Experiment.md b/docs/Experiment.md new file mode 100644 index 00000000..511093e8 --- /dev/null +++ b/docs/Experiment.md @@ -0,0 +1,29 @@ + + +# Experiment + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**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. | +**isVariantAssignmentExternal** | **Boolean** | The source of the assignment. - false - The assignment to the variant is handled internally by the Talon.Oneandled internally by the Talon.One. - true - The assignment to the variant handled externally. | [optional] +**campaign** | [**Campaign**](Campaign.md) | | [optional] +**activated** | [**OffsetDateTime**](OffsetDateTime.md) | The date and time the experiment was activated. | [optional] +**state** | [**StateEnum**](#StateEnum) | A disabled experiment is not evaluated for rules or coupons. | [optional] +**variants** | [**List<ExperimentVariant>**](ExperimentVariant.md) | | [optional] +**deletedat** | [**OffsetDateTime**](OffsetDateTime.md) | The date and time the experiment was deleted. | [optional] + + + +## Enum: StateEnum + +Name | Value +---- | ----- +ENABLED | "enabled" +DISABLED | "disabled" + + + diff --git a/docs/ExperimentResults.md b/docs/ExperimentResults.md new file mode 100644 index 00000000..178a3623 --- /dev/null +++ b/docs/ExperimentResults.md @@ -0,0 +1,13 @@ + + +# ExperimentResults + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**variants** | [**List<ExperimentVariantResult>**](ExperimentVariantResult.md) | | [optional] +**confidence** | [**ExperimentVariantResultConfidence**](ExperimentVariantResultConfidence.md) | | + + + diff --git a/docs/ExperimentVariant.md b/docs/ExperimentVariant.md new file mode 100644 index 00000000..42933ff2 --- /dev/null +++ b/docs/ExperimentVariant.md @@ -0,0 +1,18 @@ + + +# ExperimentVariant + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **Long** | The internal ID of this entity. | +**created** | [**OffsetDateTime**](OffsetDateTime.md) | The time this entity was created. | +**name** | **String** | | +**experimentId** | **Long** | | [optional] +**ruleset** | [**Ruleset**](Ruleset.md) | | [optional] +**weight** | **Long** | | [optional] +**isPrimary** | **Boolean** | | + + + diff --git a/docs/ExperimentVariantAllocation.md b/docs/ExperimentVariantAllocation.md new file mode 100644 index 00000000..6b3a0ac0 --- /dev/null +++ b/docs/ExperimentVariantAllocation.md @@ -0,0 +1,13 @@ + + +# ExperimentVariantAllocation + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**experimentID** | **Long** | The ID of the experiment. | +**variantID** | **Long** | The ID of the variant to be allocated. | + + + diff --git a/docs/ExperimentVariantResult.md b/docs/ExperimentVariantResult.md new file mode 100644 index 00000000..093984b5 --- /dev/null +++ b/docs/ExperimentVariantResult.md @@ -0,0 +1,21 @@ + + +# ExperimentVariantResult + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**variantId** | **Long** | The ID of the variant. | [optional] +**variantName** | **String** | The name of the variant. | [optional] +**variantWeight** | **Long** | The weight of the variant. | [optional] +**totalRevenue** | [**BigDecimal**](BigDecimal.md) | The total, pre-discount value of all items purchased in a customer session. | [optional] +**sessionsCount** | [**BigDecimal**](BigDecimal.md) | The number of all closed sessions. | [optional] +**avgItemsPerSession** | [**BigDecimal**](BigDecimal.md) | The number of items from sessions divided by the number of sessions. | [optional] +**avgSessionValue** | [**BigDecimal**](BigDecimal.md) | The average customer session value, calculated by dividing the revenue value by the number of sessions. | [optional] +**avgDiscountedSessionValue** | [**BigDecimal**](BigDecimal.md) | The average customer session value, calculated by dividing the revenue value by the number of sessions. | [optional] +**totalDiscounts** | [**BigDecimal**](BigDecimal.md) | The total value of discounts given for cart items in sessions. | [optional] +**couponsCount** | [**BigDecimal**](BigDecimal.md) | The number of times a coupon was successfully redeemed in sessions. | [optional] + + + diff --git a/docs/ExperimentVariantResultConfidence.md b/docs/ExperimentVariantResultConfidence.md new file mode 100644 index 00000000..26c9ced4 --- /dev/null +++ b/docs/ExperimentVariantResultConfidence.md @@ -0,0 +1,14 @@ + + +# ExperimentVariantResultConfidence + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**avgSessionValue** | [**BigDecimal**](BigDecimal.md) | The calculated confidence value of the average customer session value. | +**avgDiscountedSessionValue** | [**BigDecimal**](BigDecimal.md) | The calculated confidence value of the average customer discounted session value. | +**avgItemsPerSession** | [**BigDecimal**](BigDecimal.md) | The calculated confidence value of the number of items from sessions value. | + + + diff --git a/docs/FuncArgDef.md b/docs/FuncArgDef.md index a48d2faa..b7056205 100644 --- a/docs/FuncArgDef.md +++ b/docs/FuncArgDef.md @@ -20,6 +20,7 @@ BOOLEAN | "boolean" NUMBER | "number" TIME | "time" _LIST_STRING_ | "(list string)" +_LIST_NUMBER_ | "(list number)" diff --git a/docs/InfluencingCampaignDetails.md b/docs/InfluencingCampaignDetails.md new file mode 100644 index 00000000..e9275cbc --- /dev/null +++ b/docs/InfluencingCampaignDetails.md @@ -0,0 +1,14 @@ + + +# InfluencingCampaignDetails + +Details about a campaign that influenced the final price. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**campaignId** | **Long** | Identifier of the campaign that influenced the final price. | +**discountValue** | [**BigDecimal**](BigDecimal.md) | Discount value applied by the campaign. | + + + diff --git a/docs/InlineResponse20050.md b/docs/InlineResponse20050.md index eca147aa..8922ecb8 100644 --- a/docs/InlineResponse20050.md +++ b/docs/InlineResponse20050.md @@ -6,8 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**hasMore** | **Boolean** | | [optional] -**data** | [**List<Achievement>**](Achievement.md) | | +**data** | [**List<CouponFailureSummary>**](CouponFailureSummary.md) | | diff --git a/docs/IntegrationApi.md b/docs/IntegrationApi.md index eb90399e..b2008836 100644 --- a/docs/IntegrationApi.md +++ b/docs/IntegrationApi.md @@ -14,6 +14,7 @@ Method | HTTP request | Description [**deleteAudienceV2**](IntegrationApi.md#deleteAudienceV2) | **DELETE** /v2/audiences/{audienceId} | Delete audience [**deleteCouponReservation**](IntegrationApi.md#deleteCouponReservation) | **DELETE** /v1/coupon_reservations/{couponValue} | Delete coupon reservations [**deleteCustomerData**](IntegrationApi.md#deleteCustomerData) | **DELETE** /v1/customer_data/{integrationId} | Delete customer's personal data +[**deleteLoyaltyTransactionsFromLedgers**](IntegrationApi.md#deleteLoyaltyTransactionsFromLedgers) | **POST** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/delete_transactions | Delete customer's transactions from loyalty ledgers [**generateLoyaltyCard**](IntegrationApi.md#generateLoyaltyCard) | **POST** /v1/loyalty_programs/{loyaltyProgramId}/cards | Generate loyalty card [**getCustomerAchievementHistory**](IntegrationApi.md#getCustomerAchievementHistory) | **GET** /v1/customer_profiles/{integrationId}/achievements/{achievementId} | List customer's achievement history [**getCustomerAchievements**](IntegrationApi.md#getCustomerAchievements) | **GET** /v1/customer_profiles/{integrationId}/achievements | List customer's available achievements @@ -801,6 +802,84 @@ null (empty response body) | **404** | Not found | - | +## deleteLoyaltyTransactionsFromLedgers + +> deleteLoyaltyTransactionsFromLedgers(loyaltyProgramId, integrationId, body) + +Delete customer's transactions from loyalty ledgers + +Delete a customer's transactions in all loyalty ledgers or a specified ledger. **Note:** To retrieve loyalty transaction logs for a specific customer in a given loyalty program, use the [List customer's loyalty transactions](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions) endpoint. + +### Example + +```java +// Import classes: +import one.talon.ApiClient; +import one.talon.ApiException; +import one.talon.Configuration; +import one.talon.auth.*; +import one.talon.models.*; +import one.talon.api.IntegrationApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://yourbaseurl.talon.one"); + + // Configure API key authorization: api_key_v1 + ApiKeyAuth api_key_v1 = (ApiKeyAuth) defaultClient.getAuthentication("api_key_v1"); + api_key_v1.setApiKey("YOUR API KEY"); + // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) + //api_key_v1.setApiKeyPrefix("Token"); + + IntegrationApi apiInstance = new IntegrationApi(defaultClient); + Long loyaltyProgramId = 56L; // Long | Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. + String integrationId = "integrationId_example"; // String | The integration ID of the customer profile. You can get the `integrationId` of a profile using: - A customer session integration ID with the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. - The Management API with the [List application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. + DeleteLoyaltyTransactionsRequest body = new DeleteLoyaltyTransactionsRequest(); // DeleteLoyaltyTransactionsRequest | + try { + apiInstance.deleteLoyaltyTransactionsFromLedgers(loyaltyProgramId, integrationId, body); + } catch (ApiException e) { + System.err.println("Exception when calling IntegrationApi#deleteLoyaltyTransactionsFromLedgers"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **loyaltyProgramId** | **Long**| Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. | + **integrationId** | **String**| The integration ID of the customer profile. You can get the `integrationId` of a profile using: - A customer session integration ID with the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. - The Management API with the [List application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. | + **body** | [**DeleteLoyaltyTransactionsRequest**](DeleteLoyaltyTransactionsRequest.md)| | + +### Return type cool + +null (empty response body) + +### Authorization + +[api_key_v1](../README.md#api_key_v1) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **204** | No Content | - | +| **400** | Bad request | - | +| **401** | Unauthorized | - | +| **404** | Not found | - | + + ## generateLoyaltyCard > LoyaltyCard generateLoyaltyCard(loyaltyProgramId, body) diff --git a/docs/ManagementApi.md b/docs/ManagementApi.md index 605ce03a..004852a8 100644 --- a/docs/ManagementApi.md +++ b/docs/ManagementApi.md @@ -59,6 +59,7 @@ Method | HTTP request | Description [**exportLoyaltyLedger**](ManagementApi.md#exportLoyaltyLedger) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/export_log | Export customer's transaction logs [**exportPoolGiveaways**](ManagementApi.md#exportPoolGiveaways) | **GET** /v1/giveaways/pools/{poolId}/export | Export giveaway codes of a giveaway pool [**exportReferrals**](ManagementApi.md#exportReferrals) | **GET** /v1/applications/{applicationId}/export_referrals | Export referrals +[**generateCouponRejections**](ManagementApi.md#generateCouponRejections) | **GET** /v1/coupon_rejections | Summarize coupon redemption failures in session [**getAccessLogsWithoutTotalCount**](ManagementApi.md#getAccessLogsWithoutTotalCount) | **GET** /v1/applications/{applicationId}/access_logs/no_total | Get access logs for Application [**getAccount**](ManagementApi.md#getAccount) | **GET** /v1/accounts/{accountId} | Get account details [**getAccountAnalytics**](ManagementApi.md#getAccountAnalytics) | **GET** /v1/accounts/{accountId}/analytics | Get account analytics @@ -4467,7 +4468,7 @@ public class Example { ManagementApi apiInstance = new ManagementApi(defaultClient); String loyaltyProgramId = "loyaltyProgramId_example"; // String | The identifier for the loyalty program. - OffsetDateTime endDate = new OffsetDateTime(); // OffsetDateTime | Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. + OffsetDateTime endDate = new OffsetDateTime(); // OffsetDateTime | Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. - This parameter does not affect the `currentTier` field in the CSV file, which shows the customer's tier at the time of export. try { String result = apiInstance.exportLoyaltyBalances(loyaltyProgramId, endDate); System.out.println(result); @@ -4488,7 +4489,7 @@ public class Example { Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **loyaltyProgramId** | **String**| The identifier for the loyalty program. | - **endDate** | **OffsetDateTime**| Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. | [optional] + **endDate** | **OffsetDateTime**| Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. - This parameter does not affect the `currentTier` field in the CSV file, which shows the customer's tier at the time of export. | [optional] ### Return type cool @@ -5066,6 +5067,96 @@ Name | Type | Description | Notes | **200** | OK | - | +## generateCouponRejections + +> InlineResponse20050 generateCouponRejections(sessionIntegrationId, applicationId, language, couponCode) + +Summarize coupon redemption failures in session + +Create a summary of the reasons for coupon redemption failures in a given customer session. + +### Example + +```java +// Import classes: +import one.talon.ApiClient; +import one.talon.ApiException; +import one.talon.Configuration; +import one.talon.auth.*; +import one.talon.models.*; +import one.talon.api.ManagementApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://yourbaseurl.talon.one"); + + // Configure API key authorization: api_key_v1 + ApiKeyAuth api_key_v1 = (ApiKeyAuth) defaultClient.getAuthentication("api_key_v1"); + api_key_v1.setApiKey("YOUR API KEY"); + // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) + //api_key_v1.setApiKeyPrefix("Token"); + + // Configure API key authorization: management_key + ApiKeyAuth management_key = (ApiKeyAuth) defaultClient.getAuthentication("management_key"); + management_key.setApiKey("YOUR API KEY"); + // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) + //management_key.setApiKeyPrefix("Token"); + + // Configure API key authorization: manager_auth + ApiKeyAuth manager_auth = (ApiKeyAuth) defaultClient.getAuthentication("manager_auth"); + manager_auth.setApiKey("YOUR API KEY"); + // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) + //manager_auth.setApiKeyPrefix("Token"); + + ManagementApi apiInstance = new ManagementApi(defaultClient); + String sessionIntegrationId = "sessionIntegrationId_example"; // String | The integration ID of the session to summarize. + BigDecimal applicationId = new BigDecimal(); // BigDecimal | Filter results by Application ID. + String language = "language_example"; // String | The [ISO-639](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) code of the language in which the summary will be generated. + String couponCode = "couponCode_example"; // String | The coupon code for which to get the rejection reason. + try { + InlineResponse20050 result = apiInstance.generateCouponRejections(sessionIntegrationId, applicationId, language, couponCode); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ManagementApi#generateCouponRejections"); + 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 +------------- | ------------- | ------------- | ------------- + **sessionIntegrationId** | **String**| The integration ID of the session to summarize. | + **applicationId** | **BigDecimal**| Filter results by Application ID. | [optional] + **language** | **String**| The [ISO-639](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) code of the language in which the summary will be generated. | [optional] + **couponCode** | **String**| The coupon code for which to get the rejection reason. | [optional] + +### Return type cool + +[**InlineResponse20050**](InlineResponse20050.md) + +### Authorization + +[api_key_v1](../README.md#api_key_v1), [management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + + ## getAccessLogsWithoutTotalCount > InlineResponse20022 getAccessLogsWithoutTotalCount(applicationId, rangeStart, rangeEnd, path, method, status, pageSize, skip, sort) diff --git a/docs/NewCampaign.md b/docs/NewCampaign.md index b165eaee..9440e049 100644 --- a/docs/NewCampaign.md +++ b/docs/NewCampaign.md @@ -14,6 +14,7 @@ Name | Type | Description | Notes **state** | [**StateEnum**](#StateEnum) | A disabled or archived campaign is not evaluated for rules or coupons. | **activeRulesetId** | **Long** | [ID of Ruleset](https://docs.talon.one/management-api#operation/getRulesets) this campaign applies on customer session evaluation. | [optional] **tags** | **List<String>** | A list of tags for the campaign. | +**reevaluateOnReturn** | **Boolean** | Indicates whether this campaign should be reevaluated when a customer returns an item. | [optional] **features** | [**List<FeaturesEnum>**](#List<FeaturesEnum>) | The features enabled in this campaign. | **couponSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional] **referralSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional] diff --git a/docs/NewCampaignTemplate.md b/docs/NewCampaignTemplate.md index 138feb50..5b5d1f19 100644 --- a/docs/NewCampaignTemplate.md +++ b/docs/NewCampaignTemplate.md @@ -13,6 +13,7 @@ Name | Type | Description | Notes **couponAttributes** | [**Object**](.md) | The campaign attributes that coupons created from this template will have by default. | [optional] **state** | [**StateEnum**](#StateEnum) | Only Campaign Templates in 'available' state may be used to create Campaigns. | **tags** | **List<String>** | A list of tags for the campaign template. | [optional] +**reevaluateOnReturn** | **Boolean** | Indicates whether campaigns created from this template should be reevaluated when a customer returns an item. | [optional] **features** | [**List<FeaturesEnum>**](#List<FeaturesEnum>) | A list of features for the campaign template. | [optional] **couponSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional] **couponReservationSettings** | [**CampaignTemplateCouponReservationSettings**](CampaignTemplateCouponReservationSettings.md) | | [optional] diff --git a/docs/NewCollectionsCatalog.md b/docs/NewCollectionsCatalog.md new file mode 100644 index 00000000..ccadc5e3 --- /dev/null +++ b/docs/NewCollectionsCatalog.md @@ -0,0 +1,27 @@ + + +# NewCollectionsCatalog + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**title** | **String** | The display name for the collection catalog. | +**description** | **String** | A longer, more detailed description of the collection catalog. | [optional] +**category** | [**CategoryEnum**](#CategoryEnum) | Category used to group collection catalogs. | [optional] +**rules** | [**List<CatalogRule>**](CatalogRule.md) | Array of rules to store in this collection catalog. Rules should only contain title (no description, as description is at the collection catalog level). At least one rule or cart item filter is required. | [optional] +**cartItemFilters** | [**List<CartItemFilterTemplate>**](CartItemFilterTemplate.md) | Array of cart item filters to store in this collection catalog. If not provided, will be extracted from the rules. Cart item filters should only contain name (no description, as description is at the collection catalog level). | [optional] + + + +## Enum: CategoryEnum + +Name | Value +---- | ----- +PROMOTIONS | "promotions" +PRICING | "pricing" +LOYALTY | "loyalty" +CUSTOM | "custom" + + + diff --git a/docs/NewCouponCreationJob.md b/docs/NewCouponCreationJob.md index aca9ab0d..25a84145 100644 --- a/docs/NewCouponCreationJob.md +++ b/docs/NewCouponCreationJob.md @@ -14,6 +14,7 @@ Name | Type | Description | Notes **numberOfCoupons** | **Long** | The number of new coupon codes to generate for the campaign. | **couponSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional] **attributes** | [**Object**](.md) | Arbitrary properties associated with coupons. | +**isReservationMandatory** | **Boolean** | An indication of whether the code can be redeemed only if it has been reserved first. | [optional] diff --git a/docs/NewCustomerSessionV2.md b/docs/NewCustomerSessionV2.md index dacef5fe..fea87e4d 100644 --- a/docs/NewCustomerSessionV2.md +++ b/docs/NewCustomerSessionV2.md @@ -15,6 +15,7 @@ Name | Type | Description | Notes **loyaltyCards** | **List<String>** | Identifier of a loyalty card. | [optional] **state** | [**StateEnum**](#StateEnum) | 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). | [optional] **cartItems** | [**List<CartItem>**](CartItem.md) | 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. | [optional] +**experimentVariantAllocations** | [**List<ExperimentVariantAllocation>**](ExperimentVariantAllocation.md) | The experiment variant allocations to add to this session. | [optional] **additionalCosts** | [**Map<String, AdditionalCost>**](AdditionalCost.md) | 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). | [optional] **identifiers** | **List<String>** | 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. | [optional] **attributes** | [**Object**](.md) | 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. | [optional] diff --git a/docs/NewExperiment.md b/docs/NewExperiment.md new file mode 100644 index 00000000..3830c67e --- /dev/null +++ b/docs/NewExperiment.md @@ -0,0 +1,24 @@ + + +# NewExperiment + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isVariantAssignmentExternal** | **Boolean** | The source of the assignment. - false - The assignment to the variant is handled internally by the Talon.Oneandled internally by the Talon.One. - true - The assignment to the variant handled externally. | +**activated** | [**OffsetDateTime**](OffsetDateTime.md) | The date and time the experiment was activated. | [optional] +**state** | [**StateEnum**](#StateEnum) | A disabled experiment is not evaluated for rules or coupons. | [optional] +**campaign** | [**NewCampaign**](NewCampaign.md) | | + + + +## Enum: StateEnum + +Name | Value +---- | ----- +ENABLED | "enabled" +DISABLED | "disabled" + + + diff --git a/docs/NewExperimentVariant.md b/docs/NewExperimentVariant.md new file mode 100644 index 00000000..f3e52371 --- /dev/null +++ b/docs/NewExperimentVariant.md @@ -0,0 +1,15 @@ + + +# NewExperimentVariant + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | The name of this variant. | +**weight** | **Long** | | [optional] +**ruleset** | [**NewRuleset**](NewRuleset.md) | | +**isPrimary** | **Boolean** | | + + + diff --git a/docs/NewExperimentVariantArray.md b/docs/NewExperimentVariantArray.md new file mode 100644 index 00000000..6e463ee1 --- /dev/null +++ b/docs/NewExperimentVariantArray.md @@ -0,0 +1,12 @@ + + +# NewExperimentVariantArray + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**variants** | [**List<NewExperimentVariant>**](NewExperimentVariant.md) | Array of experiment variants to create | + + + diff --git a/docs/NewRevisionVersion.md b/docs/NewRevisionVersion.md index c1e8104d..176aaa3b 100644 --- a/docs/NewRevisionVersion.md +++ b/docs/NewRevisionVersion.md @@ -11,12 +11,13 @@ 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** | **Integer** | The ID of the ruleset this campaign template will use. | [optional] -**tags** | **List<String>** | A list of tags for the campaign template. | [optional] +**activeRulesetId** | **Integer** | The ID of the ruleset this campaign will use. | [optional] +**tags** | **List<String>** | A list of tags for the campaign. | [optional] **couponSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional] **referralSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional] **limits** | [**List<LimitConfig>**](LimitConfig.md) | The set of limits that will operate for this campaign version. | [optional] -**features** | [**List<FeaturesEnum>**](#List<FeaturesEnum>) | A list of features for the campaign template. | [optional] +**reevaluateOnReturn** | **Boolean** | Indicates whether this campaign should be reevaluated when a customer returns an item. | [optional] +**features** | [**List<FeaturesEnum>**](#List<FeaturesEnum>) | A list of features for the campaign. | [optional] diff --git a/docs/PrismaticFlowConfig.md b/docs/PrismaticFlowConfig.md index 50ad9a2c..7dee284a 100644 --- a/docs/PrismaticFlowConfig.md +++ b/docs/PrismaticFlowConfig.md @@ -7,6 +7,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **apiKey** | **String** | | +**workerCount** | **Long** | Number of Prismatic workers to run in parallel for this flow (maximum 500). | [optional] +**maxEventsPerMessage** | **Long** | Maximum number of events to send in a single message to Prismatic. | [optional] +**maxRetries** | **Long** | Maximum number of retries for a Prismatic event before it is ignored. | [optional] diff --git a/docs/RevisionVersion.md b/docs/RevisionVersion.md index 9e9f34b2..8a3e4b48 100644 --- a/docs/RevisionVersion.md +++ b/docs/RevisionVersion.md @@ -19,12 +19,13 @@ 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** | **Integer** | The ID of the ruleset this campaign template will use. | [optional] -**tags** | **List<String>** | A list of tags for the campaign template. | [optional] +**activeRulesetId** | **Integer** | The ID of the ruleset this campaign will use. | [optional] +**tags** | **List<String>** | A list of tags for the campaign. | [optional] **couponSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional] **referralSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional] **limits** | [**List<LimitConfig>**](LimitConfig.md) | The set of limits that will operate for this campaign version. | [optional] -**features** | [**List<FeaturesEnum>**](#List<FeaturesEnum>) | A list of features for the campaign template. | [optional] +**reevaluateOnReturn** | **Boolean** | Indicates whether this campaign should be reevaluated when a customer returns an item. | [optional] +**features** | [**List<FeaturesEnum>**](#List<FeaturesEnum>) | A list of features for the campaign. | [optional] diff --git a/docs/TemplateArgDef.md b/docs/TemplateArgDef.md index c6317b6e..656550cb 100644 --- a/docs/TemplateArgDef.md +++ b/docs/TemplateArgDef.md @@ -25,6 +25,7 @@ BOOLEAN | "boolean" NUMBER | "number" TIME | "time" _LIST_STRING_ | "(list string)" +_LIST_NUMBER_ | "(list number)" diff --git a/docs/UpdateCampaign.md b/docs/UpdateCampaign.md index 5a9a231c..f1bcdc71 100644 --- a/docs/UpdateCampaign.md +++ b/docs/UpdateCampaign.md @@ -14,6 +14,7 @@ Name | Type | Description | Notes **state** | [**StateEnum**](#StateEnum) | A disabled or archived campaign is not evaluated for rules or coupons. | [optional] **activeRulesetId** | **Long** | [ID of Ruleset](https://docs.talon.one/management-api#operation/getRulesets) this campaign applies on customer session evaluation. | [optional] **tags** | **List<String>** | A list of tags for the campaign. | +**reevaluateOnReturn** | **Boolean** | Indicates whether this campaign should be reevaluated when a customer returns an item. | [optional] **features** | [**List<FeaturesEnum>**](#List<FeaturesEnum>) | A list of features for the campaign. | **couponSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional] **referralSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional] diff --git a/docs/UpdateCampaignTemplate.md b/docs/UpdateCampaignTemplate.md index 2036e4a4..b81bc83d 100644 --- a/docs/UpdateCampaignTemplate.md +++ b/docs/UpdateCampaignTemplate.md @@ -14,6 +14,7 @@ Name | Type | Description | Notes **state** | [**StateEnum**](#StateEnum) | Only campaign templates in 'available' state may be used to create campaigns. | **activeRulesetId** | **Long** | The ID of the ruleset this campaign template will use. | [optional] **tags** | **List<String>** | A list of tags for the campaign template. | [optional] +**reevaluateOnReturn** | **Boolean** | Indicates whether campaigns created from this template should be reevaluated when a customer returns an item. | [optional] **features** | [**List<FeaturesEnum>**](#List<FeaturesEnum>) | A list of features for the campaign template. | [optional] **couponSettings** | [**CodeGeneratorSettings**](CodeGeneratorSettings.md) | | [optional] **couponReservationSettings** | [**CampaignTemplateCouponReservationSettings**](CampaignTemplateCouponReservationSettings.md) | | [optional] diff --git a/docs/UpdateCollectionsCatalog.md b/docs/UpdateCollectionsCatalog.md new file mode 100644 index 00000000..711b815c --- /dev/null +++ b/docs/UpdateCollectionsCatalog.md @@ -0,0 +1,27 @@ + + +# UpdateCollectionsCatalog + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**title** | **String** | The display name for the collection catalog. | [optional] +**description** | **String** | A longer, more detailed description of the collection catalog. | [optional] +**category** | [**CategoryEnum**](#CategoryEnum) | Category used to group collection catalogs. | [optional] +**rules** | [**List<CatalogRule>**](CatalogRule.md) | Replaces the stored rules. Rules should only contain title (no description, as description is at the collection catalog level). | [optional] +**cartItemFilters** | [**List<CartItemFilterTemplate>**](CartItemFilterTemplate.md) | Replaces the stored cart item filters. Cart item filters should only contain name (no description, as description is at the collection catalog level). | [optional] + + + +## Enum: CategoryEnum + +Name | Value +---- | ----- +PROMOTIONS | "promotions" +PRICING | "pricing" +LOYALTY | "loyalty" +CUSTOM | "custom" + + + diff --git a/docs/UpdateExperiment.md b/docs/UpdateExperiment.md new file mode 100644 index 00000000..97ce33b8 --- /dev/null +++ b/docs/UpdateExperiment.md @@ -0,0 +1,13 @@ + + +# UpdateExperiment + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isVariantAssignmentExternal** | **Boolean** | The source of the assignment. - false - The assignment to the variant is handled internally by the Talon.Oneandled internally by the Talon.One. - true - The assignment to the variant handled externally. | +**campaign** | [**UpdateCampaign**](UpdateCampaign.md) | | + + + diff --git a/docs/UpdateExperimentVariant.md b/docs/UpdateExperimentVariant.md new file mode 100644 index 00000000..a673bb1f --- /dev/null +++ b/docs/UpdateExperimentVariant.md @@ -0,0 +1,15 @@ + + +# UpdateExperimentVariant + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **Long** | | +**name** | **String** | | +**ruleset** | [**NewRuleset**](NewRuleset.md) | | +**weight** | **Long** | | + + + diff --git a/docs/UpdateExperimentVariantArray.md b/docs/UpdateExperimentVariantArray.md new file mode 100644 index 00000000..a6cc0096 --- /dev/null +++ b/docs/UpdateExperimentVariantArray.md @@ -0,0 +1,12 @@ + + +# UpdateExperimentVariantArray + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**variants** | [**List<UpdateExperimentVariant>**](UpdateExperimentVariant.md) | Array of experiment variants to update | + + + diff --git a/pom.xml b/pom.xml index aa53fa2f..d80024d5 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ talon-one-client jar talon-one-client - 14.1.1 + 14.2.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 4b672422..aa1ae6fa 100644 --- a/src/main/java/one/talon/ApiClient.java +++ b/src/main/java/one/talon/ApiClient.java @@ -132,7 +132,7 @@ private void init() { json = new JSON(); // Set default User-Agent. - setUserAgent("OpenAPI-Generator/14.1.1/java"); + setUserAgent("OpenAPI-Generator/14.2.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 ee38f008..ceb9b24d 100644 --- a/src/main/java/one/talon/api/IntegrationApi.java +++ b/src/main/java/one/talon/api/IntegrationApi.java @@ -40,6 +40,7 @@ import one.talon.model.CustomerProfileAudienceRequest; import one.talon.model.CustomerProfileIntegrationRequestV2; import one.talon.model.CustomerProfileIntegrationResponseV2; +import one.talon.model.DeleteLoyaltyTransactionsRequest; import one.talon.model.ErrorResponse; import one.talon.model.ErrorResponseWithStatus; import one.talon.model.GenerateLoyaltyCard; @@ -1317,6 +1318,144 @@ public okhttp3.Call deleteCustomerDataAsync(String integrationId, final ApiCallb localVarApiClient.executeAsync(localVarCall, _callback); return localVarCall; } + /** + * Build call for deleteLoyaltyTransactionsFromLedgers + * @param loyaltyProgramId Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. (required) + * @param integrationId The integration ID of the customer profile. You can get the `integrationId` of a profile using: - A customer session integration ID with the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. - The Management API with the [List application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. (required) + * @param 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 deleteLoyaltyTransactionsFromLedgersCall(Long loyaltyProgramId, String integrationId, DeleteLoyaltyTransactionsRequest body, final ApiCallback _callback) throws ApiException { + Object localVarPostBody = body; + + // create path and map variables + String localVarPath = "/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/delete_transactions" + .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[] { "api_key_v1" }; + return localVarApiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call deleteLoyaltyTransactionsFromLedgersValidateBeforeCall(Long loyaltyProgramId, String integrationId, DeleteLoyaltyTransactionsRequest 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 deleteLoyaltyTransactionsFromLedgers(Async)"); + } + + // verify the required parameter 'integrationId' is set + if (integrationId == null) { + throw new ApiException("Missing the required parameter 'integrationId' when calling deleteLoyaltyTransactionsFromLedgers(Async)"); + } + + // verify the required parameter 'body' is set + if (body == null) { + throw new ApiException("Missing the required parameter 'body' when calling deleteLoyaltyTransactionsFromLedgers(Async)"); + } + + + okhttp3.Call localVarCall = deleteLoyaltyTransactionsFromLedgersCall(loyaltyProgramId, integrationId, body, _callback); + return localVarCall; + + } + + /** + * Delete customer's transactions from loyalty ledgers + * Delete a customer's transactions in all loyalty ledgers or a specified ledger. **Note:** To retrieve loyalty transaction logs for a specific customer in a given loyalty program, use the [List customer's loyalty transactions](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions) endpoint. + * @param loyaltyProgramId Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. (required) + * @param integrationId The integration ID of the customer profile. You can get the `integrationId` of a profile using: - A customer session integration ID with the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. - The Management API with the [List application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. (required) + * @param 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 deleteLoyaltyTransactionsFromLedgers(Long loyaltyProgramId, String integrationId, DeleteLoyaltyTransactionsRequest body) throws ApiException { + deleteLoyaltyTransactionsFromLedgersWithHttpInfo(loyaltyProgramId, integrationId, body); + } + + /** + * Delete customer's transactions from loyalty ledgers + * Delete a customer's transactions in all loyalty ledgers or a specified ledger. **Note:** To retrieve loyalty transaction logs for a specific customer in a given loyalty program, use the [List customer's loyalty transactions](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions) endpoint. + * @param loyaltyProgramId Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. (required) + * @param integrationId The integration ID of the customer profile. You can get the `integrationId` of a profile using: - A customer session integration ID with the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. - The Management API with the [List application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. (required) + * @param 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 deleteLoyaltyTransactionsFromLedgersWithHttpInfo(Long loyaltyProgramId, String integrationId, DeleteLoyaltyTransactionsRequest body) throws ApiException { + okhttp3.Call localVarCall = deleteLoyaltyTransactionsFromLedgersValidateBeforeCall(loyaltyProgramId, integrationId, body, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Delete customer's transactions from loyalty ledgers (asynchronously) + * Delete a customer's transactions in all loyalty ledgers or a specified ledger. **Note:** To retrieve loyalty transaction logs for a specific customer in a given loyalty program, use the [List customer's loyalty transactions](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions) endpoint. + * @param loyaltyProgramId Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. (required) + * @param integrationId The integration ID of the customer profile. You can get the `integrationId` of a profile using: - A customer session integration ID with the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. - The Management API with the [List application's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint. (required) + * @param 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 deleteLoyaltyTransactionsFromLedgersAsync(Long loyaltyProgramId, String integrationId, DeleteLoyaltyTransactionsRequest body, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = deleteLoyaltyTransactionsFromLedgersValidateBeforeCall(loyaltyProgramId, integrationId, body, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } /** * Build call for generateLoyaltyCard * @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/api/ManagementApi.java b/src/main/java/one/talon/api/ManagementApi.java index 7b4c6992..f162281d 100644 --- a/src/main/java/one/talon/api/ManagementApi.java +++ b/src/main/java/one/talon/api/ManagementApi.java @@ -98,6 +98,7 @@ import one.talon.model.InlineResponse20047; import one.talon.model.InlineResponse20048; import one.talon.model.InlineResponse20049; +import one.talon.model.InlineResponse20050; import one.talon.model.InlineResponse2007; import one.talon.model.InlineResponse2008; import one.talon.model.InlineResponse2009; @@ -6429,7 +6430,7 @@ public okhttp3.Call exportLoyaltyBalanceAsync(String loyaltyProgramId, OffsetDat /** * Build call for exportLoyaltyBalances * @param loyaltyProgramId The identifier for the loyalty program. (required) - * @param endDate Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + * @param endDate Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. - This parameter does not affect the `currentTier` field in the CSV file, which shows the customer's tier at the time of export. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -6493,7 +6494,7 @@ private okhttp3.Call exportLoyaltyBalancesValidateBeforeCall(String loyaltyProgr * Export customer loyalty balances * Download a CSV file containing the balance of each customer in the 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 generated file can contain the following columns: - `loyaltyProgramID`: The ID of the loyalty program. - `loyaltySubledger`: The name of the subdleger, when applicatble. - `profileIntegrationID`: The integration ID of the customer profile. - `currentBalance`: The current point balance. - `pendingBalance`: The number of pending points. - `expiredBalance`: The number of expired points. - `spentBalance`: The number of spent points. - `currentTier`: The tier that the customer is in at the time of the export. * @param loyaltyProgramId The identifier for the loyalty program. (required) - * @param endDate Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + * @param endDate Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. - This parameter does not affect the `currentTier` field in the CSV file, which shows the customer's tier at the time of export. (optional) * @return String * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details @@ -6513,7 +6514,7 @@ public String exportLoyaltyBalances(String loyaltyProgramId, OffsetDateTime endD * Export customer loyalty balances * Download a CSV file containing the balance of each customer in the 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 generated file can contain the following columns: - `loyaltyProgramID`: The ID of the loyalty program. - `loyaltySubledger`: The name of the subdleger, when applicatble. - `profileIntegrationID`: The integration ID of the customer profile. - `currentBalance`: The current point balance. - `pendingBalance`: The number of pending points. - `expiredBalance`: The number of expired points. - `spentBalance`: The number of spent points. - `currentTier`: The tier that the customer is in at the time of the export. * @param loyaltyProgramId The identifier for the loyalty program. (required) - * @param endDate Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + * @param endDate Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. - This parameter does not affect the `currentTier` field in the CSV file, which shows the customer's tier at the time of export. (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 @@ -6534,7 +6535,7 @@ public ApiResponse exportLoyaltyBalancesWithHttpInfo(String loyaltyProgr * Export customer loyalty balances (asynchronously) * Download a CSV file containing the balance of each customer in the 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 generated file can contain the following columns: - `loyaltyProgramID`: The ID of the loyalty program. - `loyaltySubledger`: The name of the subdleger, when applicatble. - `profileIntegrationID`: The integration ID of the customer profile. - `currentBalance`: The current point balance. - `pendingBalance`: The number of pending points. - `expiredBalance`: The number of expired points. - `spentBalance`: The number of spent points. - `currentTier`: The tier that the customer is in at the time of the export. * @param loyaltyProgramId The identifier for the loyalty program. (required) - * @param endDate Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. (optional) + * @param endDate Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered. - This parameter does not affect the `currentTier` field in the CSV file, which shows the customer's tier at the time of export. (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 @@ -7447,6 +7448,144 @@ public okhttp3.Call exportReferralsAsync(Long applicationId, BigDecimal campaign localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } + /** + * Build call for generateCouponRejections + * @param sessionIntegrationId The integration ID of the session to summarize. (required) + * @param applicationId Filter results by Application ID. (optional) + * @param language The [ISO-639](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) code of the language in which the summary will be generated. (optional) + * @param couponCode The coupon code for which to get the rejection reason. (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 generateCouponRejectionsCall(String sessionIntegrationId, BigDecimal applicationId, String language, String couponCode, final ApiCallback _callback) throws ApiException { + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/coupon_rejections"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + if (sessionIntegrationId != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("sessionIntegrationId", sessionIntegrationId)); + } + + if (applicationId != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("applicationId", applicationId)); + } + + if (language != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("language", language)); + } + + if (couponCode != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("couponCode", couponCode)); + } + + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + localVarHeaderParams.put("Content-Type", localVarContentType); + + String[] localVarAuthNames = new String[] { "api_key_v1", "management_key", "manager_auth" }; + return localVarApiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call generateCouponRejectionsValidateBeforeCall(String sessionIntegrationId, BigDecimal applicationId, String language, String couponCode, final ApiCallback _callback) throws ApiException { + + // verify the required parameter 'sessionIntegrationId' is set + if (sessionIntegrationId == null) { + throw new ApiException("Missing the required parameter 'sessionIntegrationId' when calling generateCouponRejections(Async)"); + } + + + okhttp3.Call localVarCall = generateCouponRejectionsCall(sessionIntegrationId, applicationId, language, couponCode, _callback); + return localVarCall; + + } + + /** + * Summarize coupon redemption failures in session + * Create a summary of the reasons for coupon redemption failures in a given customer session. + * @param sessionIntegrationId The integration ID of the session to summarize. (required) + * @param applicationId Filter results by Application ID. (optional) + * @param language The [ISO-639](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) code of the language in which the summary will be generated. (optional) + * @param couponCode The coupon code for which to get the rejection reason. (optional) + * @return InlineResponse20050 + * @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 InlineResponse20050 generateCouponRejections(String sessionIntegrationId, BigDecimal applicationId, String language, String couponCode) throws ApiException { + ApiResponse localVarResp = generateCouponRejectionsWithHttpInfo(sessionIntegrationId, applicationId, language, couponCode); + return localVarResp.getData(); + } + + /** + * Summarize coupon redemption failures in session + * Create a summary of the reasons for coupon redemption failures in a given customer session. + * @param sessionIntegrationId The integration ID of the session to summarize. (required) + * @param applicationId Filter results by Application ID. (optional) + * @param language The [ISO-639](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) code of the language in which the summary will be generated. (optional) + * @param couponCode The coupon code for which to get the rejection reason. (optional) + * @return ApiResponse<InlineResponse20050> + * @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 generateCouponRejectionsWithHttpInfo(String sessionIntegrationId, BigDecimal applicationId, String language, String couponCode) throws ApiException { + okhttp3.Call localVarCall = generateCouponRejectionsValidateBeforeCall(sessionIntegrationId, applicationId, language, couponCode, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Summarize coupon redemption failures in session (asynchronously) + * Create a summary of the reasons for coupon redemption failures in a given customer session. + * @param sessionIntegrationId The integration ID of the session to summarize. (required) + * @param applicationId Filter results by Application ID. (optional) + * @param language The [ISO-639](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) code of the language in which the summary will be generated. (optional) + * @param couponCode The coupon code for which to get the rejection reason. (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 generateCouponRejectionsAsync(String sessionIntegrationId, BigDecimal applicationId, String language, String couponCode, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = generateCouponRejectionsValidateBeforeCall(sessionIntegrationId, applicationId, language, couponCode, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } /** * Build call for getAccessLogsWithoutTotalCount * @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required) diff --git a/src/main/java/one/talon/model/AdditionalCampaignProperties.java b/src/main/java/one/talon/model/AdditionalCampaignProperties.java index f1f6f967..c30266f7 100644 --- a/src/main/java/one/talon/model/AdditionalCampaignProperties.java +++ b/src/main/java/one/talon/model/AdditionalCampaignProperties.java @@ -185,6 +185,10 @@ public FrontendStateEnum read(final JsonReader jsonReader) throws IOException { @SerializedName(SERIALIZED_NAME_VALUE_MAPS_IDS) private List valueMapsIds = null; + public static final String SERIALIZED_NAME_EXPERIMENT_ID = "experimentId"; + @SerializedName(SERIALIZED_NAME_EXPERIMENT_ID) + private Long experimentId; + public AdditionalCampaignProperties budgets(List budgets) { @@ -752,6 +756,29 @@ public void setValueMapsIds(List valueMapsIds) { } + public AdditionalCampaignProperties experimentId(Long experimentId) { + + this.experimentId = experimentId; + return this; + } + + /** + * The ID of the Experiment this Campaign is part of. + * @return experimentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", value = "The ID of the Experiment this Campaign is part of.") + + public Long getExperimentId() { + return experimentId; + } + + + public void setExperimentId(Long experimentId) { + this.experimentId = experimentId; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -784,12 +811,13 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.templateId, additionalCampaignProperties.templateId) && Objects.equals(this.frontendState, additionalCampaignProperties.frontendState) && Objects.equals(this.storesImported, additionalCampaignProperties.storesImported) && - Objects.equals(this.valueMapsIds, additionalCampaignProperties.valueMapsIds); + Objects.equals(this.valueMapsIds, additionalCampaignProperties.valueMapsIds) && + Objects.equals(this.experimentId, additionalCampaignProperties.experimentId); } @Override public int hashCode() { - return Objects.hash(budgets, couponRedemptionCount, referralRedemptionCount, discountCount, discountEffectCount, couponCreationCount, customEffectCount, referralCreationCount, addFreeItemEffectCount, awardedGiveawaysCount, createdLoyaltyPointsCount, createdLoyaltyPointsEffectCount, redeemedLoyaltyPointsCount, redeemedLoyaltyPointsEffectCount, callApiEffectCount, reservecouponEffectCount, lastActivity, updated, createdBy, updatedBy, templateId, frontendState, storesImported, valueMapsIds); + return Objects.hash(budgets, couponRedemptionCount, referralRedemptionCount, discountCount, discountEffectCount, couponCreationCount, customEffectCount, referralCreationCount, addFreeItemEffectCount, awardedGiveawaysCount, createdLoyaltyPointsCount, createdLoyaltyPointsEffectCount, redeemedLoyaltyPointsCount, redeemedLoyaltyPointsEffectCount, callApiEffectCount, reservecouponEffectCount, lastActivity, updated, createdBy, updatedBy, templateId, frontendState, storesImported, valueMapsIds, experimentId); } @@ -821,6 +849,7 @@ public String toString() { sb.append(" frontendState: ").append(toIndentedString(frontendState)).append("\n"); sb.append(" storesImported: ").append(toIndentedString(storesImported)).append("\n"); sb.append(" valueMapsIds: ").append(toIndentedString(valueMapsIds)).append("\n"); + sb.append(" experimentId: ").append(toIndentedString(experimentId)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/one/talon/model/AdjustmentDetails.java b/src/main/java/one/talon/model/AdjustmentDetails.java new file mode 100644 index 00000000..6c319c53 --- /dev/null +++ b/src/main/java/one/talon/model/AdjustmentDetails.java @@ -0,0 +1,156 @@ +/* + * 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; + +/** + * Details about an applied price adjustment. + */ +@ApiModel(description = "Details about an applied price adjustment.") + +public class AdjustmentDetails { + public static final String SERIALIZED_NAME_REFERENCE_ID = "referenceId"; + @SerializedName(SERIALIZED_NAME_REFERENCE_ID) + private String referenceId; + + 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_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private BigDecimal value; + + + public AdjustmentDetails referenceId(String referenceId) { + + this.referenceId = referenceId; + return this; + } + + /** + * The reference identifier used during an `ADD_PRICE_ADJUSTMENT` action. + * @return referenceId + **/ + @ApiModelProperty(example = "68851723-e6fa-488f-ace9-112581e6c19b", required = true, value = "The reference identifier used during an `ADD_PRICE_ADJUSTMENT` action.") + + public String getReferenceId() { + return referenceId; + } + + + public void setReferenceId(String referenceId) { + this.referenceId = referenceId; + } + + + public AdjustmentDetails selectedPriceType(String selectedPriceType) { + + this.selectedPriceType = selectedPriceType; + return this; + } + + /** + * The selected price type for the SKU targeted by this effect. + * @return selectedPriceType + **/ + @ApiModelProperty(example = "member", required = true, 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 AdjustmentDetails value(BigDecimal value) { + + this.value = value; + return this; + } + + /** + * The value of the applied price adjustment. + * @return value + **/ + @ApiModelProperty(required = true, value = "The value of the applied price adjustment.") + + public BigDecimal getValue() { + return value; + } + + + public void setValue(BigDecimal value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AdjustmentDetails adjustmentDetails = (AdjustmentDetails) o; + return Objects.equals(this.referenceId, adjustmentDetails.referenceId) && + Objects.equals(this.selectedPriceType, adjustmentDetails.selectedPriceType) && + Objects.equals(this.value, adjustmentDetails.value); + } + + @Override + public int hashCode() { + return Objects.hash(referenceId, selectedPriceType, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AdjustmentDetails {\n"); + sb.append(" referenceId: ").append(toIndentedString(referenceId)).append("\n"); + sb.append(" selectedPriceType: ").append(toIndentedString(selectedPriceType)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).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/BaseCampaign.java b/src/main/java/one/talon/model/BaseCampaign.java index 03cc34d8..88c2cade 100644 --- a/src/main/java/one/talon/model/BaseCampaign.java +++ b/src/main/java/one/talon/model/BaseCampaign.java @@ -115,6 +115,10 @@ public StateEnum read(final JsonReader jsonReader) throws IOException { @SerializedName(SERIALIZED_NAME_TAGS) private List tags = new ArrayList(); + public static final String SERIALIZED_NAME_REEVALUATE_ON_RETURN = "reevaluateOnReturn"; + @SerializedName(SERIALIZED_NAME_REEVALUATE_ON_RETURN) + private Boolean reevaluateOnReturn; + /** * Gets or Sets features */ @@ -432,6 +436,29 @@ public void setTags(List tags) { } + public BaseCampaign reevaluateOnReturn(Boolean reevaluateOnReturn) { + + this.reevaluateOnReturn = reevaluateOnReturn; + return this; + } + + /** + * Indicates whether this campaign should be reevaluated when a customer returns an item. + * @return reevaluateOnReturn + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "true", value = "Indicates whether this campaign should be reevaluated when a customer returns an item.") + + public Boolean getReevaluateOnReturn() { + return reevaluateOnReturn; + } + + + public void setReevaluateOnReturn(Boolean reevaluateOnReturn) { + this.reevaluateOnReturn = reevaluateOnReturn; + } + + public BaseCampaign features(List features) { this.features = features; @@ -634,6 +661,7 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.state, baseCampaign.state) && Objects.equals(this.activeRulesetId, baseCampaign.activeRulesetId) && Objects.equals(this.tags, baseCampaign.tags) && + Objects.equals(this.reevaluateOnReturn, baseCampaign.reevaluateOnReturn) && Objects.equals(this.features, baseCampaign.features) && Objects.equals(this.couponSettings, baseCampaign.couponSettings) && Objects.equals(this.referralSettings, baseCampaign.referralSettings) && @@ -645,7 +673,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(name, description, startTime, endTime, attributes, state, activeRulesetId, tags, features, couponSettings, referralSettings, limits, campaignGroups, type, linkedStoreIds); + return Objects.hash(name, description, startTime, endTime, attributes, state, activeRulesetId, tags, reevaluateOnReturn, features, couponSettings, referralSettings, limits, campaignGroups, type, linkedStoreIds); } @@ -661,6 +689,7 @@ public String toString() { sb.append(" state: ").append(toIndentedString(state)).append("\n"); sb.append(" activeRulesetId: ").append(toIndentedString(activeRulesetId)).append("\n"); sb.append(" tags: ").append(toIndentedString(tags)).append("\n"); + sb.append(" reevaluateOnReturn: ").append(toIndentedString(reevaluateOnReturn)).append("\n"); sb.append(" features: ").append(toIndentedString(features)).append("\n"); sb.append(" couponSettings: ").append(toIndentedString(couponSettings)).append("\n"); sb.append(" referralSettings: ").append(toIndentedString(referralSettings)).append("\n"); diff --git a/src/main/java/one/talon/model/BestPriorPriceMetadata.java b/src/main/java/one/talon/model/BestPriorPriceMetadata.java index 51bb0a0b..8197d503 100644 --- a/src/main/java/one/talon/model/BestPriorPriceMetadata.java +++ b/src/main/java/one/talon/model/BestPriorPriceMetadata.java @@ -25,6 +25,8 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; +import one.talon.model.AdjustmentDetails; +import one.talon.model.InfluencingCampaignDetails; /** * Auxiliary data for found price observation. @@ -32,66 +34,62 @@ @ApiModel(description = "Auxiliary data for found price observation.") public class BestPriorPriceMetadata { - public static final String SERIALIZED_NAME_INFLUENCING_CAMPAIGN_I_DS = "influencingCampaignIDs"; - @SerializedName(SERIALIZED_NAME_INFLUENCING_CAMPAIGN_I_DS) - private List influencingCampaignIDs = null; + public static final String SERIALIZED_NAME_INFLUENCING_CAMPAIGN_DETAILS = "influencingCampaignDetails"; + @SerializedName(SERIALIZED_NAME_INFLUENCING_CAMPAIGN_DETAILS) + private List influencingCampaignDetails = new ArrayList(); - public static final String SERIALIZED_NAME_ADJUSTMENT_REFERENCE_I_D = "adjustmentReferenceID"; - @SerializedName(SERIALIZED_NAME_ADJUSTMENT_REFERENCE_I_D) - private String adjustmentReferenceID; + public static final String SERIALIZED_NAME_ADJUSTMENT_DETAILS = "adjustmentDetails"; + @SerializedName(SERIALIZED_NAME_ADJUSTMENT_DETAILS) + private AdjustmentDetails adjustmentDetails; - public BestPriorPriceMetadata influencingCampaignIDs(List influencingCampaignIDs) { + public BestPriorPriceMetadata influencingCampaignDetails(List influencingCampaignDetails) { - this.influencingCampaignIDs = influencingCampaignIDs; + this.influencingCampaignDetails = influencingCampaignDetails; return this; } - public BestPriorPriceMetadata addInfluencingCampaignIDsItem(Long influencingCampaignIDsItem) { - if (this.influencingCampaignIDs == null) { - this.influencingCampaignIDs = new ArrayList(); - } - this.influencingCampaignIDs.add(influencingCampaignIDsItem); + public BestPriorPriceMetadata addInfluencingCampaignDetailsItem(InfluencingCampaignDetails influencingCampaignDetailsItem) { + this.influencingCampaignDetails.add(influencingCampaignDetailsItem); return this; } /** - * Get influencingCampaignIDs - * @return influencingCampaignIDs + * Details about campaigns that influenced the final price. + * @return influencingCampaignDetails **/ - @javax.annotation.Nullable - @ApiModelProperty(value = "") + @ApiModelProperty(required = true, value = "Details about campaigns that influenced the final price.") - public List getInfluencingCampaignIDs() { - return influencingCampaignIDs; + public List getInfluencingCampaignDetails() { + return influencingCampaignDetails; } - public void setInfluencingCampaignIDs(List influencingCampaignIDs) { - this.influencingCampaignIDs = influencingCampaignIDs; + public void setInfluencingCampaignDetails(List influencingCampaignDetails) { + this.influencingCampaignDetails = influencingCampaignDetails; } - public BestPriorPriceMetadata adjustmentReferenceID(String adjustmentReferenceID) { + public BestPriorPriceMetadata adjustmentDetails(AdjustmentDetails adjustmentDetails) { - this.adjustmentReferenceID = adjustmentReferenceID; + this.adjustmentDetails = adjustmentDetails; return this; } /** - * Identifier related to the `referenceId` used during a `ADD_PRICE_ADJUSTMENT` action using the [Sync cart item catalog endpoint](https://docs.talon.one/integration-api#tag/Catalogs/operation/syncCatalog). - * @return adjustmentReferenceID + * Get adjustmentDetails + * @return adjustmentDetails **/ @javax.annotation.Nullable - @ApiModelProperty(value = "Identifier related to the `referenceId` used during a `ADD_PRICE_ADJUSTMENT` action using the [Sync cart item catalog endpoint](https://docs.talon.one/integration-api#tag/Catalogs/operation/syncCatalog).") + @ApiModelProperty(value = "") - public String getAdjustmentReferenceID() { - return adjustmentReferenceID; + public AdjustmentDetails getAdjustmentDetails() { + return adjustmentDetails; } - public void setAdjustmentReferenceID(String adjustmentReferenceID) { - this.adjustmentReferenceID = adjustmentReferenceID; + public void setAdjustmentDetails(AdjustmentDetails adjustmentDetails) { + this.adjustmentDetails = adjustmentDetails; } @@ -104,13 +102,13 @@ public boolean equals(java.lang.Object o) { return false; } BestPriorPriceMetadata bestPriorPriceMetadata = (BestPriorPriceMetadata) o; - return Objects.equals(this.influencingCampaignIDs, bestPriorPriceMetadata.influencingCampaignIDs) && - Objects.equals(this.adjustmentReferenceID, bestPriorPriceMetadata.adjustmentReferenceID); + return Objects.equals(this.influencingCampaignDetails, bestPriorPriceMetadata.influencingCampaignDetails) && + Objects.equals(this.adjustmentDetails, bestPriorPriceMetadata.adjustmentDetails); } @Override public int hashCode() { - return Objects.hash(influencingCampaignIDs, adjustmentReferenceID); + return Objects.hash(influencingCampaignDetails, adjustmentDetails); } @@ -118,8 +116,8 @@ public int hashCode() { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class BestPriorPriceMetadata {\n"); - sb.append(" influencingCampaignIDs: ").append(toIndentedString(influencingCampaignIDs)).append("\n"); - sb.append(" adjustmentReferenceID: ").append(toIndentedString(adjustmentReferenceID)).append("\n"); + sb.append(" influencingCampaignDetails: ").append(toIndentedString(influencingCampaignDetails)).append("\n"); + sb.append(" adjustmentDetails: ").append(toIndentedString(adjustmentDetails)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/one/talon/model/Campaign.java b/src/main/java/one/talon/model/Campaign.java index f8c2701c..33b3a073 100644 --- a/src/main/java/one/talon/model/Campaign.java +++ b/src/main/java/one/talon/model/Campaign.java @@ -133,6 +133,10 @@ public StateEnum read(final JsonReader jsonReader) throws IOException { @SerializedName(SERIALIZED_NAME_TAGS) private List tags = new ArrayList(); + public static final String SERIALIZED_NAME_REEVALUATE_ON_RETURN = "reevaluateOnReturn"; + @SerializedName(SERIALIZED_NAME_REEVALUATE_ON_RETURN) + private Boolean reevaluateOnReturn; + /** * Gets or Sets features */ @@ -414,6 +418,10 @@ public FrontendStateEnum read(final JsonReader jsonReader) throws IOException { @SerializedName(SERIALIZED_NAME_VALUE_MAPS_IDS) private List valueMapsIds = null; + public static final String SERIALIZED_NAME_EXPERIMENT_ID = "experimentId"; + @SerializedName(SERIALIZED_NAME_EXPERIMENT_ID) + private Long experimentId; + /** * The campaign revision state displayed in the Campaign Manager. */ @@ -763,6 +771,28 @@ public void setTags(List tags) { } + public Campaign reevaluateOnReturn(Boolean reevaluateOnReturn) { + + this.reevaluateOnReturn = reevaluateOnReturn; + return this; + } + + /** + * Indicates whether this campaign should be reevaluated when a customer returns an item. + * @return reevaluateOnReturn + **/ + @ApiModelProperty(example = "true", required = true, value = "Indicates whether this campaign should be reevaluated when a customer returns an item.") + + public Boolean getReevaluateOnReturn() { + return reevaluateOnReturn; + } + + + public void setReevaluateOnReturn(Boolean reevaluateOnReturn) { + this.reevaluateOnReturn = reevaluateOnReturn; + } + + public Campaign features(List features) { this.features = features; @@ -1513,6 +1543,29 @@ public void setValueMapsIds(List valueMapsIds) { } + public Campaign experimentId(Long experimentId) { + + this.experimentId = experimentId; + return this; + } + + /** + * The ID of the Experiment this Campaign is part of. + * @return experimentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", value = "The ID of the Experiment this Campaign is part of.") + + public Long getExperimentId() { + return experimentId; + } + + + public void setExperimentId(Long experimentId) { + this.experimentId = experimentId; + } + + public Campaign revisionFrontendState(RevisionFrontendStateEnum revisionFrontendState) { this.revisionFrontendState = revisionFrontendState; @@ -1695,6 +1748,7 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.state, campaign.state) && Objects.equals(this.activeRulesetId, campaign.activeRulesetId) && Objects.equals(this.tags, campaign.tags) && + Objects.equals(this.reevaluateOnReturn, campaign.reevaluateOnReturn) && Objects.equals(this.features, campaign.features) && Objects.equals(this.couponSettings, campaign.couponSettings) && Objects.equals(this.referralSettings, campaign.referralSettings) && @@ -1726,6 +1780,7 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.frontendState, campaign.frontendState) && Objects.equals(this.storesImported, campaign.storesImported) && Objects.equals(this.valueMapsIds, campaign.valueMapsIds) && + Objects.equals(this.experimentId, campaign.experimentId) && Objects.equals(this.revisionFrontendState, campaign.revisionFrontendState) && Objects.equals(this.activeRevisionId, campaign.activeRevisionId) && Objects.equals(this.activeRevisionVersionId, campaign.activeRevisionVersionId) && @@ -1737,7 +1792,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(id, created, applicationId, userId, name, description, startTime, endTime, attributes, state, activeRulesetId, tags, features, couponSettings, referralSettings, limits, campaignGroups, type, linkedStoreIds, budgets, couponRedemptionCount, referralRedemptionCount, discountCount, discountEffectCount, couponCreationCount, customEffectCount, referralCreationCount, addFreeItemEffectCount, awardedGiveawaysCount, createdLoyaltyPointsCount, createdLoyaltyPointsEffectCount, redeemedLoyaltyPointsCount, redeemedLoyaltyPointsEffectCount, callApiEffectCount, reservecouponEffectCount, lastActivity, updated, createdBy, updatedBy, templateId, frontendState, storesImported, valueMapsIds, revisionFrontendState, activeRevisionId, activeRevisionVersionId, version, currentRevisionId, currentRevisionVersionId, stageRevision); + return Objects.hash(id, created, applicationId, userId, name, description, startTime, endTime, attributes, state, activeRulesetId, tags, reevaluateOnReturn, features, couponSettings, referralSettings, limits, campaignGroups, type, linkedStoreIds, budgets, couponRedemptionCount, referralRedemptionCount, discountCount, discountEffectCount, couponCreationCount, customEffectCount, referralCreationCount, addFreeItemEffectCount, awardedGiveawaysCount, createdLoyaltyPointsCount, createdLoyaltyPointsEffectCount, redeemedLoyaltyPointsCount, redeemedLoyaltyPointsEffectCount, callApiEffectCount, reservecouponEffectCount, lastActivity, updated, createdBy, updatedBy, templateId, frontendState, storesImported, valueMapsIds, experimentId, revisionFrontendState, activeRevisionId, activeRevisionVersionId, version, currentRevisionId, currentRevisionVersionId, stageRevision); } @@ -1757,6 +1812,7 @@ public String toString() { sb.append(" state: ").append(toIndentedString(state)).append("\n"); sb.append(" activeRulesetId: ").append(toIndentedString(activeRulesetId)).append("\n"); sb.append(" tags: ").append(toIndentedString(tags)).append("\n"); + sb.append(" reevaluateOnReturn: ").append(toIndentedString(reevaluateOnReturn)).append("\n"); sb.append(" features: ").append(toIndentedString(features)).append("\n"); sb.append(" couponSettings: ").append(toIndentedString(couponSettings)).append("\n"); sb.append(" referralSettings: ").append(toIndentedString(referralSettings)).append("\n"); @@ -1788,6 +1844,7 @@ public String toString() { sb.append(" frontendState: ").append(toIndentedString(frontendState)).append("\n"); sb.append(" storesImported: ").append(toIndentedString(storesImported)).append("\n"); sb.append(" valueMapsIds: ").append(toIndentedString(valueMapsIds)).append("\n"); + sb.append(" experimentId: ").append(toIndentedString(experimentId)).append("\n"); sb.append(" revisionFrontendState: ").append(toIndentedString(revisionFrontendState)).append("\n"); sb.append(" activeRevisionId: ").append(toIndentedString(activeRevisionId)).append("\n"); sb.append(" activeRevisionVersionId: ").append(toIndentedString(activeRevisionVersionId)).append("\n"); diff --git a/src/main/java/one/talon/model/CampaignTemplate.java b/src/main/java/one/talon/model/CampaignTemplate.java index 94da1e58..4237db12 100644 --- a/src/main/java/one/talon/model/CampaignTemplate.java +++ b/src/main/java/one/talon/model/CampaignTemplate.java @@ -134,6 +134,10 @@ public StateEnum read(final JsonReader jsonReader) throws IOException { @SerializedName(SERIALIZED_NAME_TAGS) private List tags = null; + public static final String SERIALIZED_NAME_REEVALUATE_ON_RETURN = "reevaluateOnReturn"; + @SerializedName(SERIALIZED_NAME_REEVALUATE_ON_RETURN) + private Boolean reevaluateOnReturn; + /** * Gets or Sets features */ @@ -573,6 +577,28 @@ public void setTags(List tags) { } + public CampaignTemplate reevaluateOnReturn(Boolean reevaluateOnReturn) { + + this.reevaluateOnReturn = reevaluateOnReturn; + return this; + } + + /** + * Indicates whether campaigns created from this template should be reevaluated when a customer returns an item. + * @return reevaluateOnReturn + **/ + @ApiModelProperty(example = "true", required = true, value = "Indicates whether campaigns created from this template should be reevaluated when a customer returns an item.") + + public Boolean getReevaluateOnReturn() { + return reevaluateOnReturn; + } + + + public void setReevaluateOnReturn(Boolean reevaluateOnReturn) { + this.reevaluateOnReturn = reevaluateOnReturn; + } + + public CampaignTemplate features(List features) { this.features = features; @@ -978,6 +1004,7 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.state, campaignTemplate.state) && Objects.equals(this.activeRulesetId, campaignTemplate.activeRulesetId) && Objects.equals(this.tags, campaignTemplate.tags) && + Objects.equals(this.reevaluateOnReturn, campaignTemplate.reevaluateOnReturn) && Objects.equals(this.features, campaignTemplate.features) && Objects.equals(this.couponSettings, campaignTemplate.couponSettings) && Objects.equals(this.couponReservationSettings, campaignTemplate.couponReservationSettings) && @@ -997,7 +1024,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(id, created, accountId, userId, name, description, instructions, campaignAttributes, couponAttributes, state, activeRulesetId, tags, features, couponSettings, couponReservationSettings, referralSettings, limits, templateParams, applicationsIds, campaignCollections, defaultCampaignGroupId, campaignType, campaignsCount, updated, updatedBy, validApplicationIds, isUserFavorite); + return Objects.hash(id, created, accountId, userId, name, description, instructions, campaignAttributes, couponAttributes, state, activeRulesetId, tags, reevaluateOnReturn, features, couponSettings, couponReservationSettings, referralSettings, limits, templateParams, applicationsIds, campaignCollections, defaultCampaignGroupId, campaignType, campaignsCount, updated, updatedBy, validApplicationIds, isUserFavorite); } @@ -1017,6 +1044,7 @@ public String toString() { sb.append(" state: ").append(toIndentedString(state)).append("\n"); sb.append(" activeRulesetId: ").append(toIndentedString(activeRulesetId)).append("\n"); sb.append(" tags: ").append(toIndentedString(tags)).append("\n"); + sb.append(" reevaluateOnReturn: ").append(toIndentedString(reevaluateOnReturn)).append("\n"); sb.append(" features: ").append(toIndentedString(features)).append("\n"); sb.append(" couponSettings: ").append(toIndentedString(couponSettings)).append("\n"); sb.append(" couponReservationSettings: ").append(toIndentedString(couponReservationSettings)).append("\n"); diff --git a/src/main/java/one/talon/model/CartItemFilterTemplate.java b/src/main/java/one/talon/model/CartItemFilterTemplate.java new file mode 100644 index 00000000..21093a35 --- /dev/null +++ b/src/main/java/one/talon/model/CartItemFilterTemplate.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; + +/** + * A cart item filter template stored in a library entry. Cart item filters in library entries only contain name (no description, as description is at the library entry level). + */ +@ApiModel(description = "A cart item filter template stored in a library entry. Cart item filters in library entries only contain name (no description, as description is at the library entry level).") + +public class CartItemFilterTemplate { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_EXPRESSION = "expression"; + @SerializedName(SERIALIZED_NAME_EXPRESSION) + private List expression = new ArrayList(); + + + public CartItemFilterTemplate name(String name) { + + this.name = name; + return this; + } + + /** + * The name of the Application cart item filter. + * @return name + **/ + @ApiModelProperty(example = "Filter items by product", required = true, value = "The name of the Application cart item filter.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public CartItemFilterTemplate expression(List expression) { + + this.expression = expression; + return this; + } + + public CartItemFilterTemplate addExpressionItem(Object expressionItem) { + this.expression.add(expressionItem); + return this; + } + + /** + * The Talang expression for the cart item filter. + * @return expression + **/ + @ApiModelProperty(example = "[filter, [., Session, CartItems], [[Item], [catch, false, [=, [., Item, Category], Kitchen]]]]", required = true, value = "The Talang expression for the cart item filter.") + + public List getExpression() { + return expression; + } + + + public void setExpression(List expression) { + this.expression = expression; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CartItemFilterTemplate cartItemFilterTemplate = (CartItemFilterTemplate) o; + return Objects.equals(this.name, cartItemFilterTemplate.name) && + Objects.equals(this.expression, cartItemFilterTemplate.expression); + } + + @Override + public int hashCode() { + return Objects.hash(name, expression); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CartItemFilterTemplate {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" expression: ").append(toIndentedString(expression)).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/CatalogRule.java b/src/main/java/one/talon/model/CatalogRule.java new file mode 100644 index 00000000..7ab337d1 --- /dev/null +++ b/src/main/java/one/talon/model/CatalogRule.java @@ -0,0 +1,205 @@ +/* + * 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.Binding; + +/** + * A rule template stored in a catalog entry. Rules in catalog entries only contain title (no description, as description is at the catalog entry level). + */ +@ApiModel(description = "A rule template stored in a catalog entry. Rules in catalog entries only contain title (no description, as description is at the catalog entry level).") + +public class CatalogRule { + public static final String SERIALIZED_NAME_TITLE = "title"; + @SerializedName(SERIALIZED_NAME_TITLE) + private String title; + + public static final String SERIALIZED_NAME_BINDINGS = "bindings"; + @SerializedName(SERIALIZED_NAME_BINDINGS) + private List bindings = null; + + public static final String SERIALIZED_NAME_CONDITION = "condition"; + @SerializedName(SERIALIZED_NAME_CONDITION) + private List condition = new ArrayList(); + + public static final String SERIALIZED_NAME_EFFECTS = "effects"; + @SerializedName(SERIALIZED_NAME_EFFECTS) + private List effects = new ArrayList(); + + + public CatalogRule title(String title) { + + this.title = title; + return this; + } + + /** + * A short description of the rule. + * @return title + **/ + @ApiModelProperty(example = "Give discount via coupon", required = true, value = "A short description of the rule.") + + public String getTitle() { + return title; + } + + + public void setTitle(String title) { + this.title = title; + } + + + public CatalogRule bindings(List bindings) { + + this.bindings = bindings; + return this; + } + + public CatalogRule addBindingsItem(Binding bindingsItem) { + if (this.bindings == null) { + this.bindings = new ArrayList(); + } + this.bindings.add(bindingsItem); + return this; + } + + /** + * An array that provides objects with variable names (name) and talang expressions to whose result they are bound (expression) during rule evaluation. The order of the evaluation is decided by the position in the array. + * @return bindings + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An array that provides objects with variable names (name) and talang expressions to whose result they are bound (expression) during rule evaluation. The order of the evaluation is decided by the position in the array.") + + public List getBindings() { + return bindings; + } + + + public void setBindings(List bindings) { + this.bindings = bindings; + } + + + public CatalogRule condition(List condition) { + + this.condition = condition; + return this; + } + + public CatalogRule addConditionItem(Object conditionItem) { + this.condition.add(conditionItem); + return this; + } + + /** + * A Talang expression that will be evaluated in the context of the given event. + * @return condition + **/ + @ApiModelProperty(example = "[and, [couponValid]]", required = true, value = "A Talang expression that will be evaluated in the context of the given event.") + + public List getCondition() { + return condition; + } + + + public void setCondition(List condition) { + this.condition = condition; + } + + + public CatalogRule effects(List effects) { + + this.effects = effects; + return this; + } + + public CatalogRule addEffectsItem(Object effectsItem) { + this.effects.add(effectsItem); + return this; + } + + /** + * An array of effectful Talang expressions in arrays that will be evaluated when a rule matches. + * @return effects + **/ + @ApiModelProperty(example = "[catch, [noop], [setDiscount, 10% off, [*, [., Session, Total], [/, 10, 100]]]]", required = true, value = "An array of effectful Talang expressions in arrays that will be evaluated when a rule matches.") + + public List getEffects() { + return effects; + } + + + public void setEffects(List effects) { + this.effects = effects; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CatalogRule catalogRule = (CatalogRule) o; + return Objects.equals(this.title, catalogRule.title) && + Objects.equals(this.bindings, catalogRule.bindings) && + Objects.equals(this.condition, catalogRule.condition) && + Objects.equals(this.effects, catalogRule.effects); + } + + @Override + public int hashCode() { + return Objects.hash(title, bindings, condition, effects); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CatalogRule {\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" bindings: ").append(toIndentedString(bindings)).append("\n"); + sb.append(" condition: ").append(toIndentedString(condition)).append("\n"); + sb.append(" effects: ").append(toIndentedString(effects)).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/CollectionsCatalog.java b/src/main/java/one/talon/model/CollectionsCatalog.java new file mode 100644 index 00000000..ca42b0fe --- /dev/null +++ b/src/main/java/one/talon/model/CollectionsCatalog.java @@ -0,0 +1,550 @@ +/* + * 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.CartItemFilterTemplate; +import one.talon.model.CatalogRule; +import org.threeten.bp.OffsetDateTime; + +/** + * CollectionsCatalog + */ + +public class CollectionsCatalog { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private Long id; + + public static final String SERIALIZED_NAME_ACCOUNT_ID = "accountId"; + @SerializedName(SERIALIZED_NAME_ACCOUNT_ID) + private Long accountId; + + public static final String SERIALIZED_NAME_APPLICATION_ID = "applicationId"; + @SerializedName(SERIALIZED_NAME_APPLICATION_ID) + private Long applicationId; + + 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; + + /** + * Category used to group collection catalogs. + */ + @JsonAdapter(CategoryEnum.Adapter.class) + public enum CategoryEnum { + PROMOTIONS("promotions"), + + PRICING("pricing"), + + LOYALTY("loyalty"), + + CUSTOM("custom"); + + private String value; + + CategoryEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CategoryEnum fromValue(String value) { + for (CategoryEnum b : CategoryEnum.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 CategoryEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CategoryEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CategoryEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_CATEGORY = "category"; + @SerializedName(SERIALIZED_NAME_CATEGORY) + private CategoryEnum category; + + /** + * Indicates whether the collection is custom or shipped by Talon.One. + */ + @JsonAdapter(SourceEnum.Adapter.class) + public enum SourceEnum { + CUSTOM("custom"), + + DEFAULT("default"); + + private String value; + + SourceEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SourceEnum fromValue(String value) { + for (SourceEnum b : SourceEnum.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 SourceEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SourceEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SourceEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_SOURCE = "source"; + @SerializedName(SERIALIZED_NAME_SOURCE) + private SourceEnum source; + + public static final String SERIALIZED_NAME_RULES = "rules"; + @SerializedName(SERIALIZED_NAME_RULES) + private List rules = new ArrayList(); + + public static final String SERIALIZED_NAME_CART_ITEM_FILTERS = "cartItemFilters"; + @SerializedName(SERIALIZED_NAME_CART_ITEM_FILTERS) + private List cartItemFilters = new ArrayList(); + + public static final String SERIALIZED_NAME_CREATED = "created"; + @SerializedName(SERIALIZED_NAME_CREATED) + private OffsetDateTime created; + + public static final String SERIALIZED_NAME_CREATED_BY = "createdBy"; + @SerializedName(SERIALIZED_NAME_CREATED_BY) + private Long createdBy; + + public static final String SERIALIZED_NAME_MODIFIED = "modified"; + @SerializedName(SERIALIZED_NAME_MODIFIED) + private OffsetDateTime modified; + + public static final String SERIALIZED_NAME_MODIFIED_BY = "modifiedBy"; + @SerializedName(SERIALIZED_NAME_MODIFIED_BY) + private Long modifiedBy; + + + public CollectionsCatalog id(Long id) { + + this.id = id; + return this; + } + + /** + * The internal ID of this collection. + * @return id + **/ + @ApiModelProperty(required = true, value = "The internal ID of this collection.") + + public Long getId() { + return id; + } + + + public void setId(Long id) { + this.id = id; + } + + + public CollectionsCatalog accountId(Long accountId) { + + this.accountId = accountId; + return this; + } + + /** + * The ID of the account that owns this collection. + * @return accountId + **/ + @ApiModelProperty(required = true, value = "The ID of the account that owns this collection.") + + public Long getAccountId() { + return accountId; + } + + + public void setAccountId(Long accountId) { + this.accountId = accountId; + } + + + public CollectionsCatalog applicationId(Long applicationId) { + + this.applicationId = applicationId; + return this; + } + + /** + * The ID of the Application that owns this collection. + * @return applicationId + **/ + @ApiModelProperty(required = true, value = "The ID of the Application that owns this collection.") + + public Long getApplicationId() { + return applicationId; + } + + + public void setApplicationId(Long applicationId) { + this.applicationId = applicationId; + } + + + public CollectionsCatalog title(String title) { + + this.title = title; + return this; + } + + /** + * A short description of the collection catalog. + * @return title + **/ + @ApiModelProperty(example = "High value cart discount", required = true, value = "A short description of the collection catalog.") + + public String getTitle() { + return title; + } + + + public void setTitle(String title) { + this.title = title; + } + + + public CollectionsCatalog description(String description) { + + this.description = description; + return this; + } + + /** + * A longer, more detailed description of the collection catalog. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A longer, more detailed description of the collection catalog.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public CollectionsCatalog category(CategoryEnum category) { + + this.category = category; + return this; + } + + /** + * Category used to group collection catalogs. + * @return category + **/ + @ApiModelProperty(required = true, value = "Category used to group collection catalogs.") + + public CategoryEnum getCategory() { + return category; + } + + + public void setCategory(CategoryEnum category) { + this.category = category; + } + + + public CollectionsCatalog source(SourceEnum source) { + + this.source = source; + return this; + } + + /** + * Indicates whether the collection is custom or shipped by Talon.One. + * @return source + **/ + @ApiModelProperty(required = true, value = "Indicates whether the collection is custom or shipped by Talon.One.") + + public SourceEnum getSource() { + return source; + } + + + public void setSource(SourceEnum source) { + this.source = source; + } + + + public CollectionsCatalog rules(List rules) { + + this.rules = rules; + return this; + } + + public CollectionsCatalog addRulesItem(CatalogRule rulesItem) { + this.rules.add(rulesItem); + return this; + } + + /** + * Array of rule templates in this collection catalog. Rules only contain title (no description, as description is at the collection catalog level). + * @return rules + **/ + @ApiModelProperty(required = true, value = "Array of rule templates in this collection catalog. Rules only contain title (no description, as description is at the collection catalog level).") + + public List getRules() { + return rules; + } + + + public void setRules(List rules) { + this.rules = rules; + } + + + public CollectionsCatalog cartItemFilters(List cartItemFilters) { + + this.cartItemFilters = cartItemFilters; + return this; + } + + public CollectionsCatalog addCartItemFiltersItem(CartItemFilterTemplate cartItemFiltersItem) { + this.cartItemFilters.add(cartItemFiltersItem); + return this; + } + + /** + * Array of cart item filter templates in this collection catalog. Cart item filters only contain name (no description, as description is at the collection catalog level). + * @return cartItemFilters + **/ + @ApiModelProperty(required = true, value = "Array of cart item filter templates in this collection catalog. Cart item filters only contain name (no description, as description is at the collection catalog level).") + + public List getCartItemFilters() { + return cartItemFilters; + } + + + public void setCartItemFilters(List cartItemFilters) { + this.cartItemFilters = cartItemFilters; + } + + + public CollectionsCatalog created(OffsetDateTime created) { + + this.created = created; + return this; + } + + /** + * Timestamp when the collection was created. + * @return created + **/ + @ApiModelProperty(required = true, value = "Timestamp when the collection was created.") + + public OffsetDateTime getCreated() { + return created; + } + + + public void setCreated(OffsetDateTime created) { + this.created = created; + } + + + public CollectionsCatalog createdBy(Long createdBy) { + + this.createdBy = createdBy; + return this; + } + + /** + * ID of the user who created the collection. + * @return createdBy + **/ + @ApiModelProperty(required = true, value = "ID of the user who created the collection.") + + public Long getCreatedBy() { + return createdBy; + } + + + public void setCreatedBy(Long createdBy) { + this.createdBy = createdBy; + } + + + public CollectionsCatalog modified(OffsetDateTime modified) { + + this.modified = modified; + return this; + } + + /** + * Timestamp when the collection was last updated. + * @return modified + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Timestamp when the collection was last updated.") + + public OffsetDateTime getModified() { + return modified; + } + + + public void setModified(OffsetDateTime modified) { + this.modified = modified; + } + + + public CollectionsCatalog modifiedBy(Long modifiedBy) { + + this.modifiedBy = modifiedBy; + return this; + } + + /** + * ID of the user who last updated the collection. + * @return modifiedBy + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "ID of the user who last updated the collection.") + + public Long getModifiedBy() { + return modifiedBy; + } + + + public void setModifiedBy(Long modifiedBy) { + this.modifiedBy = modifiedBy; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CollectionsCatalog collectionsCatalog = (CollectionsCatalog) o; + return Objects.equals(this.id, collectionsCatalog.id) && + Objects.equals(this.accountId, collectionsCatalog.accountId) && + Objects.equals(this.applicationId, collectionsCatalog.applicationId) && + Objects.equals(this.title, collectionsCatalog.title) && + Objects.equals(this.description, collectionsCatalog.description) && + Objects.equals(this.category, collectionsCatalog.category) && + Objects.equals(this.source, collectionsCatalog.source) && + Objects.equals(this.rules, collectionsCatalog.rules) && + Objects.equals(this.cartItemFilters, collectionsCatalog.cartItemFilters) && + Objects.equals(this.created, collectionsCatalog.created) && + Objects.equals(this.createdBy, collectionsCatalog.createdBy) && + Objects.equals(this.modified, collectionsCatalog.modified) && + Objects.equals(this.modifiedBy, collectionsCatalog.modifiedBy); + } + + @Override + public int hashCode() { + return Objects.hash(id, accountId, applicationId, title, description, category, source, rules, cartItemFilters, created, createdBy, modified, modifiedBy); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CollectionsCatalog {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" applicationId: ").append(toIndentedString(applicationId)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" category: ").append(toIndentedString(category)).append("\n"); + sb.append(" source: ").append(toIndentedString(source)).append("\n"); + sb.append(" rules: ").append(toIndentedString(rules)).append("\n"); + sb.append(" cartItemFilters: ").append(toIndentedString(cartItemFilters)).append("\n"); + sb.append(" created: ").append(toIndentedString(created)).append("\n"); + sb.append(" createdBy: ").append(toIndentedString(createdBy)).append("\n"); + sb.append(" modified: ").append(toIndentedString(modified)).append("\n"); + sb.append(" modifiedBy: ").append(toIndentedString(modifiedBy)).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/CouponCreationJob.java b/src/main/java/one/talon/model/CouponCreationJob.java index c0f95b8b..9ae2daeb 100644 --- a/src/main/java/one/talon/model/CouponCreationJob.java +++ b/src/main/java/one/talon/model/CouponCreationJob.java @@ -86,6 +86,10 @@ public class CouponCreationJob { @SerializedName(SERIALIZED_NAME_ATTRIBUTES) private Object attributes; + 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_BATCH_ID = "batchId"; @SerializedName(SERIALIZED_NAME_BATCH_ID) private String batchId; @@ -422,6 +426,29 @@ public void setAttributes(Object attributes) { } + public CouponCreationJob 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 CouponCreationJob batchId(String batchId) { this.batchId = batchId; @@ -648,6 +675,7 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.numberOfCoupons, couponCreationJob.numberOfCoupons) && Objects.equals(this.couponSettings, couponCreationJob.couponSettings) && Objects.equals(this.attributes, couponCreationJob.attributes) && + Objects.equals(this.isReservationMandatory, couponCreationJob.isReservationMandatory) && Objects.equals(this.batchId, couponCreationJob.batchId) && Objects.equals(this.status, couponCreationJob.status) && Objects.equals(this.createdAmount, couponCreationJob.createdAmount) && @@ -661,7 +689,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(id, created, campaignId, applicationId, accountId, usageLimit, discountLimit, reservationLimit, startDate, expiryDate, numberOfCoupons, couponSettings, attributes, batchId, status, createdAmount, failCount, errors, createdBy, communicated, chunkExecutionCount, chunkSize); + return Objects.hash(id, created, campaignId, applicationId, accountId, usageLimit, discountLimit, reservationLimit, startDate, expiryDate, numberOfCoupons, couponSettings, attributes, isReservationMandatory, batchId, status, createdAmount, failCount, errors, createdBy, communicated, chunkExecutionCount, chunkSize); } @@ -682,6 +710,7 @@ public String toString() { sb.append(" numberOfCoupons: ").append(toIndentedString(numberOfCoupons)).append("\n"); sb.append(" couponSettings: ").append(toIndentedString(couponSettings)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" isReservationMandatory: ").append(toIndentedString(isReservationMandatory)).append("\n"); sb.append(" batchId: ").append(toIndentedString(batchId)).append("\n"); sb.append(" status: ").append(toIndentedString(status)).append("\n"); sb.append(" createdAmount: ").append(toIndentedString(createdAmount)).append("\n"); diff --git a/src/main/java/one/talon/model/CouponFailureSummary.java b/src/main/java/one/talon/model/CouponFailureSummary.java index 98e5792d..f1bc2310 100644 --- a/src/main/java/one/talon/model/CouponFailureSummary.java +++ b/src/main/java/one/talon/model/CouponFailureSummary.java @@ -59,13 +59,9 @@ public class CouponFailureSummary { @SerializedName(SERIALIZED_NAME_LANGUAGE) private String language; - public static final String SERIALIZED_NAME_SHORT_SUMMARY = "shortSummary"; - @SerializedName(SERIALIZED_NAME_SHORT_SUMMARY) - private String shortSummary; - - public static final String SERIALIZED_NAME_LONG_SUMMARY = "longSummary"; - @SerializedName(SERIALIZED_NAME_LONG_SUMMARY) - private String longSummary; + public static final String SERIALIZED_NAME_SUMMARY = "summary"; + @SerializedName(SERIALIZED_NAME_SUMMARY) + private String summary; public static final String SERIALIZED_NAME_CREATED_AT = "createdAt"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @@ -232,47 +228,25 @@ public void setLanguage(String language) { } - public CouponFailureSummary shortSummary(String shortSummary) { + public CouponFailureSummary summary(String summary) { - this.shortSummary = shortSummary; + this.summary = summary; return this; } /** * A summary of the reasons for coupon redemption failure. - * @return shortSummary + * @return summary **/ @ApiModelProperty(example = "Session total was less than the required total.", required = true, value = "A summary of the reasons for coupon redemption failure.") - public String getShortSummary() { - return shortSummary; - } - - - public void setShortSummary(String shortSummary) { - this.shortSummary = shortSummary; - } - - - public CouponFailureSummary longSummary(String longSummary) { - - this.longSummary = longSummary; - return this; - } - - /** - * A detailed summary of the reasons for coupon redemption failure based on events of the entire session. - * @return longSummary - **/ - @ApiModelProperty(example = "There were 5 items in the cart with SKUs 1,2,3,4,5 and the total is $60 which is less than the required cart total.", required = true, value = "A detailed summary of the reasons for coupon redemption failure based on events of the entire session.") - - public String getLongSummary() { - return longSummary; + public String getSummary() { + return summary; } - public void setLongSummary(String longSummary) { - this.longSummary = longSummary; + public void setSummary(String summary) { + this.summary = summary; } @@ -336,15 +310,14 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.status, couponFailureSummary.status) && Objects.equals(this.couponCode, couponFailureSummary.couponCode) && Objects.equals(this.language, couponFailureSummary.language) && - Objects.equals(this.shortSummary, couponFailureSummary.shortSummary) && - Objects.equals(this.longSummary, couponFailureSummary.longSummary) && + Objects.equals(this.summary, couponFailureSummary.summary) && Objects.equals(this.createdAt, couponFailureSummary.createdAt) && Objects.equals(this.updatedAt, couponFailureSummary.updatedAt); } @Override public int hashCode() { - return Objects.hash(id, eventID, sessionID, profileID, status, couponCode, language, shortSummary, longSummary, createdAt, updatedAt); + return Objects.hash(id, eventID, sessionID, profileID, status, couponCode, language, summary, createdAt, updatedAt); } @@ -359,8 +332,7 @@ public String toString() { sb.append(" status: ").append(toIndentedString(status)).append("\n"); sb.append(" couponCode: ").append(toIndentedString(couponCode)).append("\n"); sb.append(" language: ").append(toIndentedString(language)).append("\n"); - sb.append(" shortSummary: ").append(toIndentedString(shortSummary)).append("\n"); - sb.append(" longSummary: ").append(toIndentedString(longSummary)).append("\n"); + sb.append(" summary: ").append(toIndentedString(summary)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); sb.append("}"); diff --git a/src/main/java/one/talon/model/CustomerSessionV2.java b/src/main/java/one/talon/model/CustomerSessionV2.java index e37f783f..9168a421 100644 --- a/src/main/java/one/talon/model/CustomerSessionV2.java +++ b/src/main/java/one/talon/model/CustomerSessionV2.java @@ -30,6 +30,7 @@ import java.util.Map; import one.talon.model.AdditionalCost; import one.talon.model.CartItem; +import one.talon.model.ExperimentVariantAllocation; import org.threeten.bp.OffsetDateTime; /** @@ -137,6 +138,10 @@ public StateEnum read(final JsonReader jsonReader) throws IOException { @SerializedName(SERIALIZED_NAME_CART_ITEMS) private List cartItems = new ArrayList(); + public static final String SERIALIZED_NAME_EXPERIMENT_VARIANT_ALLOCATIONS = "experimentVariantAllocations"; + @SerializedName(SERIALIZED_NAME_EXPERIMENT_VARIANT_ALLOCATIONS) + private List experimentVariantAllocations = null; + public static final String SERIALIZED_NAME_ADDITIONAL_COSTS = "additionalCosts"; @SerializedName(SERIALIZED_NAME_ADDITIONAL_COSTS) private Map additionalCosts = null; @@ -468,6 +473,37 @@ public void setCartItems(List cartItems) { } + public CustomerSessionV2 experimentVariantAllocations(List experimentVariantAllocations) { + + this.experimentVariantAllocations = experimentVariantAllocations; + return this; + } + + public CustomerSessionV2 addExperimentVariantAllocationsItem(ExperimentVariantAllocation experimentVariantAllocationsItem) { + if (this.experimentVariantAllocations == null) { + this.experimentVariantAllocations = new ArrayList(); + } + this.experimentVariantAllocations.add(experimentVariantAllocationsItem); + return this; + } + + /** + * The experiment variant allocations to add to this session. + * @return experimentVariantAllocations + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The experiment variant allocations to add to this session. ") + + public List getExperimentVariantAllocations() { + return experimentVariantAllocations; + } + + + public void setExperimentVariantAllocations(List experimentVariantAllocations) { + this.experimentVariantAllocations = experimentVariantAllocations; + } + + public CustomerSessionV2 additionalCosts(Map additionalCosts) { this.additionalCosts = additionalCosts; @@ -683,6 +719,7 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.loyaltyCards, customerSessionV2.loyaltyCards) && Objects.equals(this.state, customerSessionV2.state) && Objects.equals(this.cartItems, customerSessionV2.cartItems) && + Objects.equals(this.experimentVariantAllocations, customerSessionV2.experimentVariantAllocations) && Objects.equals(this.additionalCosts, customerSessionV2.additionalCosts) && Objects.equals(this.identifiers, customerSessionV2.identifiers) && Objects.equals(this.attributes, customerSessionV2.attributes) && @@ -695,7 +732,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(id, created, integrationId, applicationId, profileId, storeIntegrationId, evaluableCampaignIds, couponCodes, referralCode, loyaltyCards, state, cartItems, additionalCosts, identifiers, attributes, firstSession, total, cartItemTotal, additionalCostTotal, updated); + return Objects.hash(id, created, integrationId, applicationId, profileId, storeIntegrationId, evaluableCampaignIds, couponCodes, referralCode, loyaltyCards, state, cartItems, experimentVariantAllocations, additionalCosts, identifiers, attributes, firstSession, total, cartItemTotal, additionalCostTotal, updated); } @@ -715,6 +752,7 @@ public String toString() { sb.append(" loyaltyCards: ").append(toIndentedString(loyaltyCards)).append("\n"); sb.append(" state: ").append(toIndentedString(state)).append("\n"); sb.append(" cartItems: ").append(toIndentedString(cartItems)).append("\n"); + sb.append(" experimentVariantAllocations: ").append(toIndentedString(experimentVariantAllocations)).append("\n"); sb.append(" additionalCosts: ").append(toIndentedString(additionalCosts)).append("\n"); sb.append(" identifiers: ").append(toIndentedString(identifiers)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); diff --git a/src/main/java/one/talon/model/Effect.java b/src/main/java/one/talon/model/Effect.java index 0561e951..7995ff4f 100644 --- a/src/main/java/one/talon/model/Effect.java +++ b/src/main/java/one/talon/model/Effect.java @@ -32,6 +32,10 @@ @ApiModel(description = "A generic effect that is fired by a triggered campaign. The props property will contain information specific to the specific effect type.") public class Effect { + public static final String SERIALIZED_NAME_EXPERIMENT_ID = "experimentId"; + @SerializedName(SERIALIZED_NAME_EXPERIMENT_ID) + private Long experimentId; + public static final String SERIALIZED_NAME_CAMPAIGN_ID = "campaignId"; @SerializedName(SERIALIZED_NAME_CAMPAIGN_ID) private Long campaignId; @@ -97,6 +101,29 @@ public class Effect { private Object props; + public Effect experimentId(Long experimentId) { + + this.experimentId = experimentId; + return this; + } + + /** + * The ID of the experiment that campaign belongs to. + * @return experimentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "12", value = "The ID of the experiment that campaign belongs to.") + + public Long getExperimentId() { + return experimentId; + } + + + public void setExperimentId(Long experimentId) { + this.experimentId = experimentId; + } + + public Effect campaignId(Long campaignId) { this.campaignId = campaignId; @@ -468,7 +495,8 @@ public boolean equals(java.lang.Object o) { return false; } Effect effect = (Effect) o; - return Objects.equals(this.campaignId, effect.campaignId) && + return Objects.equals(this.experimentId, effect.experimentId) && + Objects.equals(this.campaignId, effect.campaignId) && Objects.equals(this.rulesetId, effect.rulesetId) && Objects.equals(this.ruleIndex, effect.ruleIndex) && Objects.equals(this.ruleName, effect.ruleName) && @@ -488,7 +516,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(campaignId, rulesetId, ruleIndex, ruleName, effectType, triggeredByCoupon, triggeredForCatalogItem, conditionIndex, evaluationGroupID, evaluationGroupMode, campaignRevisionId, campaignRevisionVersionId, selectedPriceType, selectedPrice, adjustmentReferenceId, props); + return Objects.hash(experimentId, campaignId, rulesetId, ruleIndex, ruleName, effectType, triggeredByCoupon, triggeredForCatalogItem, conditionIndex, evaluationGroupID, evaluationGroupMode, campaignRevisionId, campaignRevisionVersionId, selectedPriceType, selectedPrice, adjustmentReferenceId, props); } @@ -496,6 +524,7 @@ public int hashCode() { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class Effect {\n"); + sb.append(" experimentId: ").append(toIndentedString(experimentId)).append("\n"); sb.append(" campaignId: ").append(toIndentedString(campaignId)).append("\n"); sb.append(" rulesetId: ").append(toIndentedString(rulesetId)).append("\n"); sb.append(" ruleIndex: ").append(toIndentedString(ruleIndex)).append("\n"); diff --git a/src/main/java/one/talon/model/EffectEntity.java b/src/main/java/one/talon/model/EffectEntity.java index d984ab65..bed53897 100644 --- a/src/main/java/one/talon/model/EffectEntity.java +++ b/src/main/java/one/talon/model/EffectEntity.java @@ -32,6 +32,10 @@ @ApiModel(description = "Definition of all properties that are present on all effects, independent of their type.") public class EffectEntity { + public static final String SERIALIZED_NAME_EXPERIMENT_ID = "experimentId"; + @SerializedName(SERIALIZED_NAME_EXPERIMENT_ID) + private Long experimentId; + public static final String SERIALIZED_NAME_CAMPAIGN_ID = "campaignId"; @SerializedName(SERIALIZED_NAME_CAMPAIGN_ID) private Long campaignId; @@ -93,6 +97,29 @@ public class EffectEntity { private UUID adjustmentReferenceId; + public EffectEntity experimentId(Long experimentId) { + + this.experimentId = experimentId; + return this; + } + + /** + * The ID of the experiment that campaign belongs to. + * @return experimentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "12", value = "The ID of the experiment that campaign belongs to.") + + public Long getExperimentId() { + return experimentId; + } + + + public void setExperimentId(Long experimentId) { + this.experimentId = experimentId; + } + + public EffectEntity campaignId(Long campaignId) { this.campaignId = campaignId; @@ -442,7 +469,8 @@ public boolean equals(java.lang.Object o) { return false; } EffectEntity effectEntity = (EffectEntity) o; - return Objects.equals(this.campaignId, effectEntity.campaignId) && + return Objects.equals(this.experimentId, effectEntity.experimentId) && + Objects.equals(this.campaignId, effectEntity.campaignId) && Objects.equals(this.rulesetId, effectEntity.rulesetId) && Objects.equals(this.ruleIndex, effectEntity.ruleIndex) && Objects.equals(this.ruleName, effectEntity.ruleName) && @@ -461,7 +489,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(campaignId, rulesetId, ruleIndex, ruleName, effectType, triggeredByCoupon, triggeredForCatalogItem, conditionIndex, evaluationGroupID, evaluationGroupMode, campaignRevisionId, campaignRevisionVersionId, selectedPriceType, selectedPrice, adjustmentReferenceId); + return Objects.hash(experimentId, campaignId, rulesetId, ruleIndex, ruleName, effectType, triggeredByCoupon, triggeredForCatalogItem, conditionIndex, evaluationGroupID, evaluationGroupMode, campaignRevisionId, campaignRevisionVersionId, selectedPriceType, selectedPrice, adjustmentReferenceId); } @@ -469,6 +497,7 @@ public int hashCode() { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class EffectEntity {\n"); + sb.append(" experimentId: ").append(toIndentedString(experimentId)).append("\n"); sb.append(" campaignId: ").append(toIndentedString(campaignId)).append("\n"); sb.append(" rulesetId: ").append(toIndentedString(rulesetId)).append("\n"); sb.append(" ruleIndex: ").append(toIndentedString(ruleIndex)).append("\n"); diff --git a/src/main/java/one/talon/model/Experiment.java b/src/main/java/one/talon/model/Experiment.java new file mode 100644 index 00000000..058b3520 --- /dev/null +++ b/src/main/java/one/talon/model/Experiment.java @@ -0,0 +1,388 @@ +/* + * 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.Campaign; +import one.talon.model.ExperimentVariant; +import org.threeten.bp.OffsetDateTime; + +/** + * Experiment + */ + +public class Experiment { + 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_APPLICATION_ID = "applicationId"; + @SerializedName(SERIALIZED_NAME_APPLICATION_ID) + private Long applicationId; + + public static final String SERIALIZED_NAME_IS_VARIANT_ASSIGNMENT_EXTERNAL = "isVariantAssignmentExternal"; + @SerializedName(SERIALIZED_NAME_IS_VARIANT_ASSIGNMENT_EXTERNAL) + private Boolean isVariantAssignmentExternal; + + public static final String SERIALIZED_NAME_CAMPAIGN = "campaign"; + @SerializedName(SERIALIZED_NAME_CAMPAIGN) + private Campaign campaign; + + public static final String SERIALIZED_NAME_ACTIVATED = "activated"; + @SerializedName(SERIALIZED_NAME_ACTIVATED) + private OffsetDateTime activated; + + /** + * A disabled experiment is not evaluated for rules or coupons. + */ + @JsonAdapter(StateEnum.Adapter.class) + public enum StateEnum { + ENABLED("enabled"), + + DISABLED("disabled"); + + private String value; + + StateEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StateEnum fromValue(String value) { + for (StateEnum b : StateEnum.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 StateEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StateEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StateEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_STATE = "state"; + @SerializedName(SERIALIZED_NAME_STATE) + private StateEnum state = StateEnum.DISABLED; + + public static final String SERIALIZED_NAME_VARIANTS = "variants"; + @SerializedName(SERIALIZED_NAME_VARIANTS) + private List variants = null; + + public static final String SERIALIZED_NAME_DELETEDAT = "deletedat"; + @SerializedName(SERIALIZED_NAME_DELETEDAT) + private OffsetDateTime deletedat; + + + public Experiment 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 Experiment 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 Experiment applicationId(Long applicationId) { + + this.applicationId = applicationId; + return this; + } + + /** + * The ID of the Application that owns this entity. + * @return applicationId + **/ + @ApiModelProperty(example = "322", required = true, value = "The ID of the Application that owns this entity.") + + public Long getApplicationId() { + return applicationId; + } + + + public void setApplicationId(Long applicationId) { + this.applicationId = applicationId; + } + + + public Experiment isVariantAssignmentExternal(Boolean isVariantAssignmentExternal) { + + this.isVariantAssignmentExternal = isVariantAssignmentExternal; + return this; + } + + /** + * The source of the assignment. - false - The assignment to the variant is handled internally by the Talon.Oneandled internally by the Talon.One. - true - The assignment to the variant handled externally. + * @return isVariantAssignmentExternal + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The source of the assignment. - false - The assignment to the variant is handled internally by the Talon.Oneandled internally by the Talon.One. - true - The assignment to the variant handled externally. ") + + public Boolean getIsVariantAssignmentExternal() { + return isVariantAssignmentExternal; + } + + + public void setIsVariantAssignmentExternal(Boolean isVariantAssignmentExternal) { + this.isVariantAssignmentExternal = isVariantAssignmentExternal; + } + + + public Experiment campaign(Campaign campaign) { + + this.campaign = campaign; + return this; + } + + /** + * Get campaign + * @return campaign + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Campaign getCampaign() { + return campaign; + } + + + public void setCampaign(Campaign campaign) { + this.campaign = campaign; + } + + + public Experiment activated(OffsetDateTime activated) { + + this.activated = activated; + return this; + } + + /** + * The date and time the experiment was activated. + * @return activated + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date and time the experiment was activated. ") + + public OffsetDateTime getActivated() { + return activated; + } + + + public void setActivated(OffsetDateTime activated) { + this.activated = activated; + } + + + public Experiment state(StateEnum state) { + + this.state = state; + return this; + } + + /** + * A disabled experiment is not evaluated for rules or coupons. + * @return state + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "enabled", value = "A disabled experiment is not evaluated for rules or coupons. ") + + public StateEnum getState() { + return state; + } + + + public void setState(StateEnum state) { + this.state = state; + } + + + public Experiment variants(List variants) { + + this.variants = variants; + return this; + } + + public Experiment addVariantsItem(ExperimentVariant variantsItem) { + if (this.variants == null) { + this.variants = new ArrayList(); + } + this.variants.add(variantsItem); + return this; + } + + /** + * Get variants + * @return variants + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getVariants() { + return variants; + } + + + public void setVariants(List variants) { + this.variants = variants; + } + + + public Experiment deletedat(OffsetDateTime deletedat) { + + this.deletedat = deletedat; + return this; + } + + /** + * The date and time the experiment was deleted. + * @return deletedat + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date and time the experiment 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; + } + Experiment experiment = (Experiment) o; + return Objects.equals(this.id, experiment.id) && + Objects.equals(this.created, experiment.created) && + Objects.equals(this.applicationId, experiment.applicationId) && + Objects.equals(this.isVariantAssignmentExternal, experiment.isVariantAssignmentExternal) && + Objects.equals(this.campaign, experiment.campaign) && + Objects.equals(this.activated, experiment.activated) && + Objects.equals(this.state, experiment.state) && + Objects.equals(this.variants, experiment.variants) && + Objects.equals(this.deletedat, experiment.deletedat); + } + + @Override + public int hashCode() { + return Objects.hash(id, created, applicationId, isVariantAssignmentExternal, campaign, activated, state, variants, deletedat); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Experiment {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" created: ").append(toIndentedString(created)).append("\n"); + sb.append(" applicationId: ").append(toIndentedString(applicationId)).append("\n"); + sb.append(" isVariantAssignmentExternal: ").append(toIndentedString(isVariantAssignmentExternal)).append("\n"); + sb.append(" campaign: ").append(toIndentedString(campaign)).append("\n"); + sb.append(" activated: ").append(toIndentedString(activated)).append("\n"); + sb.append(" state: ").append(toIndentedString(state)).append("\n"); + sb.append(" variants: ").append(toIndentedString(variants)).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/ExperimentResults.java b/src/main/java/one/talon/model/ExperimentResults.java new file mode 100644 index 00000000..57919eb9 --- /dev/null +++ b/src/main/java/one/talon/model/ExperimentResults.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.ExperimentVariantResult; +import one.talon.model.ExperimentVariantResultConfidence; + +/** + * ExperimentResults + */ + +public class ExperimentResults { + public static final String SERIALIZED_NAME_VARIANTS = "variants"; + @SerializedName(SERIALIZED_NAME_VARIANTS) + private List variants = null; + + public static final String SERIALIZED_NAME_CONFIDENCE = "confidence"; + @SerializedName(SERIALIZED_NAME_CONFIDENCE) + private ExperimentVariantResultConfidence confidence; + + + public ExperimentResults variants(List variants) { + + this.variants = variants; + return this; + } + + public ExperimentResults addVariantsItem(ExperimentVariantResult variantsItem) { + if (this.variants == null) { + this.variants = new ArrayList(); + } + this.variants.add(variantsItem); + return this; + } + + /** + * Get variants + * @return variants + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getVariants() { + return variants; + } + + + public void setVariants(List variants) { + this.variants = variants; + } + + + public ExperimentResults confidence(ExperimentVariantResultConfidence confidence) { + + this.confidence = confidence; + return this; + } + + /** + * Get confidence + * @return confidence + **/ + @ApiModelProperty(required = true, value = "") + + public ExperimentVariantResultConfidence getConfidence() { + return confidence; + } + + + public void setConfidence(ExperimentVariantResultConfidence confidence) { + this.confidence = confidence; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ExperimentResults experimentResults = (ExperimentResults) o; + return Objects.equals(this.variants, experimentResults.variants) && + Objects.equals(this.confidence, experimentResults.confidence); + } + + @Override + public int hashCode() { + return Objects.hash(variants, confidence); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ExperimentResults {\n"); + sb.append(" variants: ").append(toIndentedString(variants)).append("\n"); + sb.append(" confidence: ").append(toIndentedString(confidence)).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/ExperimentVariant.java b/src/main/java/one/talon/model/ExperimentVariant.java new file mode 100644 index 00000000..722a0b50 --- /dev/null +++ b/src/main/java/one/talon/model/ExperimentVariant.java @@ -0,0 +1,271 @@ +/* + * 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.Ruleset; +import org.threeten.bp.OffsetDateTime; + +/** + * ExperimentVariant + */ + +public class ExperimentVariant { + 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_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_EXPERIMENT_ID = "experimentId"; + @SerializedName(SERIALIZED_NAME_EXPERIMENT_ID) + private Long experimentId; + + public static final String SERIALIZED_NAME_RULESET = "ruleset"; + @SerializedName(SERIALIZED_NAME_RULESET) + private Ruleset ruleset; + + public static final String SERIALIZED_NAME_WEIGHT = "weight"; + @SerializedName(SERIALIZED_NAME_WEIGHT) + private Long weight; + + public static final String SERIALIZED_NAME_IS_PRIMARY = "isPrimary"; + @SerializedName(SERIALIZED_NAME_IS_PRIMARY) + private Boolean isPrimary; + + + public ExperimentVariant 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 ExperimentVariant 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 ExperimentVariant name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(example = "Variant A", required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public ExperimentVariant experimentId(Long experimentId) { + + this.experimentId = experimentId; + return this; + } + + /** + * Get experimentId + * @return experimentId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "10", value = "") + + public Long getExperimentId() { + return experimentId; + } + + + public void setExperimentId(Long experimentId) { + this.experimentId = experimentId; + } + + + public ExperimentVariant ruleset(Ruleset ruleset) { + + this.ruleset = ruleset; + return this; + } + + /** + * Get ruleset + * @return ruleset + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public Ruleset getRuleset() { + return ruleset; + } + + + public void setRuleset(Ruleset ruleset) { + this.ruleset = ruleset; + } + + + public ExperimentVariant weight(Long weight) { + + this.weight = weight; + return this; + } + + /** + * Get weight + * @return weight + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "12", value = "") + + public Long getWeight() { + return weight; + } + + + public void setWeight(Long weight) { + this.weight = weight; + } + + + public ExperimentVariant isPrimary(Boolean isPrimary) { + + this.isPrimary = isPrimary; + return this; + } + + /** + * Get isPrimary + * @return isPrimary + **/ + @ApiModelProperty(example = "true", required = true, value = "") + + public Boolean getIsPrimary() { + return isPrimary; + } + + + public void setIsPrimary(Boolean isPrimary) { + this.isPrimary = isPrimary; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ExperimentVariant experimentVariant = (ExperimentVariant) o; + return Objects.equals(this.id, experimentVariant.id) && + Objects.equals(this.created, experimentVariant.created) && + Objects.equals(this.name, experimentVariant.name) && + Objects.equals(this.experimentId, experimentVariant.experimentId) && + Objects.equals(this.ruleset, experimentVariant.ruleset) && + Objects.equals(this.weight, experimentVariant.weight) && + Objects.equals(this.isPrimary, experimentVariant.isPrimary); + } + + @Override + public int hashCode() { + return Objects.hash(id, created, name, experimentId, ruleset, weight, isPrimary); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ExperimentVariant {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" created: ").append(toIndentedString(created)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" experimentId: ").append(toIndentedString(experimentId)).append("\n"); + sb.append(" ruleset: ").append(toIndentedString(ruleset)).append("\n"); + sb.append(" weight: ").append(toIndentedString(weight)).append("\n"); + sb.append(" isPrimary: ").append(toIndentedString(isPrimary)).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/ExperimentVariantAllocation.java b/src/main/java/one/talon/model/ExperimentVariantAllocation.java new file mode 100644 index 00000000..4a3498ab --- /dev/null +++ b/src/main/java/one/talon/model/ExperimentVariantAllocation.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; + +/** + * ExperimentVariantAllocation + */ + +public class ExperimentVariantAllocation { + public static final String SERIALIZED_NAME_EXPERIMENT_I_D = "experimentID"; + @SerializedName(SERIALIZED_NAME_EXPERIMENT_I_D) + private Long experimentID; + + public static final String SERIALIZED_NAME_VARIANT_I_D = "variantID"; + @SerializedName(SERIALIZED_NAME_VARIANT_I_D) + private Long variantID; + + + public ExperimentVariantAllocation experimentID(Long experimentID) { + + this.experimentID = experimentID; + return this; + } + + /** + * The ID of the experiment. + * @return experimentID + **/ + @ApiModelProperty(example = "1", required = true, value = "The ID of the experiment.") + + public Long getExperimentID() { + return experimentID; + } + + + public void setExperimentID(Long experimentID) { + this.experimentID = experimentID; + } + + + public ExperimentVariantAllocation variantID(Long variantID) { + + this.variantID = variantID; + return this; + } + + /** + * The ID of the variant to be allocated. + * @return variantID + **/ + @ApiModelProperty(example = "2", required = true, value = "The ID of the variant to be allocated.") + + public Long getVariantID() { + return variantID; + } + + + public void setVariantID(Long variantID) { + this.variantID = variantID; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ExperimentVariantAllocation experimentVariantAllocation = (ExperimentVariantAllocation) o; + return Objects.equals(this.experimentID, experimentVariantAllocation.experimentID) && + Objects.equals(this.variantID, experimentVariantAllocation.variantID); + } + + @Override + public int hashCode() { + return Objects.hash(experimentID, variantID); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ExperimentVariantAllocation {\n"); + sb.append(" experimentID: ").append(toIndentedString(experimentID)).append("\n"); + sb.append(" variantID: ").append(toIndentedString(variantID)).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/ExperimentVariantResult.java b/src/main/java/one/talon/model/ExperimentVariantResult.java new file mode 100644 index 00000000..e3db0587 --- /dev/null +++ b/src/main/java/one/talon/model/ExperimentVariantResult.java @@ -0,0 +1,361 @@ +/* + * 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; + +/** + * ExperimentVariantResult + */ + +public class ExperimentVariantResult { + public static final String SERIALIZED_NAME_VARIANT_ID = "variantId"; + @SerializedName(SERIALIZED_NAME_VARIANT_ID) + private Long variantId; + + public static final String SERIALIZED_NAME_VARIANT_NAME = "variantName"; + @SerializedName(SERIALIZED_NAME_VARIANT_NAME) + private String variantName; + + public static final String SERIALIZED_NAME_VARIANT_WEIGHT = "variantWeight"; + @SerializedName(SERIALIZED_NAME_VARIANT_WEIGHT) + private Long variantWeight; + + public static final String SERIALIZED_NAME_TOTAL_REVENUE = "totalRevenue"; + @SerializedName(SERIALIZED_NAME_TOTAL_REVENUE) + private BigDecimal totalRevenue; + + public static final String SERIALIZED_NAME_SESSIONS_COUNT = "sessionsCount"; + @SerializedName(SERIALIZED_NAME_SESSIONS_COUNT) + private BigDecimal sessionsCount; + + public static final String SERIALIZED_NAME_AVG_ITEMS_PER_SESSION = "avgItemsPerSession"; + @SerializedName(SERIALIZED_NAME_AVG_ITEMS_PER_SESSION) + private BigDecimal avgItemsPerSession; + + public static final String SERIALIZED_NAME_AVG_SESSION_VALUE = "avgSessionValue"; + @SerializedName(SERIALIZED_NAME_AVG_SESSION_VALUE) + private BigDecimal avgSessionValue; + + public static final String SERIALIZED_NAME_AVG_DISCOUNTED_SESSION_VALUE = "avgDiscountedSessionValue"; + @SerializedName(SERIALIZED_NAME_AVG_DISCOUNTED_SESSION_VALUE) + private BigDecimal avgDiscountedSessionValue; + + public static final String SERIALIZED_NAME_TOTAL_DISCOUNTS = "totalDiscounts"; + @SerializedName(SERIALIZED_NAME_TOTAL_DISCOUNTS) + private BigDecimal totalDiscounts; + + public static final String SERIALIZED_NAME_COUPONS_COUNT = "couponsCount"; + @SerializedName(SERIALIZED_NAME_COUPONS_COUNT) + private BigDecimal couponsCount; + + + public ExperimentVariantResult variantId(Long variantId) { + + this.variantId = variantId; + return this; + } + + /** + * The ID of the variant. + * @return variantId + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "1", value = "The ID of the variant.") + + public Long getVariantId() { + return variantId; + } + + + public void setVariantId(Long variantId) { + this.variantId = variantId; + } + + + public ExperimentVariantResult variantName(String variantName) { + + this.variantName = variantName; + return this; + } + + /** + * The name of the variant. + * @return variantName + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "Variant A", value = "The name of the variant.") + + public String getVariantName() { + return variantName; + } + + + public void setVariantName(String variantName) { + this.variantName = variantName; + } + + + public ExperimentVariantResult variantWeight(Long variantWeight) { + + this.variantWeight = variantWeight; + return this; + } + + /** + * The weight of the variant. + * @return variantWeight + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "50", value = "The weight of the variant.") + + public Long getVariantWeight() { + return variantWeight; + } + + + public void setVariantWeight(Long variantWeight) { + this.variantWeight = variantWeight; + } + + + public ExperimentVariantResult totalRevenue(BigDecimal totalRevenue) { + + this.totalRevenue = totalRevenue; + return this; + } + + /** + * The total, pre-discount value of all items purchased in a customer session. + * @return totalRevenue + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "100.0", value = "The total, pre-discount value of all items purchased in a customer session.") + + public BigDecimal getTotalRevenue() { + return totalRevenue; + } + + + public void setTotalRevenue(BigDecimal totalRevenue) { + this.totalRevenue = totalRevenue; + } + + + public ExperimentVariantResult sessionsCount(BigDecimal sessionsCount) { + + this.sessionsCount = sessionsCount; + return this; + } + + /** + * The number of all closed sessions. + * @return sessionsCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "100.0", value = "The number of all closed sessions.") + + public BigDecimal getSessionsCount() { + return sessionsCount; + } + + + public void setSessionsCount(BigDecimal sessionsCount) { + this.sessionsCount = sessionsCount; + } + + + public ExperimentVariantResult avgItemsPerSession(BigDecimal avgItemsPerSession) { + + this.avgItemsPerSession = avgItemsPerSession; + return this; + } + + /** + * The number of items from sessions divided by the number of sessions. + * @return avgItemsPerSession + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "100.0", value = "The number of items from sessions divided by the number of sessions.") + + public BigDecimal getAvgItemsPerSession() { + return avgItemsPerSession; + } + + + public void setAvgItemsPerSession(BigDecimal avgItemsPerSession) { + this.avgItemsPerSession = avgItemsPerSession; + } + + + public ExperimentVariantResult avgSessionValue(BigDecimal avgSessionValue) { + + this.avgSessionValue = avgSessionValue; + return this; + } + + /** + * The average customer session value, calculated by dividing the revenue value by the number of sessions. + * @return avgSessionValue + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "100.0", value = "The average customer session value, calculated by dividing the revenue value by the number of sessions.") + + public BigDecimal getAvgSessionValue() { + return avgSessionValue; + } + + + public void setAvgSessionValue(BigDecimal avgSessionValue) { + this.avgSessionValue = avgSessionValue; + } + + + public ExperimentVariantResult avgDiscountedSessionValue(BigDecimal avgDiscountedSessionValue) { + + this.avgDiscountedSessionValue = avgDiscountedSessionValue; + return this; + } + + /** + * The average customer session value, calculated by dividing the revenue value by the number of sessions. + * @return avgDiscountedSessionValue + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "100.0", value = "The average customer session value, calculated by dividing the revenue value by the number of sessions.") + + public BigDecimal getAvgDiscountedSessionValue() { + return avgDiscountedSessionValue; + } + + + public void setAvgDiscountedSessionValue(BigDecimal avgDiscountedSessionValue) { + this.avgDiscountedSessionValue = avgDiscountedSessionValue; + } + + + public ExperimentVariantResult totalDiscounts(BigDecimal totalDiscounts) { + + this.totalDiscounts = totalDiscounts; + return this; + } + + /** + * The total value of discounts given for cart items in sessions. + * @return totalDiscounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "10.0", value = "The total value of discounts given for cart items in sessions.") + + public BigDecimal getTotalDiscounts() { + return totalDiscounts; + } + + + public void setTotalDiscounts(BigDecimal totalDiscounts) { + this.totalDiscounts = totalDiscounts; + } + + + public ExperimentVariantResult couponsCount(BigDecimal couponsCount) { + + this.couponsCount = couponsCount; + return this; + } + + /** + * The number of times a coupon was successfully redeemed in sessions. + * @return couponsCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "12.0", value = "The number of times a coupon was successfully redeemed in sessions.") + + public BigDecimal getCouponsCount() { + return couponsCount; + } + + + public void setCouponsCount(BigDecimal couponsCount) { + this.couponsCount = couponsCount; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ExperimentVariantResult experimentVariantResult = (ExperimentVariantResult) o; + return Objects.equals(this.variantId, experimentVariantResult.variantId) && + Objects.equals(this.variantName, experimentVariantResult.variantName) && + Objects.equals(this.variantWeight, experimentVariantResult.variantWeight) && + Objects.equals(this.totalRevenue, experimentVariantResult.totalRevenue) && + Objects.equals(this.sessionsCount, experimentVariantResult.sessionsCount) && + Objects.equals(this.avgItemsPerSession, experimentVariantResult.avgItemsPerSession) && + Objects.equals(this.avgSessionValue, experimentVariantResult.avgSessionValue) && + Objects.equals(this.avgDiscountedSessionValue, experimentVariantResult.avgDiscountedSessionValue) && + Objects.equals(this.totalDiscounts, experimentVariantResult.totalDiscounts) && + Objects.equals(this.couponsCount, experimentVariantResult.couponsCount); + } + + @Override + public int hashCode() { + return Objects.hash(variantId, variantName, variantWeight, totalRevenue, sessionsCount, avgItemsPerSession, avgSessionValue, avgDiscountedSessionValue, totalDiscounts, couponsCount); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ExperimentVariantResult {\n"); + sb.append(" variantId: ").append(toIndentedString(variantId)).append("\n"); + sb.append(" variantName: ").append(toIndentedString(variantName)).append("\n"); + sb.append(" variantWeight: ").append(toIndentedString(variantWeight)).append("\n"); + sb.append(" totalRevenue: ").append(toIndentedString(totalRevenue)).append("\n"); + sb.append(" sessionsCount: ").append(toIndentedString(sessionsCount)).append("\n"); + sb.append(" avgItemsPerSession: ").append(toIndentedString(avgItemsPerSession)).append("\n"); + sb.append(" avgSessionValue: ").append(toIndentedString(avgSessionValue)).append("\n"); + sb.append(" avgDiscountedSessionValue: ").append(toIndentedString(avgDiscountedSessionValue)).append("\n"); + sb.append(" totalDiscounts: ").append(toIndentedString(totalDiscounts)).append("\n"); + sb.append(" couponsCount: ").append(toIndentedString(couponsCount)).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/ExperimentVariantResultConfidence.java b/src/main/java/one/talon/model/ExperimentVariantResultConfidence.java new file mode 100644 index 00000000..6f684246 --- /dev/null +++ b/src/main/java/one/talon/model/ExperimentVariantResultConfidence.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 java.math.BigDecimal; + +/** + * ExperimentVariantResultConfidence + */ + +public class ExperimentVariantResultConfidence { + public static final String SERIALIZED_NAME_AVG_SESSION_VALUE = "avgSessionValue"; + @SerializedName(SERIALIZED_NAME_AVG_SESSION_VALUE) + private BigDecimal avgSessionValue; + + public static final String SERIALIZED_NAME_AVG_DISCOUNTED_SESSION_VALUE = "avgDiscountedSessionValue"; + @SerializedName(SERIALIZED_NAME_AVG_DISCOUNTED_SESSION_VALUE) + private BigDecimal avgDiscountedSessionValue; + + public static final String SERIALIZED_NAME_AVG_ITEMS_PER_SESSION = "avgItemsPerSession"; + @SerializedName(SERIALIZED_NAME_AVG_ITEMS_PER_SESSION) + private BigDecimal avgItemsPerSession; + + + public ExperimentVariantResultConfidence avgSessionValue(BigDecimal avgSessionValue) { + + this.avgSessionValue = avgSessionValue; + return this; + } + + /** + * The calculated confidence value of the average customer session value. + * @return avgSessionValue + **/ + @ApiModelProperty(example = "100.0", required = true, value = "The calculated confidence value of the average customer session value.") + + public BigDecimal getAvgSessionValue() { + return avgSessionValue; + } + + + public void setAvgSessionValue(BigDecimal avgSessionValue) { + this.avgSessionValue = avgSessionValue; + } + + + public ExperimentVariantResultConfidence avgDiscountedSessionValue(BigDecimal avgDiscountedSessionValue) { + + this.avgDiscountedSessionValue = avgDiscountedSessionValue; + return this; + } + + /** + * The calculated confidence value of the average customer discounted session value. + * @return avgDiscountedSessionValue + **/ + @ApiModelProperty(example = "100.0", required = true, value = "The calculated confidence value of the average customer discounted session value.") + + public BigDecimal getAvgDiscountedSessionValue() { + return avgDiscountedSessionValue; + } + + + public void setAvgDiscountedSessionValue(BigDecimal avgDiscountedSessionValue) { + this.avgDiscountedSessionValue = avgDiscountedSessionValue; + } + + + public ExperimentVariantResultConfidence avgItemsPerSession(BigDecimal avgItemsPerSession) { + + this.avgItemsPerSession = avgItemsPerSession; + return this; + } + + /** + * The calculated confidence value of the number of items from sessions value. + * @return avgItemsPerSession + **/ + @ApiModelProperty(example = "100.0", required = true, value = "The calculated confidence value of the number of items from sessions value.") + + public BigDecimal getAvgItemsPerSession() { + return avgItemsPerSession; + } + + + public void setAvgItemsPerSession(BigDecimal avgItemsPerSession) { + this.avgItemsPerSession = avgItemsPerSession; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ExperimentVariantResultConfidence experimentVariantResultConfidence = (ExperimentVariantResultConfidence) o; + return Objects.equals(this.avgSessionValue, experimentVariantResultConfidence.avgSessionValue) && + Objects.equals(this.avgDiscountedSessionValue, experimentVariantResultConfidence.avgDiscountedSessionValue) && + Objects.equals(this.avgItemsPerSession, experimentVariantResultConfidence.avgItemsPerSession); + } + + @Override + public int hashCode() { + return Objects.hash(avgSessionValue, avgDiscountedSessionValue, avgItemsPerSession); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ExperimentVariantResultConfidence {\n"); + sb.append(" avgSessionValue: ").append(toIndentedString(avgSessionValue)).append("\n"); + sb.append(" avgDiscountedSessionValue: ").append(toIndentedString(avgDiscountedSessionValue)).append("\n"); + sb.append(" avgItemsPerSession: ").append(toIndentedString(avgItemsPerSession)).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/FuncArgDef.java b/src/main/java/one/talon/model/FuncArgDef.java index a499ef4b..c67eab35 100644 --- a/src/main/java/one/talon/model/FuncArgDef.java +++ b/src/main/java/one/talon/model/FuncArgDef.java @@ -42,7 +42,9 @@ public enum TypeEnum { TIME("time"), - _LIST_STRING_("(list string)"); + _LIST_STRING_("(list string)"), + + _LIST_NUMBER_("(list number)"); private String value; diff --git a/src/main/java/one/talon/model/InfluencingCampaignDetails.java b/src/main/java/one/talon/model/InfluencingCampaignDetails.java new file mode 100644 index 00000000..b18fcbbc --- /dev/null +++ b/src/main/java/one/talon/model/InfluencingCampaignDetails.java @@ -0,0 +1,128 @@ +/* + * 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; + +/** + * Details about a campaign that influenced the final price. + */ +@ApiModel(description = "Details about a campaign that influenced the final price.") + +public class InfluencingCampaignDetails { + public static final String SERIALIZED_NAME_CAMPAIGN_ID = "campaignId"; + @SerializedName(SERIALIZED_NAME_CAMPAIGN_ID) + private Long campaignId; + + public static final String SERIALIZED_NAME_DISCOUNT_VALUE = "discountValue"; + @SerializedName(SERIALIZED_NAME_DISCOUNT_VALUE) + private BigDecimal discountValue; + + + public InfluencingCampaignDetails campaignId(Long campaignId) { + + this.campaignId = campaignId; + return this; + } + + /** + * Identifier of the campaign that influenced the final price. + * @return campaignId + **/ + @ApiModelProperty(required = true, value = "Identifier of the campaign that influenced the final price.") + + public Long getCampaignId() { + return campaignId; + } + + + public void setCampaignId(Long campaignId) { + this.campaignId = campaignId; + } + + + public InfluencingCampaignDetails discountValue(BigDecimal discountValue) { + + this.discountValue = discountValue; + return this; + } + + /** + * Discount value applied by the campaign. + * @return discountValue + **/ + @ApiModelProperty(required = true, value = "Discount value applied by the campaign.") + + public BigDecimal getDiscountValue() { + return discountValue; + } + + + public void setDiscountValue(BigDecimal discountValue) { + this.discountValue = discountValue; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InfluencingCampaignDetails influencingCampaignDetails = (InfluencingCampaignDetails) o; + return Objects.equals(this.campaignId, influencingCampaignDetails.campaignId) && + Objects.equals(this.discountValue, influencingCampaignDetails.discountValue); + } + + @Override + public int hashCode() { + return Objects.hash(campaignId, discountValue); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InfluencingCampaignDetails {\n"); + sb.append(" campaignId: ").append(toIndentedString(campaignId)).append("\n"); + sb.append(" discountValue: ").append(toIndentedString(discountValue)).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/InlineResponse20050.java b/src/main/java/one/talon/model/InlineResponse20050.java index 67c26332..4bdecf22 100644 --- a/src/main/java/one/talon/model/InlineResponse20050.java +++ b/src/main/java/one/talon/model/InlineResponse20050.java @@ -25,52 +25,25 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import one.talon.model.Achievement; +import one.talon.model.CouponFailureSummary; /** * 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; - } + private List data = new ArrayList(); - public InlineResponse20050 data(List data) { + public InlineResponse20050 data(List data) { this.data = data; return this; } - public InlineResponse20050 addDataItem(Achievement dataItem) { + public InlineResponse20050 addDataItem(CouponFailureSummary dataItem) { this.data.add(dataItem); return this; } @@ -81,12 +54,12 @@ public InlineResponse20050 addDataItem(Achievement 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,13 +73,12 @@ public boolean equals(java.lang.Object o) { return false; } InlineResponse20050 inlineResponse20050 = (InlineResponse20050) o; - return Objects.equals(this.hasMore, inlineResponse20050.hasMore) && - Objects.equals(this.data, inlineResponse20050.data); + return Objects.equals(this.data, inlineResponse20050.data); } @Override public int hashCode() { - return Objects.hash(hasMore, data); + return Objects.hash(data); } @@ -114,7 +86,6 @@ public int hashCode() { 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(); diff --git a/src/main/java/one/talon/model/NewCampaign.java b/src/main/java/one/talon/model/NewCampaign.java index 33a0ec52..29981647 100644 --- a/src/main/java/one/talon/model/NewCampaign.java +++ b/src/main/java/one/talon/model/NewCampaign.java @@ -115,6 +115,10 @@ public StateEnum read(final JsonReader jsonReader) throws IOException { @SerializedName(SERIALIZED_NAME_TAGS) private List tags = new ArrayList(); + public static final String SERIALIZED_NAME_REEVALUATE_ON_RETURN = "reevaluateOnReturn"; + @SerializedName(SERIALIZED_NAME_REEVALUATE_ON_RETURN) + private Boolean reevaluateOnReturn; + /** * Gets or Sets features */ @@ -436,6 +440,29 @@ public void setTags(List tags) { } + public NewCampaign reevaluateOnReturn(Boolean reevaluateOnReturn) { + + this.reevaluateOnReturn = reevaluateOnReturn; + return this; + } + + /** + * Indicates whether this campaign should be reevaluated when a customer returns an item. + * @return reevaluateOnReturn + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "true", value = "Indicates whether this campaign should be reevaluated when a customer returns an item.") + + public Boolean getReevaluateOnReturn() { + return reevaluateOnReturn; + } + + + public void setReevaluateOnReturn(Boolean reevaluateOnReturn) { + this.reevaluateOnReturn = reevaluateOnReturn; + } + + public NewCampaign features(List features) { this.features = features; @@ -661,6 +688,7 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.state, newCampaign.state) && Objects.equals(this.activeRulesetId, newCampaign.activeRulesetId) && Objects.equals(this.tags, newCampaign.tags) && + Objects.equals(this.reevaluateOnReturn, newCampaign.reevaluateOnReturn) && Objects.equals(this.features, newCampaign.features) && Objects.equals(this.couponSettings, newCampaign.couponSettings) && Objects.equals(this.referralSettings, newCampaign.referralSettings) && @@ -673,7 +701,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(name, description, startTime, endTime, attributes, state, activeRulesetId, tags, features, couponSettings, referralSettings, limits, campaignGroups, type, linkedStoreIds, evaluationGroupId); + return Objects.hash(name, description, startTime, endTime, attributes, state, activeRulesetId, tags, reevaluateOnReturn, features, couponSettings, referralSettings, limits, campaignGroups, type, linkedStoreIds, evaluationGroupId); } @@ -689,6 +717,7 @@ public String toString() { sb.append(" state: ").append(toIndentedString(state)).append("\n"); sb.append(" activeRulesetId: ").append(toIndentedString(activeRulesetId)).append("\n"); sb.append(" tags: ").append(toIndentedString(tags)).append("\n"); + sb.append(" reevaluateOnReturn: ").append(toIndentedString(reevaluateOnReturn)).append("\n"); sb.append(" features: ").append(toIndentedString(features)).append("\n"); sb.append(" couponSettings: ").append(toIndentedString(couponSettings)).append("\n"); sb.append(" referralSettings: ").append(toIndentedString(referralSettings)).append("\n"); diff --git a/src/main/java/one/talon/model/NewCampaignTemplate.java b/src/main/java/one/talon/model/NewCampaignTemplate.java index e85bb918..085350d2 100644 --- a/src/main/java/one/talon/model/NewCampaignTemplate.java +++ b/src/main/java/one/talon/model/NewCampaignTemplate.java @@ -113,6 +113,10 @@ public StateEnum read(final JsonReader jsonReader) throws IOException { @SerializedName(SERIALIZED_NAME_TAGS) private List tags = null; + public static final String SERIALIZED_NAME_REEVALUATE_ON_RETURN = "reevaluateOnReturn"; + @SerializedName(SERIALIZED_NAME_REEVALUATE_ON_RETURN) + private Boolean reevaluateOnReturn; + /** * Gets or Sets features */ @@ -417,6 +421,29 @@ public void setTags(List tags) { } + public NewCampaignTemplate reevaluateOnReturn(Boolean reevaluateOnReturn) { + + this.reevaluateOnReturn = reevaluateOnReturn; + return this; + } + + /** + * Indicates whether campaigns created from this template should be reevaluated when a customer returns an item. + * @return reevaluateOnReturn + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "true", value = "Indicates whether campaigns created from this template should be reevaluated when a customer returns an item.") + + public Boolean getReevaluateOnReturn() { + return reevaluateOnReturn; + } + + + public void setReevaluateOnReturn(Boolean reevaluateOnReturn) { + this.reevaluateOnReturn = reevaluateOnReturn; + } + + public NewCampaignTemplate features(List features) { this.features = features; @@ -671,6 +698,7 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.couponAttributes, newCampaignTemplate.couponAttributes) && Objects.equals(this.state, newCampaignTemplate.state) && Objects.equals(this.tags, newCampaignTemplate.tags) && + Objects.equals(this.reevaluateOnReturn, newCampaignTemplate.reevaluateOnReturn) && Objects.equals(this.features, newCampaignTemplate.features) && Objects.equals(this.couponSettings, newCampaignTemplate.couponSettings) && Objects.equals(this.couponReservationSettings, newCampaignTemplate.couponReservationSettings) && @@ -684,7 +712,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(name, description, instructions, campaignAttributes, couponAttributes, state, tags, features, couponSettings, couponReservationSettings, referralSettings, limits, templateParams, campaignCollections, defaultCampaignGroupId, campaignType); + return Objects.hash(name, description, instructions, campaignAttributes, couponAttributes, state, tags, reevaluateOnReturn, features, couponSettings, couponReservationSettings, referralSettings, limits, templateParams, campaignCollections, defaultCampaignGroupId, campaignType); } @@ -699,6 +727,7 @@ public String toString() { sb.append(" couponAttributes: ").append(toIndentedString(couponAttributes)).append("\n"); sb.append(" state: ").append(toIndentedString(state)).append("\n"); sb.append(" tags: ").append(toIndentedString(tags)).append("\n"); + sb.append(" reevaluateOnReturn: ").append(toIndentedString(reevaluateOnReturn)).append("\n"); sb.append(" features: ").append(toIndentedString(features)).append("\n"); sb.append(" couponSettings: ").append(toIndentedString(couponSettings)).append("\n"); sb.append(" couponReservationSettings: ").append(toIndentedString(couponReservationSettings)).append("\n"); diff --git a/src/main/java/one/talon/model/NewCollectionsCatalog.java b/src/main/java/one/talon/model/NewCollectionsCatalog.java new file mode 100644 index 00000000..9a85fd12 --- /dev/null +++ b/src/main/java/one/talon/model/NewCollectionsCatalog.java @@ -0,0 +1,285 @@ +/* + * 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.CartItemFilterTemplate; +import one.talon.model.CatalogRule; + +/** + * NewCollectionsCatalog + */ + +public class NewCollectionsCatalog { + 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; + + /** + * Category used to group collection catalogs. + */ + @JsonAdapter(CategoryEnum.Adapter.class) + public enum CategoryEnum { + PROMOTIONS("promotions"), + + PRICING("pricing"), + + LOYALTY("loyalty"), + + CUSTOM("custom"); + + private String value; + + CategoryEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CategoryEnum fromValue(String value) { + for (CategoryEnum b : CategoryEnum.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 CategoryEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CategoryEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CategoryEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_CATEGORY = "category"; + @SerializedName(SERIALIZED_NAME_CATEGORY) + private CategoryEnum category = CategoryEnum.CUSTOM; + + public static final String SERIALIZED_NAME_RULES = "rules"; + @SerializedName(SERIALIZED_NAME_RULES) + private List rules = null; + + public static final String SERIALIZED_NAME_CART_ITEM_FILTERS = "cartItemFilters"; + @SerializedName(SERIALIZED_NAME_CART_ITEM_FILTERS) + private List cartItemFilters = null; + + + public NewCollectionsCatalog title(String title) { + + this.title = title; + return this; + } + + /** + * The display name for the collection catalog. + * @return title + **/ + @ApiModelProperty(example = "Customer loyalty boost", required = true, value = "The display name for the collection catalog.") + + public String getTitle() { + return title; + } + + + public void setTitle(String title) { + this.title = title; + } + + + public NewCollectionsCatalog description(String description) { + + this.description = description; + return this; + } + + /** + * A longer, more detailed description of the collection catalog. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A longer, more detailed description of the collection catalog.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public NewCollectionsCatalog category(CategoryEnum category) { + + this.category = category; + return this; + } + + /** + * Category used to group collection catalogs. + * @return category + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Category used to group collection catalogs.") + + public CategoryEnum getCategory() { + return category; + } + + + public void setCategory(CategoryEnum category) { + this.category = category; + } + + + public NewCollectionsCatalog rules(List rules) { + + this.rules = rules; + return this; + } + + public NewCollectionsCatalog addRulesItem(CatalogRule rulesItem) { + if (this.rules == null) { + this.rules = new ArrayList(); + } + this.rules.add(rulesItem); + return this; + } + + /** + * Array of rules to store in this collection catalog. Rules should only contain title (no description, as description is at the collection catalog level). At least one rule or cart item filter is required. + * @return rules + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Array of rules to store in this collection catalog. Rules should only contain title (no description, as description is at the collection catalog level). At least one rule or cart item filter is required.") + + public List getRules() { + return rules; + } + + + public void setRules(List rules) { + this.rules = rules; + } + + + public NewCollectionsCatalog cartItemFilters(List cartItemFilters) { + + this.cartItemFilters = cartItemFilters; + return this; + } + + public NewCollectionsCatalog addCartItemFiltersItem(CartItemFilterTemplate cartItemFiltersItem) { + if (this.cartItemFilters == null) { + this.cartItemFilters = new ArrayList(); + } + this.cartItemFilters.add(cartItemFiltersItem); + return this; + } + + /** + * Array of cart item filters to store in this collection catalog. If not provided, will be extracted from the rules. Cart item filters should only contain name (no description, as description is at the collection catalog level). + * @return cartItemFilters + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Array of cart item filters to store in this collection catalog. If not provided, will be extracted from the rules. Cart item filters should only contain name (no description, as description is at the collection catalog level).") + + public List getCartItemFilters() { + return cartItemFilters; + } + + + public void setCartItemFilters(List cartItemFilters) { + this.cartItemFilters = cartItemFilters; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewCollectionsCatalog newCollectionsCatalog = (NewCollectionsCatalog) o; + return Objects.equals(this.title, newCollectionsCatalog.title) && + Objects.equals(this.description, newCollectionsCatalog.description) && + Objects.equals(this.category, newCollectionsCatalog.category) && + Objects.equals(this.rules, newCollectionsCatalog.rules) && + Objects.equals(this.cartItemFilters, newCollectionsCatalog.cartItemFilters); + } + + @Override + public int hashCode() { + return Objects.hash(title, description, category, rules, cartItemFilters); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewCollectionsCatalog {\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" category: ").append(toIndentedString(category)).append("\n"); + sb.append(" rules: ").append(toIndentedString(rules)).append("\n"); + sb.append(" cartItemFilters: ").append(toIndentedString(cartItemFilters)).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/NewCouponCreationJob.java b/src/main/java/one/talon/model/NewCouponCreationJob.java index 476908e4..3379039b 100644 --- a/src/main/java/one/talon/model/NewCouponCreationJob.java +++ b/src/main/java/one/talon/model/NewCouponCreationJob.java @@ -64,6 +64,10 @@ public class NewCouponCreationJob { @SerializedName(SERIALIZED_NAME_ATTRIBUTES) private Object attributes; + public static final String SERIALIZED_NAME_IS_RESERVATION_MANDATORY = "isReservationMandatory"; + @SerializedName(SERIALIZED_NAME_IS_RESERVATION_MANDATORY) + private Boolean isReservationMandatory = false; + public NewCouponCreationJob usageLimit(Long usageLimit) { @@ -254,6 +258,29 @@ public void setAttributes(Object attributes) { } + public NewCouponCreationJob 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; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -270,12 +297,13 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.expiryDate, newCouponCreationJob.expiryDate) && Objects.equals(this.numberOfCoupons, newCouponCreationJob.numberOfCoupons) && Objects.equals(this.couponSettings, newCouponCreationJob.couponSettings) && - Objects.equals(this.attributes, newCouponCreationJob.attributes); + Objects.equals(this.attributes, newCouponCreationJob.attributes) && + Objects.equals(this.isReservationMandatory, newCouponCreationJob.isReservationMandatory); } @Override public int hashCode() { - return Objects.hash(usageLimit, discountLimit, reservationLimit, startDate, expiryDate, numberOfCoupons, couponSettings, attributes); + return Objects.hash(usageLimit, discountLimit, reservationLimit, startDate, expiryDate, numberOfCoupons, couponSettings, attributes, isReservationMandatory); } @@ -291,6 +319,7 @@ public String toString() { sb.append(" numberOfCoupons: ").append(toIndentedString(numberOfCoupons)).append("\n"); sb.append(" couponSettings: ").append(toIndentedString(couponSettings)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" isReservationMandatory: ").append(toIndentedString(isReservationMandatory)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/one/talon/model/NewCustomerSessionV2.java b/src/main/java/one/talon/model/NewCustomerSessionV2.java index f38c33fb..cfdf7e08 100644 --- a/src/main/java/one/talon/model/NewCustomerSessionV2.java +++ b/src/main/java/one/talon/model/NewCustomerSessionV2.java @@ -29,6 +29,7 @@ import java.util.Map; import one.talon.model.AdditionalCost; import one.talon.model.CartItem; +import one.talon.model.ExperimentVariantAllocation; /** * The representation of the customer session. @@ -119,6 +120,10 @@ public StateEnum read(final JsonReader jsonReader) throws IOException { @SerializedName(SERIALIZED_NAME_CART_ITEMS) private List cartItems = null; + public static final String SERIALIZED_NAME_EXPERIMENT_VARIANT_ALLOCATIONS = "experimentVariantAllocations"; + @SerializedName(SERIALIZED_NAME_EXPERIMENT_VARIANT_ALLOCATIONS) + private List experimentVariantAllocations = null; + public static final String SERIALIZED_NAME_ADDITIONAL_COSTS = "additionalCosts"; @SerializedName(SERIALIZED_NAME_ADDITIONAL_COSTS) private Map additionalCosts = null; @@ -348,6 +353,37 @@ public void setCartItems(List cartItems) { } + public NewCustomerSessionV2 experimentVariantAllocations(List experimentVariantAllocations) { + + this.experimentVariantAllocations = experimentVariantAllocations; + return this; + } + + public NewCustomerSessionV2 addExperimentVariantAllocationsItem(ExperimentVariantAllocation experimentVariantAllocationsItem) { + if (this.experimentVariantAllocations == null) { + this.experimentVariantAllocations = new ArrayList(); + } + this.experimentVariantAllocations.add(experimentVariantAllocationsItem); + return this; + } + + /** + * The experiment variant allocations to add to this session. + * @return experimentVariantAllocations + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The experiment variant allocations to add to this session. ") + + public List getExperimentVariantAllocations() { + return experimentVariantAllocations; + } + + + public void setExperimentVariantAllocations(List experimentVariantAllocations) { + this.experimentVariantAllocations = experimentVariantAllocations; + } + + public NewCustomerSessionV2 additionalCosts(Map additionalCosts) { this.additionalCosts = additionalCosts; @@ -450,6 +486,7 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.loyaltyCards, newCustomerSessionV2.loyaltyCards) && Objects.equals(this.state, newCustomerSessionV2.state) && Objects.equals(this.cartItems, newCustomerSessionV2.cartItems) && + Objects.equals(this.experimentVariantAllocations, newCustomerSessionV2.experimentVariantAllocations) && Objects.equals(this.additionalCosts, newCustomerSessionV2.additionalCosts) && Objects.equals(this.identifiers, newCustomerSessionV2.identifiers) && Objects.equals(this.attributes, newCustomerSessionV2.attributes); @@ -457,7 +494,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(profileId, storeIntegrationId, evaluableCampaignIds, couponCodes, referralCode, loyaltyCards, state, cartItems, additionalCosts, identifiers, attributes); + return Objects.hash(profileId, storeIntegrationId, evaluableCampaignIds, couponCodes, referralCode, loyaltyCards, state, cartItems, experimentVariantAllocations, additionalCosts, identifiers, attributes); } @@ -473,6 +510,7 @@ public String toString() { sb.append(" loyaltyCards: ").append(toIndentedString(loyaltyCards)).append("\n"); sb.append(" state: ").append(toIndentedString(state)).append("\n"); sb.append(" cartItems: ").append(toIndentedString(cartItems)).append("\n"); + sb.append(" experimentVariantAllocations: ").append(toIndentedString(experimentVariantAllocations)).append("\n"); sb.append(" additionalCosts: ").append(toIndentedString(additionalCosts)).append("\n"); sb.append(" identifiers: ").append(toIndentedString(identifiers)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); diff --git a/src/main/java/one/talon/model/NewExperiment.java b/src/main/java/one/talon/model/NewExperiment.java new file mode 100644 index 00000000..01ae6c21 --- /dev/null +++ b/src/main/java/one/talon/model/NewExperiment.java @@ -0,0 +1,233 @@ +/* + * 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.NewCampaign; +import org.threeten.bp.OffsetDateTime; + +/** + * NewExperiment + */ + +public class NewExperiment { + public static final String SERIALIZED_NAME_IS_VARIANT_ASSIGNMENT_EXTERNAL = "isVariantAssignmentExternal"; + @SerializedName(SERIALIZED_NAME_IS_VARIANT_ASSIGNMENT_EXTERNAL) + private Boolean isVariantAssignmentExternal; + + public static final String SERIALIZED_NAME_ACTIVATED = "activated"; + @SerializedName(SERIALIZED_NAME_ACTIVATED) + private OffsetDateTime activated; + + /** + * A disabled experiment is not evaluated for rules or coupons. + */ + @JsonAdapter(StateEnum.Adapter.class) + public enum StateEnum { + ENABLED("enabled"), + + DISABLED("disabled"); + + private String value; + + StateEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StateEnum fromValue(String value) { + for (StateEnum b : StateEnum.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 StateEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StateEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StateEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_STATE = "state"; + @SerializedName(SERIALIZED_NAME_STATE) + private StateEnum state = StateEnum.DISABLED; + + public static final String SERIALIZED_NAME_CAMPAIGN = "campaign"; + @SerializedName(SERIALIZED_NAME_CAMPAIGN) + private NewCampaign campaign; + + + public NewExperiment isVariantAssignmentExternal(Boolean isVariantAssignmentExternal) { + + this.isVariantAssignmentExternal = isVariantAssignmentExternal; + return this; + } + + /** + * The source of the assignment. - false - The assignment to the variant is handled internally by the Talon.Oneandled internally by the Talon.One. - true - The assignment to the variant handled externally. + * @return isVariantAssignmentExternal + **/ + @ApiModelProperty(required = true, value = "The source of the assignment. - false - The assignment to the variant is handled internally by the Talon.Oneandled internally by the Talon.One. - true - The assignment to the variant handled externally. ") + + public Boolean getIsVariantAssignmentExternal() { + return isVariantAssignmentExternal; + } + + + public void setIsVariantAssignmentExternal(Boolean isVariantAssignmentExternal) { + this.isVariantAssignmentExternal = isVariantAssignmentExternal; + } + + + public NewExperiment activated(OffsetDateTime activated) { + + this.activated = activated; + return this; + } + + /** + * The date and time the experiment was activated. + * @return activated + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The date and time the experiment was activated. ") + + public OffsetDateTime getActivated() { + return activated; + } + + + public void setActivated(OffsetDateTime activated) { + this.activated = activated; + } + + + public NewExperiment state(StateEnum state) { + + this.state = state; + return this; + } + + /** + * A disabled experiment is not evaluated for rules or coupons. + * @return state + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "enabled", value = "A disabled experiment is not evaluated for rules or coupons. ") + + public StateEnum getState() { + return state; + } + + + public void setState(StateEnum state) { + this.state = state; + } + + + public NewExperiment campaign(NewCampaign campaign) { + + this.campaign = campaign; + return this; + } + + /** + * Get campaign + * @return campaign + **/ + @ApiModelProperty(required = true, value = "") + + public NewCampaign getCampaign() { + return campaign; + } + + + public void setCampaign(NewCampaign campaign) { + this.campaign = campaign; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewExperiment newExperiment = (NewExperiment) o; + return Objects.equals(this.isVariantAssignmentExternal, newExperiment.isVariantAssignmentExternal) && + Objects.equals(this.activated, newExperiment.activated) && + Objects.equals(this.state, newExperiment.state) && + Objects.equals(this.campaign, newExperiment.campaign); + } + + @Override + public int hashCode() { + return Objects.hash(isVariantAssignmentExternal, activated, state, campaign); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewExperiment {\n"); + sb.append(" isVariantAssignmentExternal: ").append(toIndentedString(isVariantAssignmentExternal)).append("\n"); + sb.append(" activated: ").append(toIndentedString(activated)).append("\n"); + sb.append(" state: ").append(toIndentedString(state)).append("\n"); + sb.append(" campaign: ").append(toIndentedString(campaign)).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/NewExperimentVariant.java b/src/main/java/one/talon/model/NewExperimentVariant.java new file mode 100644 index 00000000..9ca8069a --- /dev/null +++ b/src/main/java/one/talon/model/NewExperimentVariant.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 one.talon.model.NewRuleset; + +/** + * NewExperimentVariant + */ + +public class NewExperimentVariant { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_WEIGHT = "weight"; + @SerializedName(SERIALIZED_NAME_WEIGHT) + private Long weight; + + public static final String SERIALIZED_NAME_RULESET = "ruleset"; + @SerializedName(SERIALIZED_NAME_RULESET) + private NewRuleset ruleset; + + public static final String SERIALIZED_NAME_IS_PRIMARY = "isPrimary"; + @SerializedName(SERIALIZED_NAME_IS_PRIMARY) + private Boolean isPrimary; + + + public NewExperimentVariant name(String name) { + + this.name = name; + return this; + } + + /** + * The name of this variant. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of this variant.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public NewExperimentVariant weight(Long weight) { + + this.weight = weight; + return this; + } + + /** + * Get weight + * @return weight + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "13", value = "") + + public Long getWeight() { + return weight; + } + + + public void setWeight(Long weight) { + this.weight = weight; + } + + + public NewExperimentVariant ruleset(NewRuleset ruleset) { + + this.ruleset = ruleset; + return this; + } + + /** + * Get ruleset + * @return ruleset + **/ + @ApiModelProperty(required = true, value = "") + + public NewRuleset getRuleset() { + return ruleset; + } + + + public void setRuleset(NewRuleset ruleset) { + this.ruleset = ruleset; + } + + + public NewExperimentVariant isPrimary(Boolean isPrimary) { + + this.isPrimary = isPrimary; + return this; + } + + /** + * Get isPrimary + * @return isPrimary + **/ + @ApiModelProperty(example = "true", required = true, value = "") + + public Boolean getIsPrimary() { + return isPrimary; + } + + + public void setIsPrimary(Boolean isPrimary) { + this.isPrimary = isPrimary; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewExperimentVariant newExperimentVariant = (NewExperimentVariant) o; + return Objects.equals(this.name, newExperimentVariant.name) && + Objects.equals(this.weight, newExperimentVariant.weight) && + Objects.equals(this.ruleset, newExperimentVariant.ruleset) && + Objects.equals(this.isPrimary, newExperimentVariant.isPrimary); + } + + @Override + public int hashCode() { + return Objects.hash(name, weight, ruleset, isPrimary); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewExperimentVariant {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" weight: ").append(toIndentedString(weight)).append("\n"); + sb.append(" ruleset: ").append(toIndentedString(ruleset)).append("\n"); + sb.append(" isPrimary: ").append(toIndentedString(isPrimary)).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/NewExperimentVariantArray.java b/src/main/java/one/talon/model/NewExperimentVariantArray.java new file mode 100644 index 00000000..0fbf949f --- /dev/null +++ b/src/main/java/one/talon/model/NewExperimentVariantArray.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.ArrayList; +import java.util.List; +import one.talon.model.NewExperimentVariant; + +/** + * NewExperimentVariantArray + */ + +public class NewExperimentVariantArray { + public static final String SERIALIZED_NAME_VARIANTS = "variants"; + @SerializedName(SERIALIZED_NAME_VARIANTS) + private List variants = new ArrayList(); + + + public NewExperimentVariantArray variants(List variants) { + + this.variants = variants; + return this; + } + + public NewExperimentVariantArray addVariantsItem(NewExperimentVariant variantsItem) { + this.variants.add(variantsItem); + return this; + } + + /** + * Array of experiment variants to create + * @return variants + **/ + @ApiModelProperty(required = true, value = "Array of experiment variants to create") + + public List getVariants() { + return variants; + } + + + public void setVariants(List variants) { + this.variants = variants; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewExperimentVariantArray newExperimentVariantArray = (NewExperimentVariantArray) o; + return Objects.equals(this.variants, newExperimentVariantArray.variants); + } + + @Override + public int hashCode() { + return Objects.hash(variants); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewExperimentVariantArray {\n"); + sb.append(" variants: ").append(toIndentedString(variants)).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 79759828..039c9b78 100644 --- a/src/main/java/one/talon/model/NewRevisionVersion.java +++ b/src/main/java/one/talon/model/NewRevisionVersion.java @@ -74,6 +74,10 @@ public class NewRevisionVersion { @SerializedName(SERIALIZED_NAME_LIMITS) private List limits = null; + public static final String SERIALIZED_NAME_REEVALUATE_ON_RETURN = "reevaluateOnReturn"; + @SerializedName(SERIALIZED_NAME_REEVALUATE_ON_RETURN) + private Boolean reevaluateOnReturn; + /** * Gets or Sets features */ @@ -256,11 +260,11 @@ public NewRevisionVersion activeRulesetId(Integer activeRulesetId) { } /** - * The ID of the ruleset this campaign template will use. + * The ID of the ruleset this campaign will use. * @return activeRulesetId **/ @javax.annotation.Nullable - @ApiModelProperty(example = "5", value = "The ID of the ruleset this campaign template will use.") + @ApiModelProperty(example = "5", value = "The ID of the ruleset this campaign will use.") public Integer getActiveRulesetId() { return activeRulesetId; @@ -287,11 +291,11 @@ public NewRevisionVersion addTagsItem(String tagsItem) { } /** - * A list of tags for the campaign template. + * A list of tags for the campaign. * @return tags **/ @javax.annotation.Nullable - @ApiModelProperty(value = "A list of tags for the campaign template.") + @ApiModelProperty(value = "A list of tags for the campaign.") public List getTags() { return tags; @@ -380,6 +384,29 @@ public void setLimits(List limits) { } + public NewRevisionVersion reevaluateOnReturn(Boolean reevaluateOnReturn) { + + this.reevaluateOnReturn = reevaluateOnReturn; + return this; + } + + /** + * Indicates whether this campaign should be reevaluated when a customer returns an item. + * @return reevaluateOnReturn + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "true", value = "Indicates whether this campaign should be reevaluated when a customer returns an item.") + + public Boolean getReevaluateOnReturn() { + return reevaluateOnReturn; + } + + + public void setReevaluateOnReturn(Boolean reevaluateOnReturn) { + this.reevaluateOnReturn = reevaluateOnReturn; + } + + public NewRevisionVersion features(List features) { this.features = features; @@ -395,11 +422,11 @@ public NewRevisionVersion addFeaturesItem(FeaturesEnum featuresItem) { } /** - * A list of features for the campaign template. + * A list of features for the campaign. * @return features **/ @javax.annotation.Nullable - @ApiModelProperty(value = "A list of features for the campaign template.") + @ApiModelProperty(value = "A list of features for the campaign.") public List getFeatures() { return features; @@ -430,12 +457,13 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.couponSettings, newRevisionVersion.couponSettings) && Objects.equals(this.referralSettings, newRevisionVersion.referralSettings) && Objects.equals(this.limits, newRevisionVersion.limits) && + Objects.equals(this.reevaluateOnReturn, newRevisionVersion.reevaluateOnReturn) && Objects.equals(this.features, newRevisionVersion.features); } @Override public int hashCode() { - return Objects.hash(name, startTime, endTime, attributes, description, activeRulesetId, tags, couponSettings, referralSettings, limits, features); + return Objects.hash(name, startTime, endTime, attributes, description, activeRulesetId, tags, couponSettings, referralSettings, limits, reevaluateOnReturn, features); } @@ -453,6 +481,7 @@ public String toString() { sb.append(" couponSettings: ").append(toIndentedString(couponSettings)).append("\n"); sb.append(" referralSettings: ").append(toIndentedString(referralSettings)).append("\n"); sb.append(" limits: ").append(toIndentedString(limits)).append("\n"); + sb.append(" reevaluateOnReturn: ").append(toIndentedString(reevaluateOnReturn)).append("\n"); sb.append(" features: ").append(toIndentedString(features)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/one/talon/model/PrismaticFlowConfig.java b/src/main/java/one/talon/model/PrismaticFlowConfig.java index b6c43b74..32c8ecfa 100644 --- a/src/main/java/one/talon/model/PrismaticFlowConfig.java +++ b/src/main/java/one/talon/model/PrismaticFlowConfig.java @@ -33,6 +33,18 @@ public class PrismaticFlowConfig { @SerializedName(SERIALIZED_NAME_API_KEY) private String apiKey; + public static final String SERIALIZED_NAME_WORKER_COUNT = "WorkerCount"; + @SerializedName(SERIALIZED_NAME_WORKER_COUNT) + private Long workerCount = 10l; + + public static final String SERIALIZED_NAME_MAX_EVENTS_PER_MESSAGE = "MaxEventsPerMessage"; + @SerializedName(SERIALIZED_NAME_MAX_EVENTS_PER_MESSAGE) + private Long maxEventsPerMessage = 1000l; + + public static final String SERIALIZED_NAME_MAX_RETRIES = "MaxRetries"; + @SerializedName(SERIALIZED_NAME_MAX_RETRIES) + private Long maxRetries = 10l; + public PrismaticFlowConfig apiKey(String apiKey) { @@ -56,6 +68,79 @@ public void setApiKey(String apiKey) { } + public PrismaticFlowConfig workerCount(Long workerCount) { + + this.workerCount = workerCount; + return this; + } + + /** + * Number of Prismatic workers to run in parallel for this flow (maximum 500). + * minimum: 1 + * maximum: 500 + * @return workerCount + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Number of Prismatic workers to run in parallel for this flow (maximum 500).") + + public Long getWorkerCount() { + return workerCount; + } + + + public void setWorkerCount(Long workerCount) { + this.workerCount = workerCount; + } + + + public PrismaticFlowConfig maxEventsPerMessage(Long maxEventsPerMessage) { + + this.maxEventsPerMessage = maxEventsPerMessage; + return this; + } + + /** + * Maximum number of events to send in a single message to Prismatic. + * minimum: 1 + * @return maxEventsPerMessage + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Maximum number of events to send in a single message to Prismatic.") + + public Long getMaxEventsPerMessage() { + return maxEventsPerMessage; + } + + + public void setMaxEventsPerMessage(Long maxEventsPerMessage) { + this.maxEventsPerMessage = maxEventsPerMessage; + } + + + public PrismaticFlowConfig maxRetries(Long maxRetries) { + + this.maxRetries = maxRetries; + return this; + } + + /** + * Maximum number of retries for a Prismatic event before it is ignored. + * minimum: 0 + * @return maxRetries + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Maximum number of retries for a Prismatic event before it is ignored.") + + public Long getMaxRetries() { + return maxRetries; + } + + + public void setMaxRetries(Long maxRetries) { + this.maxRetries = maxRetries; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -65,12 +150,15 @@ public boolean equals(java.lang.Object o) { return false; } PrismaticFlowConfig prismaticFlowConfig = (PrismaticFlowConfig) o; - return Objects.equals(this.apiKey, prismaticFlowConfig.apiKey); + return Objects.equals(this.apiKey, prismaticFlowConfig.apiKey) && + Objects.equals(this.workerCount, prismaticFlowConfig.workerCount) && + Objects.equals(this.maxEventsPerMessage, prismaticFlowConfig.maxEventsPerMessage) && + Objects.equals(this.maxRetries, prismaticFlowConfig.maxRetries); } @Override public int hashCode() { - return Objects.hash(apiKey); + return Objects.hash(apiKey, workerCount, maxEventsPerMessage, maxRetries); } @@ -79,6 +167,9 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class PrismaticFlowConfig {\n"); sb.append(" apiKey: ").append(toIndentedString(apiKey)).append("\n"); + sb.append(" workerCount: ").append(toIndentedString(workerCount)).append("\n"); + sb.append(" maxEventsPerMessage: ").append(toIndentedString(maxEventsPerMessage)).append("\n"); + sb.append(" maxRetries: ").append(toIndentedString(maxRetries)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/one/talon/model/RevisionVersion.java b/src/main/java/one/talon/model/RevisionVersion.java index 146fc9c9..d37d5a5b 100644 --- a/src/main/java/one/talon/model/RevisionVersion.java +++ b/src/main/java/one/talon/model/RevisionVersion.java @@ -106,6 +106,10 @@ public class RevisionVersion { @SerializedName(SERIALIZED_NAME_LIMITS) private List limits = null; + public static final String SERIALIZED_NAME_REEVALUATE_ON_RETURN = "reevaluateOnReturn"; + @SerializedName(SERIALIZED_NAME_REEVALUATE_ON_RETURN) + private Boolean reevaluateOnReturn; + /** * Gets or Sets features */ @@ -464,11 +468,11 @@ public RevisionVersion activeRulesetId(Integer activeRulesetId) { } /** - * The ID of the ruleset this campaign template will use. + * The ID of the ruleset this campaign will use. * @return activeRulesetId **/ @javax.annotation.Nullable - @ApiModelProperty(example = "5", value = "The ID of the ruleset this campaign template will use.") + @ApiModelProperty(example = "5", value = "The ID of the ruleset this campaign will use.") public Integer getActiveRulesetId() { return activeRulesetId; @@ -495,11 +499,11 @@ public RevisionVersion addTagsItem(String tagsItem) { } /** - * A list of tags for the campaign template. + * A list of tags for the campaign. * @return tags **/ @javax.annotation.Nullable - @ApiModelProperty(value = "A list of tags for the campaign template.") + @ApiModelProperty(value = "A list of tags for the campaign.") public List getTags() { return tags; @@ -588,6 +592,29 @@ public void setLimits(List limits) { } + public RevisionVersion reevaluateOnReturn(Boolean reevaluateOnReturn) { + + this.reevaluateOnReturn = reevaluateOnReturn; + return this; + } + + /** + * Indicates whether this campaign should be reevaluated when a customer returns an item. + * @return reevaluateOnReturn + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "true", value = "Indicates whether this campaign should be reevaluated when a customer returns an item.") + + public Boolean getReevaluateOnReturn() { + return reevaluateOnReturn; + } + + + public void setReevaluateOnReturn(Boolean reevaluateOnReturn) { + this.reevaluateOnReturn = reevaluateOnReturn; + } + + public RevisionVersion features(List features) { this.features = features; @@ -603,11 +630,11 @@ public RevisionVersion addFeaturesItem(FeaturesEnum featuresItem) { } /** - * A list of features for the campaign template. + * A list of features for the campaign. * @return features **/ @javax.annotation.Nullable - @ApiModelProperty(value = "A list of features for the campaign template.") + @ApiModelProperty(value = "A list of features for the campaign.") public List getFeatures() { return features; @@ -646,12 +673,13 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.couponSettings, revisionVersion.couponSettings) && Objects.equals(this.referralSettings, revisionVersion.referralSettings) && Objects.equals(this.limits, revisionVersion.limits) && + Objects.equals(this.reevaluateOnReturn, revisionVersion.reevaluateOnReturn) && Objects.equals(this.features, revisionVersion.features); } @Override public int hashCode() { - return Objects.hash(id, accountId, applicationId, campaignId, created, createdBy, revisionId, version, name, startTime, endTime, attributes, description, activeRulesetId, tags, couponSettings, referralSettings, limits, features); + return Objects.hash(id, accountId, applicationId, campaignId, created, createdBy, revisionId, version, name, startTime, endTime, attributes, description, activeRulesetId, tags, couponSettings, referralSettings, limits, reevaluateOnReturn, features); } @@ -677,6 +705,7 @@ public String toString() { sb.append(" couponSettings: ").append(toIndentedString(couponSettings)).append("\n"); sb.append(" referralSettings: ").append(toIndentedString(referralSettings)).append("\n"); sb.append(" limits: ").append(toIndentedString(limits)).append("\n"); + sb.append(" reevaluateOnReturn: ").append(toIndentedString(reevaluateOnReturn)).append("\n"); sb.append(" features: ").append(toIndentedString(features)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/one/talon/model/TemplateArgDef.java b/src/main/java/one/talon/model/TemplateArgDef.java index 671ab11a..19097a71 100644 --- a/src/main/java/one/talon/model/TemplateArgDef.java +++ b/src/main/java/one/talon/model/TemplateArgDef.java @@ -42,7 +42,9 @@ public enum TypeEnum { TIME("time"), - _LIST_STRING_("(list string)"); + _LIST_STRING_("(list string)"), + + _LIST_NUMBER_("(list number)"); private String value; diff --git a/src/main/java/one/talon/model/UpdateCampaign.java b/src/main/java/one/talon/model/UpdateCampaign.java index 3a67671e..303a3bfe 100644 --- a/src/main/java/one/talon/model/UpdateCampaign.java +++ b/src/main/java/one/talon/model/UpdateCampaign.java @@ -115,6 +115,10 @@ public StateEnum read(final JsonReader jsonReader) throws IOException { @SerializedName(SERIALIZED_NAME_TAGS) private List tags = new ArrayList(); + public static final String SERIALIZED_NAME_REEVALUATE_ON_RETURN = "reevaluateOnReturn"; + @SerializedName(SERIALIZED_NAME_REEVALUATE_ON_RETURN) + private Boolean reevaluateOnReturn; + /** * Gets or Sets features */ @@ -437,6 +441,29 @@ public void setTags(List tags) { } + public UpdateCampaign reevaluateOnReturn(Boolean reevaluateOnReturn) { + + this.reevaluateOnReturn = reevaluateOnReturn; + return this; + } + + /** + * Indicates whether this campaign should be reevaluated when a customer returns an item. + * @return reevaluateOnReturn + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "true", value = "Indicates whether this campaign should be reevaluated when a customer returns an item.") + + public Boolean getReevaluateOnReturn() { + return reevaluateOnReturn; + } + + + public void setReevaluateOnReturn(Boolean reevaluateOnReturn) { + this.reevaluateOnReturn = reevaluateOnReturn; + } + + public UpdateCampaign features(List features) { this.features = features; @@ -662,6 +689,7 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.state, updateCampaign.state) && Objects.equals(this.activeRulesetId, updateCampaign.activeRulesetId) && Objects.equals(this.tags, updateCampaign.tags) && + Objects.equals(this.reevaluateOnReturn, updateCampaign.reevaluateOnReturn) && Objects.equals(this.features, updateCampaign.features) && Objects.equals(this.couponSettings, updateCampaign.couponSettings) && Objects.equals(this.referralSettings, updateCampaign.referralSettings) && @@ -674,7 +702,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(name, description, startTime, endTime, attributes, state, activeRulesetId, tags, features, couponSettings, referralSettings, limits, campaignGroups, evaluationGroupId, type, linkedStoreIds); + return Objects.hash(name, description, startTime, endTime, attributes, state, activeRulesetId, tags, reevaluateOnReturn, features, couponSettings, referralSettings, limits, campaignGroups, evaluationGroupId, type, linkedStoreIds); } @@ -690,6 +718,7 @@ public String toString() { sb.append(" state: ").append(toIndentedString(state)).append("\n"); sb.append(" activeRulesetId: ").append(toIndentedString(activeRulesetId)).append("\n"); sb.append(" tags: ").append(toIndentedString(tags)).append("\n"); + sb.append(" reevaluateOnReturn: ").append(toIndentedString(reevaluateOnReturn)).append("\n"); sb.append(" features: ").append(toIndentedString(features)).append("\n"); sb.append(" couponSettings: ").append(toIndentedString(couponSettings)).append("\n"); sb.append(" referralSettings: ").append(toIndentedString(referralSettings)).append("\n"); diff --git a/src/main/java/one/talon/model/UpdateCampaignTemplate.java b/src/main/java/one/talon/model/UpdateCampaignTemplate.java index 120a5713..00df6443 100644 --- a/src/main/java/one/talon/model/UpdateCampaignTemplate.java +++ b/src/main/java/one/talon/model/UpdateCampaignTemplate.java @@ -117,6 +117,10 @@ public StateEnum read(final JsonReader jsonReader) throws IOException { @SerializedName(SERIALIZED_NAME_TAGS) private List tags = null; + public static final String SERIALIZED_NAME_REEVALUATE_ON_RETURN = "reevaluateOnReturn"; + @SerializedName(SERIALIZED_NAME_REEVALUATE_ON_RETURN) + private Boolean reevaluateOnReturn; + /** * Gets or Sets features */ @@ -448,6 +452,29 @@ public void setTags(List tags) { } + public UpdateCampaignTemplate reevaluateOnReturn(Boolean reevaluateOnReturn) { + + this.reevaluateOnReturn = reevaluateOnReturn; + return this; + } + + /** + * Indicates whether campaigns created from this template should be reevaluated when a customer returns an item. + * @return reevaluateOnReturn + **/ + @javax.annotation.Nullable + @ApiModelProperty(example = "true", value = "Indicates whether campaigns created from this template should be reevaluated when a customer returns an item.") + + public Boolean getReevaluateOnReturn() { + return reevaluateOnReturn; + } + + + public void setReevaluateOnReturn(Boolean reevaluateOnReturn) { + this.reevaluateOnReturn = reevaluateOnReturn; + } + + public UpdateCampaignTemplate features(List features) { this.features = features; @@ -731,6 +758,7 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.state, updateCampaignTemplate.state) && Objects.equals(this.activeRulesetId, updateCampaignTemplate.activeRulesetId) && Objects.equals(this.tags, updateCampaignTemplate.tags) && + Objects.equals(this.reevaluateOnReturn, updateCampaignTemplate.reevaluateOnReturn) && Objects.equals(this.features, updateCampaignTemplate.features) && Objects.equals(this.couponSettings, updateCampaignTemplate.couponSettings) && Objects.equals(this.couponReservationSettings, updateCampaignTemplate.couponReservationSettings) && @@ -745,7 +773,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(name, description, instructions, campaignAttributes, couponAttributes, state, activeRulesetId, tags, features, couponSettings, couponReservationSettings, referralSettings, limits, templateParams, applicationsIds, campaignCollections, defaultCampaignGroupId, campaignType); + return Objects.hash(name, description, instructions, campaignAttributes, couponAttributes, state, activeRulesetId, tags, reevaluateOnReturn, features, couponSettings, couponReservationSettings, referralSettings, limits, templateParams, applicationsIds, campaignCollections, defaultCampaignGroupId, campaignType); } @@ -761,6 +789,7 @@ public String toString() { sb.append(" state: ").append(toIndentedString(state)).append("\n"); sb.append(" activeRulesetId: ").append(toIndentedString(activeRulesetId)).append("\n"); sb.append(" tags: ").append(toIndentedString(tags)).append("\n"); + sb.append(" reevaluateOnReturn: ").append(toIndentedString(reevaluateOnReturn)).append("\n"); sb.append(" features: ").append(toIndentedString(features)).append("\n"); sb.append(" couponSettings: ").append(toIndentedString(couponSettings)).append("\n"); sb.append(" couponReservationSettings: ").append(toIndentedString(couponReservationSettings)).append("\n"); diff --git a/src/main/java/one/talon/model/UpdateCollectionsCatalog.java b/src/main/java/one/talon/model/UpdateCollectionsCatalog.java new file mode 100644 index 00000000..3dfd053f --- /dev/null +++ b/src/main/java/one/talon/model/UpdateCollectionsCatalog.java @@ -0,0 +1,286 @@ +/* + * 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.CartItemFilterTemplate; +import one.talon.model.CatalogRule; + +/** + * UpdateCollectionsCatalog + */ + +public class UpdateCollectionsCatalog { + 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; + + /** + * Category used to group collection catalogs. + */ + @JsonAdapter(CategoryEnum.Adapter.class) + public enum CategoryEnum { + PROMOTIONS("promotions"), + + PRICING("pricing"), + + LOYALTY("loyalty"), + + CUSTOM("custom"); + + private String value; + + CategoryEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CategoryEnum fromValue(String value) { + for (CategoryEnum b : CategoryEnum.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 CategoryEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CategoryEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CategoryEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_CATEGORY = "category"; + @SerializedName(SERIALIZED_NAME_CATEGORY) + private CategoryEnum category; + + public static final String SERIALIZED_NAME_RULES = "rules"; + @SerializedName(SERIALIZED_NAME_RULES) + private List rules = null; + + public static final String SERIALIZED_NAME_CART_ITEM_FILTERS = "cartItemFilters"; + @SerializedName(SERIALIZED_NAME_CART_ITEM_FILTERS) + private List cartItemFilters = null; + + + public UpdateCollectionsCatalog title(String title) { + + this.title = title; + return this; + } + + /** + * The display name for the collection catalog. + * @return title + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The display name for the collection catalog.") + + public String getTitle() { + return title; + } + + + public void setTitle(String title) { + this.title = title; + } + + + public UpdateCollectionsCatalog description(String description) { + + this.description = description; + return this; + } + + /** + * A longer, more detailed description of the collection catalog. + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A longer, more detailed description of the collection catalog.") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public UpdateCollectionsCatalog category(CategoryEnum category) { + + this.category = category; + return this; + } + + /** + * Category used to group collection catalogs. + * @return category + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Category used to group collection catalogs.") + + public CategoryEnum getCategory() { + return category; + } + + + public void setCategory(CategoryEnum category) { + this.category = category; + } + + + public UpdateCollectionsCatalog rules(List rules) { + + this.rules = rules; + return this; + } + + public UpdateCollectionsCatalog addRulesItem(CatalogRule rulesItem) { + if (this.rules == null) { + this.rules = new ArrayList(); + } + this.rules.add(rulesItem); + return this; + } + + /** + * Replaces the stored rules. Rules should only contain title (no description, as description is at the collection catalog level). + * @return rules + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Replaces the stored rules. Rules should only contain title (no description, as description is at the collection catalog level).") + + public List getRules() { + return rules; + } + + + public void setRules(List rules) { + this.rules = rules; + } + + + public UpdateCollectionsCatalog cartItemFilters(List cartItemFilters) { + + this.cartItemFilters = cartItemFilters; + return this; + } + + public UpdateCollectionsCatalog addCartItemFiltersItem(CartItemFilterTemplate cartItemFiltersItem) { + if (this.cartItemFilters == null) { + this.cartItemFilters = new ArrayList(); + } + this.cartItemFilters.add(cartItemFiltersItem); + return this; + } + + /** + * Replaces the stored cart item filters. Cart item filters should only contain name (no description, as description is at the collection catalog level). + * @return cartItemFilters + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Replaces the stored cart item filters. Cart item filters should only contain name (no description, as description is at the collection catalog level).") + + public List getCartItemFilters() { + return cartItemFilters; + } + + + public void setCartItemFilters(List cartItemFilters) { + this.cartItemFilters = cartItemFilters; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateCollectionsCatalog updateCollectionsCatalog = (UpdateCollectionsCatalog) o; + return Objects.equals(this.title, updateCollectionsCatalog.title) && + Objects.equals(this.description, updateCollectionsCatalog.description) && + Objects.equals(this.category, updateCollectionsCatalog.category) && + Objects.equals(this.rules, updateCollectionsCatalog.rules) && + Objects.equals(this.cartItemFilters, updateCollectionsCatalog.cartItemFilters); + } + + @Override + public int hashCode() { + return Objects.hash(title, description, category, rules, cartItemFilters); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateCollectionsCatalog {\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" category: ").append(toIndentedString(category)).append("\n"); + sb.append(" rules: ").append(toIndentedString(rules)).append("\n"); + sb.append(" cartItemFilters: ").append(toIndentedString(cartItemFilters)).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/UpdateExperiment.java b/src/main/java/one/talon/model/UpdateExperiment.java new file mode 100644 index 00000000..5cc42e0b --- /dev/null +++ b/src/main/java/one/talon/model/UpdateExperiment.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 one.talon.model.UpdateCampaign; + +/** + * UpdateExperiment + */ + +public class UpdateExperiment { + public static final String SERIALIZED_NAME_IS_VARIANT_ASSIGNMENT_EXTERNAL = "isVariantAssignmentExternal"; + @SerializedName(SERIALIZED_NAME_IS_VARIANT_ASSIGNMENT_EXTERNAL) + private Boolean isVariantAssignmentExternal; + + public static final String SERIALIZED_NAME_CAMPAIGN = "campaign"; + @SerializedName(SERIALIZED_NAME_CAMPAIGN) + private UpdateCampaign campaign; + + + public UpdateExperiment isVariantAssignmentExternal(Boolean isVariantAssignmentExternal) { + + this.isVariantAssignmentExternal = isVariantAssignmentExternal; + return this; + } + + /** + * The source of the assignment. - false - The assignment to the variant is handled internally by the Talon.Oneandled internally by the Talon.One. - true - The assignment to the variant handled externally. + * @return isVariantAssignmentExternal + **/ + @ApiModelProperty(required = true, value = "The source of the assignment. - false - The assignment to the variant is handled internally by the Talon.Oneandled internally by the Talon.One. - true - The assignment to the variant handled externally. ") + + public Boolean getIsVariantAssignmentExternal() { + return isVariantAssignmentExternal; + } + + + public void setIsVariantAssignmentExternal(Boolean isVariantAssignmentExternal) { + this.isVariantAssignmentExternal = isVariantAssignmentExternal; + } + + + public UpdateExperiment campaign(UpdateCampaign campaign) { + + this.campaign = campaign; + return this; + } + + /** + * Get campaign + * @return campaign + **/ + @ApiModelProperty(required = true, value = "") + + public UpdateCampaign getCampaign() { + return campaign; + } + + + public void setCampaign(UpdateCampaign campaign) { + this.campaign = campaign; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateExperiment updateExperiment = (UpdateExperiment) o; + return Objects.equals(this.isVariantAssignmentExternal, updateExperiment.isVariantAssignmentExternal) && + Objects.equals(this.campaign, updateExperiment.campaign); + } + + @Override + public int hashCode() { + return Objects.hash(isVariantAssignmentExternal, campaign); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateExperiment {\n"); + sb.append(" isVariantAssignmentExternal: ").append(toIndentedString(isVariantAssignmentExternal)).append("\n"); + sb.append(" campaign: ").append(toIndentedString(campaign)).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/UpdateExperimentVariant.java b/src/main/java/one/talon/model/UpdateExperimentVariant.java new file mode 100644 index 00000000..fec7e8dd --- /dev/null +++ b/src/main/java/one/talon/model/UpdateExperimentVariant.java @@ -0,0 +1,183 @@ +/* + * 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.NewRuleset; + +/** + * UpdateExperimentVariant + */ + +public class UpdateExperimentVariant { + 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_RULESET = "ruleset"; + @SerializedName(SERIALIZED_NAME_RULESET) + private NewRuleset ruleset; + + public static final String SERIALIZED_NAME_WEIGHT = "weight"; + @SerializedName(SERIALIZED_NAME_WEIGHT) + private Long weight; + + + public UpdateExperimentVariant id(Long id) { + + this.id = id; + return this; + } + + /** + * Get id + * @return id + **/ + @ApiModelProperty(example = "10", required = true, value = "") + + public Long getId() { + return id; + } + + + public void setId(Long id) { + this.id = id; + } + + + public UpdateExperimentVariant name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(example = "Variant A", required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public UpdateExperimentVariant ruleset(NewRuleset ruleset) { + + this.ruleset = ruleset; + return this; + } + + /** + * Get ruleset + * @return ruleset + **/ + @ApiModelProperty(required = true, value = "") + + public NewRuleset getRuleset() { + return ruleset; + } + + + public void setRuleset(NewRuleset ruleset) { + this.ruleset = ruleset; + } + + + public UpdateExperimentVariant weight(Long weight) { + + this.weight = weight; + return this; + } + + /** + * Get weight + * @return weight + **/ + @ApiModelProperty(example = "12", required = true, value = "") + + public Long getWeight() { + return weight; + } + + + public void setWeight(Long weight) { + this.weight = weight; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateExperimentVariant updateExperimentVariant = (UpdateExperimentVariant) o; + return Objects.equals(this.id, updateExperimentVariant.id) && + Objects.equals(this.name, updateExperimentVariant.name) && + Objects.equals(this.ruleset, updateExperimentVariant.ruleset) && + Objects.equals(this.weight, updateExperimentVariant.weight); + } + + @Override + public int hashCode() { + return Objects.hash(id, name, ruleset, weight); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateExperimentVariant {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" ruleset: ").append(toIndentedString(ruleset)).append("\n"); + sb.append(" weight: ").append(toIndentedString(weight)).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/UpdateExperimentVariantArray.java b/src/main/java/one/talon/model/UpdateExperimentVariantArray.java new file mode 100644 index 00000000..393d57c4 --- /dev/null +++ b/src/main/java/one/talon/model/UpdateExperimentVariantArray.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.ArrayList; +import java.util.List; +import one.talon.model.UpdateExperimentVariant; + +/** + * UpdateExperimentVariantArray + */ + +public class UpdateExperimentVariantArray { + public static final String SERIALIZED_NAME_VARIANTS = "variants"; + @SerializedName(SERIALIZED_NAME_VARIANTS) + private List variants = new ArrayList(); + + + public UpdateExperimentVariantArray variants(List variants) { + + this.variants = variants; + return this; + } + + public UpdateExperimentVariantArray addVariantsItem(UpdateExperimentVariant variantsItem) { + this.variants.add(variantsItem); + return this; + } + + /** + * Array of experiment variants to update + * @return variants + **/ + @ApiModelProperty(required = true, value = "Array of experiment variants to update") + + public List getVariants() { + return variants; + } + + + public void setVariants(List variants) { + this.variants = variants; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateExperimentVariantArray updateExperimentVariantArray = (UpdateExperimentVariantArray) o; + return Objects.equals(this.variants, updateExperimentVariantArray.variants); + } + + @Override + public int hashCode() { + return Objects.hash(variants); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateExperimentVariantArray {\n"); + sb.append(" variants: ").append(toIndentedString(variants)).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/test/java/one/talon/api/IntegrationApiTest.java b/src/test/java/one/talon/api/IntegrationApiTest.java index 3fff35f8..c58f37e6 100644 --- a/src/test/java/one/talon/api/IntegrationApiTest.java +++ b/src/test/java/one/talon/api/IntegrationApiTest.java @@ -27,6 +27,7 @@ import one.talon.model.CustomerProfileAudienceRequest; import one.talon.model.CustomerProfileIntegrationRequestV2; import one.talon.model.CustomerProfileIntegrationResponseV2; +import one.talon.model.DeleteLoyaltyTransactionsRequest; import one.talon.model.ErrorResponse; import one.talon.model.ErrorResponseWithStatus; import one.talon.model.GenerateLoyaltyCard; @@ -238,6 +239,24 @@ public void deleteCustomerDataTest() throws ApiException { // TODO: test validations } + /** + * Delete customer's transactions from loyalty ledgers + * + * Delete a customer's transactions in all loyalty ledgers or a specified ledger. **Note:** To retrieve loyalty transaction logs for a specific customer in a given loyalty program, use the [List customer's loyalty transactions](https://docs.talon.one/integration-api#tag/Loyalty/operation/getLoyaltyProgramProfileTransactions) endpoint. + * + * @throws ApiException + * if the Api call fails + */ + @Test + public void deleteLoyaltyTransactionsFromLedgersTest() throws ApiException { + Long loyaltyProgramId = null; + String integrationId = null; + DeleteLoyaltyTransactionsRequest body = null; + api.deleteLoyaltyTransactionsFromLedgers(loyaltyProgramId, integrationId, body); + + // TODO: test validations + } + /** * Generate loyalty card * diff --git a/src/test/java/one/talon/api/ManagementApiTest.java b/src/test/java/one/talon/api/ManagementApiTest.java index 4cfc7235..c1ccc4e3 100644 --- a/src/test/java/one/talon/api/ManagementApiTest.java +++ b/src/test/java/one/talon/api/ManagementApiTest.java @@ -85,6 +85,7 @@ import one.talon.model.InlineResponse20047; import one.talon.model.InlineResponse20048; import one.talon.model.InlineResponse20049; +import one.talon.model.InlineResponse20050; import one.talon.model.InlineResponse2007; import one.talon.model.InlineResponse2008; import one.talon.model.InlineResponse2009; @@ -1151,6 +1152,25 @@ public void exportReferralsTest() throws ApiException { // TODO: test validations } + /** + * Summarize coupon redemption failures in session + * + * Create a summary of the reasons for coupon redemption failures in a given customer session. + * + * @throws ApiException + * if the Api call fails + */ + @Test + public void generateCouponRejectionsTest() throws ApiException { + String sessionIntegrationId = null; + BigDecimal applicationId = null; + String language = null; + String couponCode = null; + InlineResponse20050 response = api.generateCouponRejections(sessionIntegrationId, applicationId, language, couponCode); + + // TODO: test validations + } + /** * Get access logs for Application * diff --git a/src/test/java/one/talon/model/AdditionalCampaignPropertiesTest.java b/src/test/java/one/talon/model/AdditionalCampaignPropertiesTest.java index 3fd90674..d2a9db17 100644 --- a/src/test/java/one/talon/model/AdditionalCampaignPropertiesTest.java +++ b/src/test/java/one/talon/model/AdditionalCampaignPropertiesTest.java @@ -237,4 +237,12 @@ public void valueMapsIdsTest() { // TODO: test valueMapsIds } + /** + * Test the property 'experimentId' + */ + @Test + public void experimentIdTest() { + // TODO: test experimentId + } + } diff --git a/src/test/java/one/talon/model/AdjustmentDetailsTest.java b/src/test/java/one/talon/model/AdjustmentDetailsTest.java new file mode 100644 index 00000000..c956f310 --- /dev/null +++ b/src/test/java/one/talon/model/AdjustmentDetailsTest.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 java.math.BigDecimal; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for AdjustmentDetails + */ +public class AdjustmentDetailsTest { + private final AdjustmentDetails model = new AdjustmentDetails(); + + /** + * Model tests for AdjustmentDetails + */ + @Test + public void testAdjustmentDetails() { + // TODO: test AdjustmentDetails + } + + /** + * Test the property 'referenceId' + */ + @Test + public void referenceIdTest() { + // TODO: test referenceId + } + + /** + * Test the property 'selectedPriceType' + */ + @Test + public void selectedPriceTypeTest() { + // TODO: test selectedPriceType + } + + /** + * Test the property 'value' + */ + @Test + public void valueTest() { + // TODO: test value + } + +} diff --git a/src/test/java/one/talon/model/BaseCampaignTest.java b/src/test/java/one/talon/model/BaseCampaignTest.java index 73316b73..58a4b71f 100644 --- a/src/test/java/one/talon/model/BaseCampaignTest.java +++ b/src/test/java/one/talon/model/BaseCampaignTest.java @@ -109,6 +109,14 @@ public void tagsTest() { // TODO: test tags } + /** + * Test the property 'reevaluateOnReturn' + */ + @Test + public void reevaluateOnReturnTest() { + // TODO: test reevaluateOnReturn + } + /** * Test the property 'features' */ diff --git a/src/test/java/one/talon/model/BestPriorPriceMetadataTest.java b/src/test/java/one/talon/model/BestPriorPriceMetadataTest.java index a4477994..403b5e46 100644 --- a/src/test/java/one/talon/model/BestPriorPriceMetadataTest.java +++ b/src/test/java/one/talon/model/BestPriorPriceMetadataTest.java @@ -23,6 +23,8 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; +import one.talon.model.AdjustmentDetails; +import one.talon.model.InfluencingCampaignDetails; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; @@ -43,19 +45,19 @@ public void testBestPriorPriceMetadata() { } /** - * Test the property 'influencingCampaignIDs' + * Test the property 'influencingCampaignDetails' */ @Test - public void influencingCampaignIDsTest() { - // TODO: test influencingCampaignIDs + public void influencingCampaignDetailsTest() { + // TODO: test influencingCampaignDetails } /** - * Test the property 'adjustmentReferenceID' + * Test the property 'adjustmentDetails' */ @Test - public void adjustmentReferenceIDTest() { - // TODO: test adjustmentReferenceID + public void adjustmentDetailsTest() { + // TODO: test adjustmentDetails } } diff --git a/src/test/java/one/talon/model/CampaignTemplateTest.java b/src/test/java/one/talon/model/CampaignTemplateTest.java index fdbe33b1..d0eca144 100644 --- a/src/test/java/one/talon/model/CampaignTemplateTest.java +++ b/src/test/java/one/talon/model/CampaignTemplateTest.java @@ -144,6 +144,14 @@ public void tagsTest() { // TODO: test tags } + /** + * Test the property 'reevaluateOnReturn' + */ + @Test + public void reevaluateOnReturnTest() { + // TODO: test reevaluateOnReturn + } + /** * Test the property 'features' */ diff --git a/src/test/java/one/talon/model/CampaignTest.java b/src/test/java/one/talon/model/CampaignTest.java index 21f6b49e..20694aa1 100644 --- a/src/test/java/one/talon/model/CampaignTest.java +++ b/src/test/java/one/talon/model/CampaignTest.java @@ -143,6 +143,14 @@ public void tagsTest() { // TODO: test tags } + /** + * Test the property 'reevaluateOnReturn' + */ + @Test + public void reevaluateOnReturnTest() { + // TODO: test reevaluateOnReturn + } + /** * Test the property 'features' */ @@ -391,6 +399,14 @@ public void valueMapsIdsTest() { // TODO: test valueMapsIds } + /** + * Test the property 'experimentId' + */ + @Test + public void experimentIdTest() { + // TODO: test experimentId + } + /** * Test the property 'revisionFrontendState' */ diff --git a/src/test/java/one/talon/model/CartItemFilterTemplateTest.java b/src/test/java/one/talon/model/CartItemFilterTemplateTest.java new file mode 100644 index 00000000..5974b42e --- /dev/null +++ b/src/test/java/one/talon/model/CartItemFilterTemplateTest.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 CartItemFilterTemplate + */ +public class CartItemFilterTemplateTest { + private final CartItemFilterTemplate model = new CartItemFilterTemplate(); + + /** + * Model tests for CartItemFilterTemplate + */ + @Test + public void testCartItemFilterTemplate() { + // TODO: test CartItemFilterTemplate + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'expression' + */ + @Test + public void expressionTest() { + // TODO: test expression + } + +} diff --git a/src/test/java/one/talon/model/CatalogRuleTest.java b/src/test/java/one/talon/model/CatalogRuleTest.java new file mode 100644 index 00000000..6fcdf8ce --- /dev/null +++ b/src/test/java/one/talon/model/CatalogRuleTest.java @@ -0,0 +1,78 @@ +/* + * 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.Binding; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for CatalogRule + */ +public class CatalogRuleTest { + private final CatalogRule model = new CatalogRule(); + + /** + * Model tests for CatalogRule + */ + @Test + public void testCatalogRule() { + // TODO: test CatalogRule + } + + /** + * Test the property 'title' + */ + @Test + public void titleTest() { + // TODO: test title + } + + /** + * Test the property 'bindings' + */ + @Test + public void bindingsTest() { + // TODO: test bindings + } + + /** + * Test the property 'condition' + */ + @Test + public void conditionTest() { + // TODO: test condition + } + + /** + * Test the property 'effects' + */ + @Test + public void effectsTest() { + // TODO: test effects + } + +} diff --git a/src/test/java/one/talon/model/CollectionsCatalogTest.java b/src/test/java/one/talon/model/CollectionsCatalogTest.java new file mode 100644 index 00000000..9c9ca385 --- /dev/null +++ b/src/test/java/one/talon/model/CollectionsCatalogTest.java @@ -0,0 +1,152 @@ +/* + * 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.CartItemFilterTemplate; +import one.talon.model.CatalogRule; +import org.threeten.bp.OffsetDateTime; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for CollectionsCatalog + */ +public class CollectionsCatalogTest { + private final CollectionsCatalog model = new CollectionsCatalog(); + + /** + * Model tests for CollectionsCatalog + */ + @Test + public void testCollectionsCatalog() { + // TODO: test CollectionsCatalog + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'accountId' + */ + @Test + public void accountIdTest() { + // TODO: test accountId + } + + /** + * Test the property 'applicationId' + */ + @Test + public void applicationIdTest() { + // TODO: test applicationId + } + + /** + * 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 'category' + */ + @Test + public void categoryTest() { + // TODO: test category + } + + /** + * Test the property 'source' + */ + @Test + public void sourceTest() { + // TODO: test source + } + + /** + * Test the property 'rules' + */ + @Test + public void rulesTest() { + // TODO: test rules + } + + /** + * Test the property 'cartItemFilters' + */ + @Test + public void cartItemFiltersTest() { + // TODO: test cartItemFilters + } + + /** + * Test the property 'created' + */ + @Test + public void createdTest() { + // TODO: test created + } + + /** + * Test the property 'createdBy' + */ + @Test + public void createdByTest() { + // TODO: test createdBy + } + + /** + * Test the property 'modified' + */ + @Test + public void modifiedTest() { + // TODO: test modified + } + + /** + * Test the property 'modifiedBy' + */ + @Test + public void modifiedByTest() { + // TODO: test modifiedBy + } + +} diff --git a/src/test/java/one/talon/model/CouponCreationJobTest.java b/src/test/java/one/talon/model/CouponCreationJobTest.java index 9d632949..e7feab64 100644 --- a/src/test/java/one/talon/model/CouponCreationJobTest.java +++ b/src/test/java/one/talon/model/CouponCreationJobTest.java @@ -149,6 +149,14 @@ public void attributesTest() { // TODO: test attributes } + /** + * Test the property 'isReservationMandatory' + */ + @Test + public void isReservationMandatoryTest() { + // TODO: test isReservationMandatory + } + /** * Test the property 'batchId' */ diff --git a/src/test/java/one/talon/model/CouponFailureSummaryTest.java b/src/test/java/one/talon/model/CouponFailureSummaryTest.java index c9596eed..636a0e93 100644 --- a/src/test/java/one/talon/model/CouponFailureSummaryTest.java +++ b/src/test/java/one/talon/model/CouponFailureSummaryTest.java @@ -98,19 +98,11 @@ public void languageTest() { } /** - * Test the property 'shortSummary' + * Test the property 'summary' */ @Test - public void shortSummaryTest() { - // TODO: test shortSummary - } - - /** - * Test the property 'longSummary' - */ - @Test - public void longSummaryTest() { - // TODO: test longSummary + public void summaryTest() { + // TODO: test summary } /** diff --git a/src/test/java/one/talon/model/CustomerSessionV2Test.java b/src/test/java/one/talon/model/CustomerSessionV2Test.java index 1b8d1656..ed02ded4 100644 --- a/src/test/java/one/talon/model/CustomerSessionV2Test.java +++ b/src/test/java/one/talon/model/CustomerSessionV2Test.java @@ -28,6 +28,7 @@ import java.util.Map; import one.talon.model.AdditionalCost; import one.talon.model.CartItem; +import one.talon.model.ExperimentVariantAllocation; import org.threeten.bp.OffsetDateTime; import org.junit.Assert; import org.junit.Ignore; @@ -144,6 +145,14 @@ public void cartItemsTest() { // TODO: test cartItems } + /** + * Test the property 'experimentVariantAllocations' + */ + @Test + public void experimentVariantAllocationsTest() { + // TODO: test experimentVariantAllocations + } + /** * Test the property 'additionalCosts' */ diff --git a/src/test/java/one/talon/model/EffectEntityTest.java b/src/test/java/one/talon/model/EffectEntityTest.java index 5a96fdf4..78c77ae1 100644 --- a/src/test/java/one/talon/model/EffectEntityTest.java +++ b/src/test/java/one/talon/model/EffectEntityTest.java @@ -42,6 +42,14 @@ public void testEffectEntity() { // TODO: test EffectEntity } + /** + * Test the property 'experimentId' + */ + @Test + public void experimentIdTest() { + // TODO: test experimentId + } + /** * Test the property 'campaignId' */ diff --git a/src/test/java/one/talon/model/EffectTest.java b/src/test/java/one/talon/model/EffectTest.java index f30aabe7..fa1aeb9f 100644 --- a/src/test/java/one/talon/model/EffectTest.java +++ b/src/test/java/one/talon/model/EffectTest.java @@ -42,6 +42,14 @@ public void testEffect() { // TODO: test Effect } + /** + * Test the property 'experimentId' + */ + @Test + public void experimentIdTest() { + // TODO: test experimentId + } + /** * Test the property 'campaignId' */ diff --git a/src/test/java/one/talon/model/ExperimentResultsTest.java b/src/test/java/one/talon/model/ExperimentResultsTest.java new file mode 100644 index 00000000..dbae1e8d --- /dev/null +++ b/src/test/java/one/talon/model/ExperimentResultsTest.java @@ -0,0 +1,63 @@ +/* + * 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.ExperimentVariantResult; +import one.talon.model.ExperimentVariantResultConfidence; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for ExperimentResults + */ +public class ExperimentResultsTest { + private final ExperimentResults model = new ExperimentResults(); + + /** + * Model tests for ExperimentResults + */ + @Test + public void testExperimentResults() { + // TODO: test ExperimentResults + } + + /** + * Test the property 'variants' + */ + @Test + public void variantsTest() { + // TODO: test variants + } + + /** + * Test the property 'confidence' + */ + @Test + public void confidenceTest() { + // TODO: test confidence + } + +} diff --git a/src/test/java/one/talon/model/ExperimentTest.java b/src/test/java/one/talon/model/ExperimentTest.java new file mode 100644 index 00000000..079c8e89 --- /dev/null +++ b/src/test/java/one/talon/model/ExperimentTest.java @@ -0,0 +1,120 @@ +/* + * 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.Campaign; +import one.talon.model.ExperimentVariant; +import org.threeten.bp.OffsetDateTime; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for Experiment + */ +public class ExperimentTest { + private final Experiment model = new Experiment(); + + /** + * Model tests for Experiment + */ + @Test + public void testExperiment() { + // TODO: test Experiment + } + + /** + * 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 'applicationId' + */ + @Test + public void applicationIdTest() { + // TODO: test applicationId + } + + /** + * Test the property 'isVariantAssignmentExternal' + */ + @Test + public void isVariantAssignmentExternalTest() { + // TODO: test isVariantAssignmentExternal + } + + /** + * Test the property 'campaign' + */ + @Test + public void campaignTest() { + // TODO: test campaign + } + + /** + * Test the property 'activated' + */ + @Test + public void activatedTest() { + // TODO: test activated + } + + /** + * Test the property 'state' + */ + @Test + public void stateTest() { + // TODO: test state + } + + /** + * Test the property 'variants' + */ + @Test + public void variantsTest() { + // TODO: test variants + } + + /** + * Test the property 'deletedat' + */ + @Test + public void deletedatTest() { + // TODO: test deletedat + } + +} diff --git a/src/test/java/one/talon/model/ExperimentVariantAllocationTest.java b/src/test/java/one/talon/model/ExperimentVariantAllocationTest.java new file mode 100644 index 00000000..9acfc100 --- /dev/null +++ b/src/test/java/one/talon/model/ExperimentVariantAllocationTest.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 ExperimentVariantAllocation + */ +public class ExperimentVariantAllocationTest { + private final ExperimentVariantAllocation model = new ExperimentVariantAllocation(); + + /** + * Model tests for ExperimentVariantAllocation + */ + @Test + public void testExperimentVariantAllocation() { + // TODO: test ExperimentVariantAllocation + } + + /** + * Test the property 'experimentID' + */ + @Test + public void experimentIDTest() { + // TODO: test experimentID + } + + /** + * Test the property 'variantID' + */ + @Test + public void variantIDTest() { + // TODO: test variantID + } + +} diff --git a/src/test/java/one/talon/model/ExperimentVariantResultConfidenceTest.java b/src/test/java/one/talon/model/ExperimentVariantResultConfidenceTest.java new file mode 100644 index 00000000..3ae4a85c --- /dev/null +++ b/src/test/java/one/talon/model/ExperimentVariantResultConfidenceTest.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 java.math.BigDecimal; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for ExperimentVariantResultConfidence + */ +public class ExperimentVariantResultConfidenceTest { + private final ExperimentVariantResultConfidence model = new ExperimentVariantResultConfidence(); + + /** + * Model tests for ExperimentVariantResultConfidence + */ + @Test + public void testExperimentVariantResultConfidence() { + // TODO: test ExperimentVariantResultConfidence + } + + /** + * Test the property 'avgSessionValue' + */ + @Test + public void avgSessionValueTest() { + // TODO: test avgSessionValue + } + + /** + * Test the property 'avgDiscountedSessionValue' + */ + @Test + public void avgDiscountedSessionValueTest() { + // TODO: test avgDiscountedSessionValue + } + + /** + * Test the property 'avgItemsPerSession' + */ + @Test + public void avgItemsPerSessionTest() { + // TODO: test avgItemsPerSession + } + +} diff --git a/src/test/java/one/talon/model/ExperimentVariantResultTest.java b/src/test/java/one/talon/model/ExperimentVariantResultTest.java new file mode 100644 index 00000000..e6423b3f --- /dev/null +++ b/src/test/java/one/talon/model/ExperimentVariantResultTest.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 java.math.BigDecimal; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for ExperimentVariantResult + */ +public class ExperimentVariantResultTest { + private final ExperimentVariantResult model = new ExperimentVariantResult(); + + /** + * Model tests for ExperimentVariantResult + */ + @Test + public void testExperimentVariantResult() { + // TODO: test ExperimentVariantResult + } + + /** + * Test the property 'variantId' + */ + @Test + public void variantIdTest() { + // TODO: test variantId + } + + /** + * Test the property 'variantName' + */ + @Test + public void variantNameTest() { + // TODO: test variantName + } + + /** + * Test the property 'variantWeight' + */ + @Test + public void variantWeightTest() { + // TODO: test variantWeight + } + + /** + * Test the property 'totalRevenue' + */ + @Test + public void totalRevenueTest() { + // TODO: test totalRevenue + } + + /** + * Test the property 'sessionsCount' + */ + @Test + public void sessionsCountTest() { + // TODO: test sessionsCount + } + + /** + * Test the property 'avgItemsPerSession' + */ + @Test + public void avgItemsPerSessionTest() { + // TODO: test avgItemsPerSession + } + + /** + * Test the property 'avgSessionValue' + */ + @Test + public void avgSessionValueTest() { + // TODO: test avgSessionValue + } + + /** + * Test the property 'avgDiscountedSessionValue' + */ + @Test + public void avgDiscountedSessionValueTest() { + // TODO: test avgDiscountedSessionValue + } + + /** + * Test the property 'totalDiscounts' + */ + @Test + public void totalDiscountsTest() { + // TODO: test totalDiscounts + } + + /** + * Test the property 'couponsCount' + */ + @Test + public void couponsCountTest() { + // TODO: test couponsCount + } + +} diff --git a/src/test/java/one/talon/model/ExperimentVariantTest.java b/src/test/java/one/talon/model/ExperimentVariantTest.java new file mode 100644 index 00000000..46855311 --- /dev/null +++ b/src/test/java/one/talon/model/ExperimentVariantTest.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 one.talon.model.Ruleset; +import org.threeten.bp.OffsetDateTime; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for ExperimentVariant + */ +public class ExperimentVariantTest { + private final ExperimentVariant model = new ExperimentVariant(); + + /** + * Model tests for ExperimentVariant + */ + @Test + public void testExperimentVariant() { + // TODO: test ExperimentVariant + } + + /** + * 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 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'experimentId' + */ + @Test + public void experimentIdTest() { + // TODO: test experimentId + } + + /** + * Test the property 'ruleset' + */ + @Test + public void rulesetTest() { + // TODO: test ruleset + } + + /** + * Test the property 'weight' + */ + @Test + public void weightTest() { + // TODO: test weight + } + + /** + * Test the property 'isPrimary' + */ + @Test + public void isPrimaryTest() { + // TODO: test isPrimary + } + +} diff --git a/src/test/java/one/talon/model/InfluencingCampaignDetailsTest.java b/src/test/java/one/talon/model/InfluencingCampaignDetailsTest.java new file mode 100644 index 00000000..6383ded4 --- /dev/null +++ b/src/test/java/one/talon/model/InfluencingCampaignDetailsTest.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 java.math.BigDecimal; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for InfluencingCampaignDetails + */ +public class InfluencingCampaignDetailsTest { + private final InfluencingCampaignDetails model = new InfluencingCampaignDetails(); + + /** + * Model tests for InfluencingCampaignDetails + */ + @Test + public void testInfluencingCampaignDetails() { + // TODO: test InfluencingCampaignDetails + } + + /** + * Test the property 'campaignId' + */ + @Test + public void campaignIdTest() { + // TODO: test campaignId + } + + /** + * Test the property 'discountValue' + */ + @Test + public void discountValueTest() { + // TODO: test discountValue + } + +} diff --git a/src/test/java/one/talon/model/InlineResponse20050Test.java b/src/test/java/one/talon/model/InlineResponse20050Test.java index eea11f28..0e77ccbb 100644 --- a/src/test/java/one/talon/model/InlineResponse20050Test.java +++ b/src/test/java/one/talon/model/InlineResponse20050Test.java @@ -23,7 +23,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import one.talon.model.Achievement; +import one.talon.model.CouponFailureSummary; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; @@ -43,14 +43,6 @@ public void testInlineResponse20050() { // TODO: test InlineResponse20050 } - /** - * Test the property 'hasMore' - */ - @Test - public void hasMoreTest() { - // TODO: test hasMore - } - /** * Test the property 'data' */ diff --git a/src/test/java/one/talon/model/NewCampaignTemplateTest.java b/src/test/java/one/talon/model/NewCampaignTemplateTest.java index 1b8598e5..272ffbd7 100644 --- a/src/test/java/one/talon/model/NewCampaignTemplateTest.java +++ b/src/test/java/one/talon/model/NewCampaignTemplateTest.java @@ -103,6 +103,14 @@ public void tagsTest() { // TODO: test tags } + /** + * Test the property 'reevaluateOnReturn' + */ + @Test + public void reevaluateOnReturnTest() { + // TODO: test reevaluateOnReturn + } + /** * Test the property 'features' */ diff --git a/src/test/java/one/talon/model/NewCampaignTest.java b/src/test/java/one/talon/model/NewCampaignTest.java index 7dd72361..32e94a2d 100644 --- a/src/test/java/one/talon/model/NewCampaignTest.java +++ b/src/test/java/one/talon/model/NewCampaignTest.java @@ -109,6 +109,14 @@ public void tagsTest() { // TODO: test tags } + /** + * Test the property 'reevaluateOnReturn' + */ + @Test + public void reevaluateOnReturnTest() { + // TODO: test reevaluateOnReturn + } + /** * Test the property 'features' */ diff --git a/src/test/java/one/talon/model/NewCollectionsCatalogTest.java b/src/test/java/one/talon/model/NewCollectionsCatalogTest.java new file mode 100644 index 00000000..19f60a4b --- /dev/null +++ b/src/test/java/one/talon/model/NewCollectionsCatalogTest.java @@ -0,0 +1,87 @@ +/* + * 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.CartItemFilterTemplate; +import one.talon.model.CatalogRule; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for NewCollectionsCatalog + */ +public class NewCollectionsCatalogTest { + private final NewCollectionsCatalog model = new NewCollectionsCatalog(); + + /** + * Model tests for NewCollectionsCatalog + */ + @Test + public void testNewCollectionsCatalog() { + // TODO: test NewCollectionsCatalog + } + + /** + * 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 'category' + */ + @Test + public void categoryTest() { + // TODO: test category + } + + /** + * Test the property 'rules' + */ + @Test + public void rulesTest() { + // TODO: test rules + } + + /** + * Test the property 'cartItemFilters' + */ + @Test + public void cartItemFiltersTest() { + // TODO: test cartItemFilters + } + +} diff --git a/src/test/java/one/talon/model/NewCouponCreationJobTest.java b/src/test/java/one/talon/model/NewCouponCreationJobTest.java index 888a45d1..0274df50 100644 --- a/src/test/java/one/talon/model/NewCouponCreationJobTest.java +++ b/src/test/java/one/talon/model/NewCouponCreationJobTest.java @@ -107,4 +107,12 @@ public void attributesTest() { // TODO: test attributes } + /** + * Test the property 'isReservationMandatory' + */ + @Test + public void isReservationMandatoryTest() { + // TODO: test isReservationMandatory + } + } diff --git a/src/test/java/one/talon/model/NewCustomerSessionV2Test.java b/src/test/java/one/talon/model/NewCustomerSessionV2Test.java index d4e2c1c5..d3826451 100644 --- a/src/test/java/one/talon/model/NewCustomerSessionV2Test.java +++ b/src/test/java/one/talon/model/NewCustomerSessionV2Test.java @@ -27,6 +27,7 @@ import java.util.Map; import one.talon.model.AdditionalCost; import one.talon.model.CartItem; +import one.talon.model.ExperimentVariantAllocation; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; @@ -110,6 +111,14 @@ public void cartItemsTest() { // TODO: test cartItems } + /** + * Test the property 'experimentVariantAllocations' + */ + @Test + public void experimentVariantAllocationsTest() { + // TODO: test experimentVariantAllocations + } + /** * Test the property 'additionalCosts' */ diff --git a/src/test/java/one/talon/model/NewExperimentTest.java b/src/test/java/one/talon/model/NewExperimentTest.java new file mode 100644 index 00000000..f950bb4c --- /dev/null +++ b/src/test/java/one/talon/model/NewExperimentTest.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 one.talon.model.NewCampaign; +import org.threeten.bp.OffsetDateTime; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for NewExperiment + */ +public class NewExperimentTest { + private final NewExperiment model = new NewExperiment(); + + /** + * Model tests for NewExperiment + */ + @Test + public void testNewExperiment() { + // TODO: test NewExperiment + } + + /** + * Test the property 'isVariantAssignmentExternal' + */ + @Test + public void isVariantAssignmentExternalTest() { + // TODO: test isVariantAssignmentExternal + } + + /** + * Test the property 'activated' + */ + @Test + public void activatedTest() { + // TODO: test activated + } + + /** + * Test the property 'state' + */ + @Test + public void stateTest() { + // TODO: test state + } + + /** + * Test the property 'campaign' + */ + @Test + public void campaignTest() { + // TODO: test campaign + } + +} diff --git a/src/test/java/one/talon/model/NewExperimentVariantArrayTest.java b/src/test/java/one/talon/model/NewExperimentVariantArrayTest.java new file mode 100644 index 00000000..87f63f4d --- /dev/null +++ b/src/test/java/one/talon/model/NewExperimentVariantArrayTest.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.NewExperimentVariant; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for NewExperimentVariantArray + */ +public class NewExperimentVariantArrayTest { + private final NewExperimentVariantArray model = new NewExperimentVariantArray(); + + /** + * Model tests for NewExperimentVariantArray + */ + @Test + public void testNewExperimentVariantArray() { + // TODO: test NewExperimentVariantArray + } + + /** + * Test the property 'variants' + */ + @Test + public void variantsTest() { + // TODO: test variants + } + +} diff --git a/src/test/java/one/talon/model/NewExperimentVariantTest.java b/src/test/java/one/talon/model/NewExperimentVariantTest.java new file mode 100644 index 00000000..f867427c --- /dev/null +++ b/src/test/java/one/talon/model/NewExperimentVariantTest.java @@ -0,0 +1,76 @@ +/* + * 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.NewRuleset; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for NewExperimentVariant + */ +public class NewExperimentVariantTest { + private final NewExperimentVariant model = new NewExperimentVariant(); + + /** + * Model tests for NewExperimentVariant + */ + @Test + public void testNewExperimentVariant() { + // TODO: test NewExperimentVariant + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'weight' + */ + @Test + public void weightTest() { + // TODO: test weight + } + + /** + * Test the property 'ruleset' + */ + @Test + public void rulesetTest() { + // TODO: test ruleset + } + + /** + * Test the property 'isPrimary' + */ + @Test + public void isPrimaryTest() { + // TODO: test isPrimary + } + +} diff --git a/src/test/java/one/talon/model/NewRevisionVersionTest.java b/src/test/java/one/talon/model/NewRevisionVersionTest.java index 43b9a671..5d8788e7 100644 --- a/src/test/java/one/talon/model/NewRevisionVersionTest.java +++ b/src/test/java/one/talon/model/NewRevisionVersionTest.java @@ -125,6 +125,14 @@ public void limitsTest() { // TODO: test limits } + /** + * Test the property 'reevaluateOnReturn' + */ + @Test + public void reevaluateOnReturnTest() { + // TODO: test reevaluateOnReturn + } + /** * Test the property 'features' */ diff --git a/src/test/java/one/talon/model/PrismaticFlowConfigTest.java b/src/test/java/one/talon/model/PrismaticFlowConfigTest.java index 542d3545..d34fc11e 100644 --- a/src/test/java/one/talon/model/PrismaticFlowConfigTest.java +++ b/src/test/java/one/talon/model/PrismaticFlowConfigTest.java @@ -48,4 +48,28 @@ public void apiKeyTest() { // TODO: test apiKey } + /** + * Test the property 'workerCount' + */ + @Test + public void workerCountTest() { + // TODO: test workerCount + } + + /** + * Test the property 'maxEventsPerMessage' + */ + @Test + public void maxEventsPerMessageTest() { + // TODO: test maxEventsPerMessage + } + + /** + * Test the property 'maxRetries' + */ + @Test + public void maxRetriesTest() { + // TODO: test maxRetries + } + } diff --git a/src/test/java/one/talon/model/RevisionVersionTest.java b/src/test/java/one/talon/model/RevisionVersionTest.java index 639bcab6..1bcaae5f 100644 --- a/src/test/java/one/talon/model/RevisionVersionTest.java +++ b/src/test/java/one/talon/model/RevisionVersionTest.java @@ -189,6 +189,14 @@ public void limitsTest() { // TODO: test limits } + /** + * Test the property 'reevaluateOnReturn' + */ + @Test + public void reevaluateOnReturnTest() { + // TODO: test reevaluateOnReturn + } + /** * Test the property 'features' */ diff --git a/src/test/java/one/talon/model/UpdateCampaignTemplateTest.java b/src/test/java/one/talon/model/UpdateCampaignTemplateTest.java index 27e1d70c..2ffcf658 100644 --- a/src/test/java/one/talon/model/UpdateCampaignTemplateTest.java +++ b/src/test/java/one/talon/model/UpdateCampaignTemplateTest.java @@ -111,6 +111,14 @@ public void tagsTest() { // TODO: test tags } + /** + * Test the property 'reevaluateOnReturn' + */ + @Test + public void reevaluateOnReturnTest() { + // TODO: test reevaluateOnReturn + } + /** * Test the property 'features' */ diff --git a/src/test/java/one/talon/model/UpdateCampaignTest.java b/src/test/java/one/talon/model/UpdateCampaignTest.java index 193ebcea..b0c2f6ad 100644 --- a/src/test/java/one/talon/model/UpdateCampaignTest.java +++ b/src/test/java/one/talon/model/UpdateCampaignTest.java @@ -109,6 +109,14 @@ public void tagsTest() { // TODO: test tags } + /** + * Test the property 'reevaluateOnReturn' + */ + @Test + public void reevaluateOnReturnTest() { + // TODO: test reevaluateOnReturn + } + /** * Test the property 'features' */ diff --git a/src/test/java/one/talon/model/UpdateCollectionsCatalogTest.java b/src/test/java/one/talon/model/UpdateCollectionsCatalogTest.java new file mode 100644 index 00000000..2eae2d8e --- /dev/null +++ b/src/test/java/one/talon/model/UpdateCollectionsCatalogTest.java @@ -0,0 +1,87 @@ +/* + * 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.CartItemFilterTemplate; +import one.talon.model.CatalogRule; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for UpdateCollectionsCatalog + */ +public class UpdateCollectionsCatalogTest { + private final UpdateCollectionsCatalog model = new UpdateCollectionsCatalog(); + + /** + * Model tests for UpdateCollectionsCatalog + */ + @Test + public void testUpdateCollectionsCatalog() { + // TODO: test UpdateCollectionsCatalog + } + + /** + * 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 'category' + */ + @Test + public void categoryTest() { + // TODO: test category + } + + /** + * Test the property 'rules' + */ + @Test + public void rulesTest() { + // TODO: test rules + } + + /** + * Test the property 'cartItemFilters' + */ + @Test + public void cartItemFiltersTest() { + // TODO: test cartItemFilters + } + +} diff --git a/src/test/java/one/talon/model/UpdateExperimentTest.java b/src/test/java/one/talon/model/UpdateExperimentTest.java new file mode 100644 index 00000000..e4a3bb6d --- /dev/null +++ b/src/test/java/one/talon/model/UpdateExperimentTest.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 one.talon.model.UpdateCampaign; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for UpdateExperiment + */ +public class UpdateExperimentTest { + private final UpdateExperiment model = new UpdateExperiment(); + + /** + * Model tests for UpdateExperiment + */ + @Test + public void testUpdateExperiment() { + // TODO: test UpdateExperiment + } + + /** + * Test the property 'isVariantAssignmentExternal' + */ + @Test + public void isVariantAssignmentExternalTest() { + // TODO: test isVariantAssignmentExternal + } + + /** + * Test the property 'campaign' + */ + @Test + public void campaignTest() { + // TODO: test campaign + } + +} diff --git a/src/test/java/one/talon/model/UpdateExperimentVariantArrayTest.java b/src/test/java/one/talon/model/UpdateExperimentVariantArrayTest.java new file mode 100644 index 00000000..e3c02d38 --- /dev/null +++ b/src/test/java/one/talon/model/UpdateExperimentVariantArrayTest.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.UpdateExperimentVariant; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for UpdateExperimentVariantArray + */ +public class UpdateExperimentVariantArrayTest { + private final UpdateExperimentVariantArray model = new UpdateExperimentVariantArray(); + + /** + * Model tests for UpdateExperimentVariantArray + */ + @Test + public void testUpdateExperimentVariantArray() { + // TODO: test UpdateExperimentVariantArray + } + + /** + * Test the property 'variants' + */ + @Test + public void variantsTest() { + // TODO: test variants + } + +} diff --git a/src/test/java/one/talon/model/UpdateExperimentVariantTest.java b/src/test/java/one/talon/model/UpdateExperimentVariantTest.java new file mode 100644 index 00000000..597ea56c --- /dev/null +++ b/src/test/java/one/talon/model/UpdateExperimentVariantTest.java @@ -0,0 +1,76 @@ +/* + * 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.NewRuleset; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for UpdateExperimentVariant + */ +public class UpdateExperimentVariantTest { + private final UpdateExperimentVariant model = new UpdateExperimentVariant(); + + /** + * Model tests for UpdateExperimentVariant + */ + @Test + public void testUpdateExperimentVariant() { + // TODO: test UpdateExperimentVariant + } + + /** + * 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 'ruleset' + */ + @Test + public void rulesetTest() { + // TODO: test ruleset + } + + /** + * Test the property 'weight' + */ + @Test + public void weightTest() { + // TODO: test weight + } + +}